← All posts

Introducing Hookie

· The Hookie team

Webhooks are deceptively simple. Accepting a POST is easy; running webhooks in production is not. You need idempotency so retries don’t double-count, a durable record of what arrived, routing that survives schema changes, signed outbound delivery with retries and a dead-letter queue, and a way to watch it all happen live. Hookie is that pipeline, and it runs entirely on Cloudflare.

Ingest anything

Point any producer — a browser form, a server event, a database change row — at a write-only ingest key. Every payload is stored verbatim first, so a later routing change never loses data. Send an Idempotency-Key and retries are free.

Route with rules, not tables

Instead of a physical table per webhook, Hookie routes each payload into a logical dataset using per-tenant rules that map JSON paths to fields. One generic store, no runtime DDL, no migrations when you add an integration.

Deliver reliably

Outbound deliveries are HMAC-signed, retried with backoff, dead-lettered when they exhaust, and replayable with one click. Prefer to pull? Tail the live stream over SSE or WebSocket, with resume.

Multi-tenant from day one

Every row is tenant-scoped, sign-in supports email, magic link, and Google Workspace SSO, and there’s a free tier to start. When you outgrow it, Standard is a flat $7.99/mo.

Ready to wire up your first webhook? Read the quickstart.