Skip to main content

GitHub Integration

Dispatch provides a first-class GitHub integration that automatically creates webhook endpoints for your repositories.

Connecting GitHub

  1. Navigate to your project's Sources page
  2. Click Connect GitHub
  3. Authorize the Dispatch GitHub app
  4. Select a repository
  5. Choose which events to receive (see Event Selection below)

Dispatch will:

  • Create a webhook endpoint with provider = "github"
  • Register a webhook on the selected GitHub repository pointing to your Dispatch endpoint
  • Configure the endpoint to receive the selected event types

Event Selection

When connecting a GitHub repository, choose one of three modes:

ModeDescription
Push onlyReceive only push events (commits). Lightweight option for CI/CD notifications.
All eventsReceive every event type GitHub can send for the repository.
CustomPick specific event types from a grouped list. Organized by category: Code, Pull Requests, Issues, Discussions, Releases, Actions, and more.

You can change the event selection at any time by disconnecting and reconnecting the repository, or by editing the webhook in GitHub directly.

Supported GitHub Events

GitHub sends events via the X-GitHub-Event header. Dispatch auto-formats the following event types into rich Discord embeds:

EventDescription
pushCommits pushed to a branch
pull_requestPR opened, closed, merged, labeled, etc.
issuesIssue opened, closed, assigned, labeled, etc.
issue_commentComment on an issue or PR
releaseRelease published, created, edited
createBranch or tag created
deleteBranch or tag deleted
forkRepository forked
starRepository starred
workflow_runGitHub Actions workflow completed
workflow_jobGitHub Actions job status change
check_runCheck run completed
check_suiteCheck suite completed
deploymentDeployment created
deployment_statusDeployment status updated
pingWebhook connectivity test

Signature Verification

GitHub webhooks use the X-Hub-Signature-256 header with HMAC-SHA256. Dispatch automatically verifies this signature using the endpoint's signing secret, which is set as the webhook secret on the GitHub side.

Auto-Formatted Embeds

When no custom template is assigned, Dispatch auto-detects GitHub payloads (by the presence of repository and sender fields) and generates specialized embeds:

Push Events

  • Shows branch, commit count, and commit messages
  • Links to the compare view
  • Color-coded by branch (green for main/master)

Pull Request Events

  • Shows PR title, description, status, and labels
  • Includes reviewer information
  • Color-coded by action (green for opened, purple for merged, red for closed)

Issue Events

  • Shows issue title, body, assignees, and labels
  • Color-coded by action

Release Events

  • Shows release name, tag, and description
  • Links to the release page

Disconnecting

To disconnect a GitHub repository:

  1. Go to Sources and find the GitHub endpoint
  2. Click Disconnect
  3. This removes the webhook from GitHub and deactivates the endpoint

You can also disconnect all GitHub connections from the project integration settings.