Skip to content
Diego Gutierrez edited this page Sep 23, 2026 · 1 revision

Webhook Lab: follow the event, understand the failure

A local webhook debugger built with Python, FastAPI and SQLite. Capture an HTTP event, inspect its original body, and follow manual replay attempts from failure to recovery.

Current scope: a working v0.1 prototype for one user, one inbox and one process. No hosted service or automatic retry queue.

Start here

Your goal Guide
Run the app and capture your first event Getting Started
Reproduce failure, recovery and duplicate delivery Replay and Idempotency
Integrate scripts or change local settings API and Configuration
Understand the design and security boundaries Architecture and Security
Resolve errors or make your first contribution Troubleshooting and Contributing

Try it, then help shape it

  1. Take the 503 → 200 challenge: tell us where the debugging experience becomes confusing.
  2. Discuss duplicate webhooks: share your receiver's idempotency strategy or a tricky crash scenario.
  3. Choose the next feature: explain which improvement would save you time.

Comments in English and Spanish are welcome. ¿Lo probaste? Contanos qué problema te ayudó a entender y qué mejorarías.

What this project demonstrates

  • Persistence before capture acknowledgement.
  • Separation of captured events and delivery attempts.
  • Explicit failure states, stable replay keys and crash-interruption records.
  • Bearer-protected admin endpoints, header redaction and configured replay destinations.
  • Automated tests and a Windows/Linux CI workflow.

Use synthetic payloads: bodies are stored unredacted in a local, unencrypted database. Built-in demo targets simulate HTTP responses in process; the receiver guide covers a real local HTTP connection.

Source and quick start · README en español · Roadmap · MIT license

Created by Diego Gutierrez.