GitHub signs every webhook delivery with an HMAC-SHA256 signature in theDocumentation Index
Fetch the complete documentation index at: https://supahooks.ar27111994.dev/llms.txt
Use this file to discover all available pages before exploring further.
X-Hub-Signature-256 header. Use the Webhook Debugger to confirm your webhook secret is correct, inspect individual push, pull request, and deployment events, and replay a specific delivery to staging without waiting for the next real trigger.
Configure the actor for GitHub
Start the actor with the following input. Replacereplace_with_github_webhook_secret with the secret you set in GitHub’s webhook settings.
X-Hub-Signature-256 header with a required sha256= prefix. The actor verifies the signature against the preserved raw request body, so the result stays valid even when enableJSONParsing is enabled.
After the actor starts, call /info to retrieve the generated webhook URL.
Point your GitHub webhook at the generated URL
Open webhook settings
For a repository webhook, go to Settings → Webhooks → Add webhook. For a GitHub App, go to Developer settings → GitHub Apps → your app → Edit → Webhook.
Paste the endpoint URL
Copy the
/webhook/:id URL from /info and paste it into the Payload URL field.Add the secret
Paste your webhook secret into the Secret field and copy the same value into
signatureVerification.secret in the actor input.Inspect push, PR, and deployment events
After GitHub delivers a webhook, query/logs to see what was captured. Filter by the X-GitHub-Event header to isolate a specific event type:
signatureValid: true confirms the actor verified X-Hub-Signature-256 against your secret.
To check for signature failures:
Debug CI callback failures with replay
If a CI or deployment callback reached the actor but failed downstream, check/system/metrics for forwarding error details. Once you fix the downstream target, replay the original captured delivery to staging:
Common failure patterns
| Signal | What it usually means | What to do |
|---|---|---|
signatureValid=false | Wrong webhook secret or missing sha256= prefix in the incoming header | Re-check the GitHub webhook secret and inspect the captured raw request |
Missing expected action field | The event type doesn’t include the payload shape your workflow assumed | Filter by headers.x-github-event first, then inspect the parsed body for that event family |
| Forwarding failures | GitHub reached the actor but forwarding to your staging bridge failed later | Fix the downstream target, then replay the original delivery by log ID |