Webhook Guides
GitHub Webhook Gateway
GitHub webhooks trigger CI workflows, deployment automation, issue routing, pull request checks, release notifications, and internal developer tools. A webhook gateway keeps those events traceable when receivers fail or teams need to fan out the same repository signal.
FastHook receives signed GitHub deliveries, stores request and event evidence, routes push and pull_request events to the right destinations, and keeps retry/replay history close to the delivery logs.
GitHub webhook events
One GitHub webhook can send many event families. FastHook lets you route by provider headers, event type, repository, branch, action, or payload fields without putting all routing logic inside one receiver.
- Route push events by branch or repository.
- Route pull_request events by action, base branch, or label.
- Send workflow_run failures to Slack.
- Write selected releases or deployments to a spreadsheet audit trail.
Signature verification
FastHook verifies x-hub-signature-256 with the GitHub webhook secret before the request is accepted and routed.
Route push and pull_request events
| GitHub signal | Routing input | Destination |
|---|---|---|
| push | x-github-event plus ref | CI, deployment, or audit receiver |
| pull_request | action and base branch | Review workflow or Slack |
| workflow_run | conclusion and workflow name | Incident or release channel |
| release | action and tag_name | Deployment log or Google Sheets |
Send GitHub webhooks to Slack
Slack works well for repository events that need attention: failed workflows, opened pull requests, production deployments, or release events. Keep message templates compact and link back to GitHub.
Send GitHub webhooks to Google Sheets
Google Sheets is useful for lightweight release logs, deployment history, support handoffs, or non-engineering visibility into repository events.
Replay and retry failed deliveries
GitHub may show a successful delivery to the FastHook source while a downstream destination fails later. FastHook attempt logs show the response and let operators retry the failed branch after the receiver is fixed.
Troubleshooting
- No request arrived: check the GitHub Payload URL and repository or organization webhook settings.
- Signature failed: compare the GitHub secret with the FastHook source secret.
- Wrong branch routed: inspect ref, base.ref, and connection filters.
- Duplicate event: use x-github-delivery as an idempotency signal.
- Destination failed: read the latest attempt response before retrying.
GitHub webhook gateway FAQ
Can FastHook route push and pull_request events differently?
Yes. Use headers and payload fields in separate connection filters.
Can GitHub webhooks be sent to Slack?
Yes. Route selected GitHub events to a Slack destination with templates and retry logs.
What should I use for deduplication?
Use x-github-delivery and event-specific ids near the receiver that creates side effects.