Two engineers, hundreds of mismatched payloads, and one too many GitHub repos wired up by hand. So we built Dispatch.
Third-party services rarely document their webhook payloads perfectly. Running Fastify with Zod validation, we'd get runtime schema failures because the actual payload didn't match what the docs described — with no way to see what we actually received.
Routing events to the right audience meant a separate webhook per destination — one for the dev channel, another for QA. Add an event type or swap a URL and you're updating each one individually.
Every new GitHub repo meant the same setup: create a webhook, configure events, paste in a URL. Change which events you're watching later and you're back doing it repo by repo.
Dispatch stores every raw incoming payload. When something breaks downstream, you open the event and inspect the exact shape you received — fix your schema against reality, not outdated docs.
Fan out a single webhook to multiple destinations with routing rules — dev channel for commits, QA channel for issues, all from one endpoint. Per-endpoint filters drop events you don't care about before they ever reach a destination.
Connect GitHub once via OAuth and manage every repo webhook from the dashboard. Per-destination templates give you full control over what shows up in Discord or Slack — no more relying on defaults.
Principles
Every event delivered, verified, and logged. Retries with exponential backoff and a dead-letter queue so nothing slips through.
Real-time event logs, delivery status, and latency one click away — not buried in infrastructure you have to babysit.
Connect Discord or Slack in one click. Need more? API, JSONata transforms, routing rules. Both paths share one dashboard.
The team
Get started for free — no credit card required.