Open issues, review and merge pull requests, commit files and dispatch Actions workflows from any Windmill script, flow or app.
What you can do with GitHub
Complete, deployable projects built around GitHub — the fastest way to get something real running.
Github release dashboard
Browse a repo's latest releases
Support automation
AI support triage with a human approval gate: classify, analyze, draft the reply, dispatch clear-cut fixes in parallel.
Github release digest
Browse a repo's latest releases
Content engine
Content engine
Support engine
Drafts replies to your support inbox into Gmail drafts, ready for you to send.
Sales engine
Finds leads matching your ICP, drafts an email to the ones worth writing to, and leaves them in Gmail drafts.
Sentry engine
Investigates recurring production errors and opens a pull request with the diagnosis, and the fix when it is sure.
Newsletter engine
Draft a newsletter on Resend based on recent changelogs
Set up in 2 steps
Connect from the Resources page
Open Resources, click Add a resource/API and pick github from the OAuth APIs list. Click Connect, allow access in the window that opens, then name the resource and save it. Windmill asks GitHub for the repo and workflow scopes; tick gist for the gist scripts, read:project or project for the Projects scripts, or read:org to see private organization memberships.
Run your first script
Fork any script below and run it against one of your repositories.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Update Pull Request
Update Project Item Status
Update Issue
Update Gist
Sync Fork Branch with Upstream
Star Repository
Search Issues and Pull Requests
Re-run Failed Jobs
Merge Pull Request
List Workflows
List Workflow Runs
List Repository Labels
List Repository Collaborators
List Repositories
List Releases
List Pull Requests
List Projects
List Project Statuses
List Project Items
List Organizations
List Organization Repositories
List Milestones
List Issues
List Issue Comments
List Gists
List Commits
List Branches
Get Workflow Run
Get Reviewers
Get Repository Content
Flows
Multi-step workflows that already wire GitHub to something else.
Trigger flows from GitHub
GitHub is not only a destination. These inbound paths are supported today.
GitHub events (native GitHub trigger)
Connect GitHub once under Workspace settings > Integrations, then add a GitHub trigger on a script or flow, pick a repository and the events to listen to (push, pull_request, issues, release, star, workflow_run and more). Windmill creates the repository webhook for you, which needs admin rights on the repository, and starts a run with the event name and payload on every delivery. Fork the GitHub native trigger template script to get started.
Webhooks you manage yourself
To use a webhook you configured by hand (an organization webhook, say), point it at a flow's webhook URL and verify the X-Hub-Signature-256 header against your webhook secret.
Resource types
The credential shapes the scripts on this page expect — pick the one your script asks for.
github
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| token | string | Yes |
github_app
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| app_id | string | Yes | |
| private_key | string | Yes | |
| installation_id | string | No |
Questions
OAuth or a personal access token?
OAuth is one click and the token it stores does not expire. Reach for a personal access token when you script the setup, when you want a token scoped to fewer repositories, or when your instance has no OAuth client configured.
Classic or fine-grained token?
Either works. Fine-grained tokens are scoped per repository and expire.
There is no Connect button on my instance
Self-hosted instances need an OAuth client configured once by an admin before the tile appears. Until then, use the token.