No signup required

Test GitHub Webhooks Without Guessing What GitHub Sent

Paste a Catchhook URL into your repo settings. Catchhook reads X-GitHub-Event and X-GitHub-Delivery automatically, and extracts the action field when the payload is parseable JSON — so you see the important context before opening the raw payload.

Your GitHub Test Endpoint

GitHub events detected automatically
Expires in2 days
npx @catchhook/tunnel ep_Y2Rda8wNOLX8sxl9Olg3Vemn --key tkey_39f1bb98775649a02049c930fbbaf71f --port 3000
Test Your Endpoint
curl -X POST https://temp.catchhook.app/hooks/ep_Y2Rda8wNOLX8sxl9Olg3Vemn \
  -H "Content-Type: application/json" \
  -H "X-GitHub-Event: pull_request" \
  -H "X-GitHub-Delivery: test-delivery-123" \
  -d '{
  "action": "opened",
  "pull_request": {
    "id": 123,
    "number": 42,
    "title": "Add webhook debugging",
    "state": "open"
  },
  "repository": {
    "full_name": "acme/example"
  }
}'

Or

to see it appear in real time below.

Live Webhook Requests

Watch requests stream in automatically with full headers, payloads, and timestamps.

Streaming Live

Updates automatically

Waiting for your first webhook...

Send a test request using the cURL command above or configure GitHub to use your endpoint URL.

How to test GitHub webhooks with Catchhook

Follow these steps to start receiving GitHub events on your temporary endpoint.

1

Create your temporary endpoint

Copy the URL above.

2

Add it to GitHub

In GitHub, open your repository, go to Settings → Webhooks → Add webhook. Paste your Catchhook URL as the Payload URL. Set Content type to application/json. Secret is optional for initial testing. Choose individual events to receive.

push pull_request workflow_run issues release
3

Send a test delivery

Use GitHub's "Recent Deliveries" test/redeliver controls or trigger a real repo event like opening a pull request, pushing a branch, or creating an issue.

4

Inspect the full delivery

Catchhook reads X-GitHub-Event and X-GitHub-Delivery for you. You see the event type, action, repository, and actor at the top of every request card. The full JSON payload is one click below.

5

Tunnel to localhost

Run the Catchhook tunnel command to stream GitHub deliveries to your local app while keeping a debug history in the browser.

Best GitHub events to test

Pull request events

  • PR notifications
  • CI automation
  • review workflows
  • internal tooling
X-GitHub-Event: pull_request

Push events

  • deploy triggers
  • changelog automation
  • repo sync jobs
X-GitHub-Event: push

Issues events

  • support workflows
  • triage automation
  • project management integrations
X-GitHub-Event: issues

Workflow run events

  • CI monitoring
  • release checks
  • build status dashboards
X-GitHub-Event: workflow_run

Common GitHub webhook problems this helps debug

Catchhook helps you diagnose these issues before they reach production.

GitHub says delivery failed

Catchhook helps see:

  • whether the request arrived
  • response status
  • payload body
  • headers
  • timestamps

I am manually parsing X-GitHub-Event and the action field

Catchhook extracts these automatically and shows them at the top of every request card:

  • X-GitHub-Event
  • X-GitHub-Delivery
  • action
  • repository.full_name

I need to replay a GitHub event

GitHub can redeliver recent deliveries, but Catchhook gives you a visible request history and a path to replay or forward captured events as part of your debugging workflow.

My local app is not reachable

Use Catchhook as the public endpoint, then start the CLI tunnel to stream deliveries to your local server.

What you get for free

Free / no signup

  • temporary GitHub webhook URL
  • live delivery inspection
  • full headers and JSON payload
  • GitHub event header visibility
  • automatic event type and action detection
  • response capture (see exactly what was returned)
  • cURL test payload
  • localhost tunnel command
  • short-lived request history

Signup / free trial

  • save endpoint
  • replay captured deliveries
  • longer retention
  • conditional Endpoint Actions
  • team debugging
  • alerts
  • AI summaries / generated handler code
  • MCP server for AI editors (Claude, Cursor, Windsurf)

Webhook testing with localhost tunneling

Catchhook pairs a public endpoint with automatic GitHub event detection, delivery history, signature verification, and a CLI tunnel for localhost delivery. You can see what GitHub sent even when your local app is offline or returns an error.

When to create a permanent endpoint

Use a temporary endpoint while experimenting with a repo. Create a permanent endpoint when the webhook powers an app, notification system, automation, or production workflow.

Save This GitHub Endpoint

Frequently Asked Questions

Ready for Production Webhooks?

Plans start at $10/month with a 14-day free trial. No credit card required.

Conditional Endpoint Actions, CSV/JSON export, custom domains, outbound webhooks, AI debugging, and a full REST API.