Stop debugging webhooks blind. I built a tap that shows you the raw bytes
Description and use
Webhook-tap lets you view raw HTTP requests from webhooks, including headers and body, while redacting sensitive data and simplifying debugging.
Problem
Debugging webhook payloads is difficult because logs often lack raw request details, making it hard to verify headers, body shape, and delivery.
Outcome
Webhook-tap provides a local, secure, and transparent way to inspect raw webhook requests, eliminating guesswork and enabling accurate debugging without exposing payloads to third parties.
Workflow
- Clone the repository:
git clone https://github.com/hahahahahahahahah6/webhook-tap - Navigate into the directory:
cd webhook-tap - Run the tap:
./webhook_tap.py(listens on http://127.0.0.1:8901/) - Configure your webhook provider to point to
http://localhost:8901/hook - Trigger a test event from the provider
- Observe the terminal output showing method, headers, and body
- Optionally use
--log-file requests.logto append requests as JSONL for replay
Evidence
I built webhook-tap: point the callback URL at http://localhost:8901/hook and watch exactly what arrives — method, path, headers, body — in your terminal.
authorization, cookie, and proxy-authorization headers are always redacted — safe to paste output into Slack or a GitHub issue.
Binds 127.0.0.1 only. An open request inspector on a public interface would leak your webhook payloads; if an external service needs to reach it, put an SSH tunnel in front instead.
Every request gets a 200 {"ok": true} ack so providers don't retry while you're inspecting.
--log-file requests.log appends each request as JSONL for later replay; JSON bodies are pretty-printed; bodies over 64KB are truncated and flagged.
- Record date: 2026-10-01T18:56:08.925Z