All posts

Dispatch vs Hookdeck: which webhook platform fits your team?

Evan6 min read

comparisonswebhookshookdeck

If you're evaluating webhook infrastructure in 2026, Hookdeck is probably on your shortlist — deservedly. It's a mature, well-run platform. Dispatch overlaps with it on a lot of the pipeline, and if you squint at both landing pages you might think they're the same product.

They're not, and the difference isn't a feature checkbox — it's where your events are supposed to end up. This post is the comparison we'd want to read: what's genuinely the same, where Hookdeck is stronger, where Dispatch is different in kind, and an honest "pick them, not us" section.

Everything here about Hookdeck was verified against their public docs and pricing on July 27, 2026. If we got something wrong or it's gone stale, tell us and we'll fix it.

The same spine

Both products implement the same core pipeline, and both do it well:

  • Receive webhooks at a stable URL, with per-provider signature verification.
  • Filter events by payload or header conditions before they go anywhere.
  • Transform payloads before delivery.
  • Deliver with automatic retries and backoff, and replay from a dashboard.
  • Tunnel to localhost for development — hookdeck listen and dispatch listen are siblings; both market themselves as the ngrok replacement for webhook work.

If your evaluation stops at that list, you'd be well served by either. The differences start at the edges of the pipeline.

Where events terminate

Hookdeck's Event Gateway supports exactly three destination types: an HTTP endpoint, their CLI tunnel, and a mock API for testing. Their separate outbound product, Outpost — open source, Apache 2.0 — adds queue and bus destinations: AWS SQS, RabbitMQ, Google Pub/Sub, EventBridge, and Kafka. The consistent theme: events terminate in software you operate.

Dispatch delivers to generic HTTP endpoints and a CLI tunnel too — but its native destinations are chat platforms: Discord (rich embeds), Slack (Block Kit), Telegram (native HTML), Google Chat, and Webex, each with per-platform message templates and a live preview in the editor. The theme: events terminate in front of people.

One nuance worth being precise about, because Discord and Slack do appear in Hookdeck's product: they're available there as alert channels for Hookdeck's own system notifications — delivery-failure "Issues" can ping a Slack, Discord, or Microsoft Teams channel. What they aren't is a destination for your webhook events themselves. There's no mechanism to forward a Stripe event to Discord as a formatted embed. For Telegram, Google Chat, and Webex, we found no documented Hookdeck integration at all.

DestinationHookdeck (Event Gateway / Outpost)Dispatch
Generic HTTP endpointyesyes
Local CLI tunnelyesyes
Queues and buses (SQS, Kafka, Pub/Sub, EventBridge, RabbitMQ)yes, via Outpostno
Discordsystem alerts onlyformatted embeds
Slacksystem alerts onlyBlock Kit messages
Telegram / Google Chat / Webexnonative formatting

Filters, transforms, and how they're shaped

Transforms. Hookdeck transformations are JavaScript (ES6) running in a sandboxed V8 isolate — 1-second execution limit, 5 MB of code, no IO or network, no async. That's real power: arbitrary code can reshape anything. Dispatch transforms are JSONata expressions — a declarative query language rather than a program. You give up Turing-completeness; you get transforms that can't loop forever, are readable at a glance in a dashboard diff, and fail open (on error, the original payload is delivered rather than nothing). We recently wrote about what it takes to safely run tenant code on shared infrastructure — choosing a declarative language for transforms is how we avoided fighting that battle twice.

Filters. Hookdeck filters are rules attached to a connection, defined inline on that connection. Dispatch filters are named, project-level objects: define "production payments over $100" once, attach it to any number of endpoint-destination links and routing rules, edit it in one place. If you route the same event stream to several destinations with shared conditions, that reuse compounds.

Routing. Both products route conditionally. Dispatch's routing rules are per-link and can override the template, transform, custom headers, delivery delay, and (for Discord) the target thread per rule — because when your destination is a chat channel, how the message looks is part of routing, not an afterthought.

Sources

Hookdeck advertises 160+ pre-configured source types: pick "Stripe," and signature verification is configured for you. It's a genuinely broad catalog.

Dispatch's source list is smaller but goes a step further for the providers it covers: OAuth auto-registration. Connect GitHub, GitLab, Bitbucket, Slack, Jira, Linear — or Patreon, Supabase, PostHog, Twitch, YouTube — with a click, and Dispatch registers the webhook on the provider's side: no copying URLs, no pasting signing secrets into two dashboards. Providers that don't support OAuth registration, Stripe among them, get a guided manual setup instead. There's also a Salesforce unlocked package, which as far as we know no webhook platform matches.

Pricing

Numbers verified July 27, 2026 — always check both pricing pages for current figures.

Hookdeck Event GatewayDispatch
FreeDeveloper — $0, 10,000 events/mo, 3-day retention, 1 userFree — $0, 10,000 events/mo, 3-day retention, 2 members
Entry tierTeam, from $39/mo — 10,000 events included, additional events meteredTeam, $39/mo — 50,000 events included flat
Mid tierGrowth, from $499/mo — 10,000 events included, metered beyond, 30-day retentionGrowth, $399/mo — 500,000 events included flat, 30-day retention
Overage modelPay-as-you-go metering (see their pricing page for current rates)$0.03 per 1,000 events over the included quota

Yes, Hookdeck's Growth tier includes the same 10,000 events as its $39 tier — their higher tiers buy retention, seats, and features, with usage metered past the same included base. That's not a knock; it's a different model, and it's the first structural difference worth understanding.

The second structural difference: fan-out counts as one event on Dispatch — a webhook delivered to your Discord server, your Slack channel, and a downstream HTTP endpoint is billed once, not three times. If your whole reason for using a webhook router is sending events to several places, that multiplier is your bill.

Where Hookdeck is genuinely stronger

No straw-manning — if these describe you, Hookdeck is the better tool today:

  • Your events terminate in queues. Outpost's SQS/Kafka/Pub/Sub/EventBridge/RabbitMQ destinations have no Dispatch equivalent.
  • You want self-hosted, open-source outbound delivery. Outpost is Apache 2.0 and runs as a Go binary or Docker image. Dispatch is hosted-only.
  • Enterprise procurement. Hookdeck holds its own SOC 2 Type II report and advertises 99.999% uptime. Dispatch runs on SOC 2-certified infrastructure but doesn't yet carry its own audit report, and doesn't offer SSO/SAML today.
  • Infrastructure-as-code. Hookdeck has a Terraform provider; Dispatch doesn't.
  • Very high throughput with backpressure controls. Hookdeck's pacing/queue controls target sustained enterprise-scale ingestion.

Where Dispatch is different in kind

  • Chat-native delivery with real formatting — Discord embeds, Slack Block Kit, Telegram HTML, Google Chat, Webex, driven by per-platform templates with live preview. This is the product's center of gravity, not an integration.
  • OAuth auto-registration of sources — one click and the webhook exists on the provider's side, secret and all.
  • Named, reusable filters shared across links and routing rules.
  • Fan-out billed once, and flat tiers whose included quota is the tier's actual capacity rather than a fixed base with metering beyond it.
  • AI-powered event search over your event history, and an MCP server so AI assistants can operate your webhook setup directly.

So which one?

Pick Hookdeck when webhooks are plumbing between systems — events land in your services, your queues, your warehouse pipelines, and the people who care about them are the engineers operating that machinery.

Pick Dispatch when webhooks are signals for people — a payment should appear in #revenue as a readable card, a failed deploy should ping the on-call channel formatted for the platform it lands in, and the folks consuming events include teammates who will never open an infrastructure dashboard.

Plenty of teams are honestly in the first camp. If you're in the second, that's the exact gap Dispatch exists to fill — the free tier is 10,000 events a month, and connecting your first source takes about a minute.

Dispatch receives webhooks from the tools your team already uses, verifies and filters them, and delivers them to Discord, Slack, Telegram, and more — with retries, replay, and full delivery history.