G
Receive GitHub webhooks on localhost
Whether you're building a GitHub App, an Action, or a bot, you need real delivery payloads on your machine. Pipehero exposes localhost, captures every delivery (even while you're mid-restart), and lets you replay them.
1Install Pipehero and start a tunnel
Install the CLI, log in, then expose your local port. You get a stable public URL like
myapp.t.pipehero.app.curl -fsSL pipehero.app/install | sh pipehero login pipehero start myapp --port 3000
2Add the webhook to your repo or App
In your repository go to Settings → Webhooks → Add webhook (or your GitHub App's settings). Set the Payload URL to your Pipehero URL and Content type to application/json.
https://myapp.t.pipehero.app/webhooks/github
3Set a secret and choose events
Set a webhook Secret and select the events (push, pull_request, issues, …). GitHub uses that secret to sign each delivery.
4Inspect & replay
Every request shows up live in the dashboard (and the local panel at
localhost:4140) with headers and body. Hit Replay to re-send it to your localhost — no need to re-trigger the event at the provider. Requests that arrive while your CLI is offline are captured and can be replayed later.5Verify the signature
GitHub signs the raw body with HMAC-SHA256 (hex) and sends it as `X-Hub-Signature-256: sha256=…`. Add the same secret under Signature verification (GitHub is built-in) to get a ✓/✗ badge on every delivery.
FAQ
Can I replay a delivery to my local handler?
Yes — open the request in Pipehero and hit Replay. It forwards the exact payload and headers to your localhost, so you don't have to re-trigger the event on GitHub.
Does this work for GitHub Apps and Actions?
Yes. Point the App's webhook URL (or an Action that posts to a URL) at your Pipehero endpoint.
Related
Start debugging webhooks in a minute
Free plan, no credit card. Expose localhost, inspect and replay every webhook.
Get started free