Launch special — let's split the check with SPLITCHECK for 50% off

GitHub Webhooks

How to Test GitHub Webhooks Locally (2026)

GitHub webhooks notify your application about repository events like pushes, pull requests, issues, and deployments. GitHub signs webhooks with HMAC-SHA256 using a secret you configure.

Signature Header

X-Hub-Signature-256

Algorithm

HMAC-SHA256

Setup Guide

  1. 1Create a free HookSense endpoint at hooksense.com
  2. 2Copy your unique webhook URL
  3. 3In GitHub → Repository Settings → Webhooks → Add webhook
  4. 4Paste your HookSense URL as the Payload URL
  5. 5Set Content type to application/json
  6. 6Enter a secret and save it — add the same secret to HookSense for HMAC verification
  7. 7Select events or choose 'Send me everything'
  8. 8Push a commit or open a PR to trigger a webhook

Common GitHub Webhook Events

push
pull_request
issues
issue_comment
create
delete
deployment
workflow_run

Forward to Localhost

Use HookSense CLI to forward GitHub webhooks directly to your local development server:

npx hooksense listen -p 3000 --path /api/integrations/github

No ngrok or tunnel setup required. Install with npm i -g hooksense or use npx.

Tips & Best Practices

  • GitHub sends a ping event when you first set up a webhook — use HookSense to verify it arrives
  • Use the X-GitHub-Event header to determine the event type
  • GitHub retries failed deliveries — use HookSense replay to test your retry handling
  • Filter events in HookSense to focus on specific event types during debugging

Related

Start Testing GitHub Webhooks

Create a free endpoint and receive your first GitHub webhook in seconds.

Get Started Free