Skip to main content
GitHub webhooks let agents respond to repository events like issues, pull requests, and pushes.

Filter Fields (all optional)

FieldTypeDescription
reposstring[]Only trigger for these repos
orgsstring[]Only trigger for these organizations
orgstringOnly trigger for this organization (singular form)
eventsstring[]GitHub event types (issues, pull_request, push, etc.)
actionsstring[]Event actions (opened, labeled, closed, etc.)
labelsstring[]Only when issue/PR has these labels
assigneestringOnly when assigned to this user
authorstringOnly for this author
branchesstring[]Only for these branches
conclusionsstring[]Only for workflow_run events with these conclusions (success, failure, cancelled, skipped, timed_out, action_required)

Setup

  1. In your GitHub repo, go to Settings > Webhooks > Add webhook
  2. Set the payload URL to your Action Llama gateway (e.g. https://your-server:8080/webhooks/github)
  3. Set content type to application/json
  4. Set the secret to match the github_webhook_secret credential instance referenced by the webhook source in config.toml
  5. Select the events you want to receive

Using ngrok for Local Development

ngrok http 8080
Use the ngrok URL as your webhook payload URL in GitHub. See Using Webhooks for a full tutorial.

Example Configuration

# In project config.toml
[webhooks.my-github]
type = "github"
credential = "MyOrg"
# In agents/<name>/config.toml
[[webhooks]]
source = "my-github"
repos = ["acme/app"]
events = ["issues"]
actions = ["labeled"]
labels = ["agent"]