Skip to main content
GitHub signs every webhook delivery with an HMAC-SHA256 signature in the 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. Replace replace_with_github_webhook_secret with the secret you set in GitHub’s webhook settings.
GitHub verification uses the 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

1

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.
2

Paste the endpoint URL

Copy the /webhook/:id URL from /info and paste it into the Payload URL field.
3

Set the content type

Set Content type to application/json.
4

Add the secret

Paste your webhook secret into the Secret field and copy the same value into signatureVerification.secret in the actor input.
5

Select events

Choose which events to send — Just the push event, Send me everything, or a custom selection that matches your CI workflow.

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:
Look up a specific delivery by the ID GitHub shows in the webhook delivery history:
A captured push event looks like this:
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:
The replay uses the original captured method and payload, so your staging handler receives the same delivery GitHub originally sent.
Use responseDelayMs in the actor input or append ?__status=500 to the webhook URL to simulate failure responses and test your CI error-handling paths before production changes.

Common failure patterns