Webhooks and forms, received and delivered

Every webhook, kept and delivered. Nothing lost.

Give every sender its own URL. Hookie stores each payload whole before a rule runs, files it where you can search it, and forwards it to your services signed, retried and replayable when they were down. Stripe, GitHub, a contact form or a bash script: anything that can POST.

Free plan · No credit card · Pro $9.99/mo when you need production volume

Prefer a terminal, or an AI agent? hookie manages your account and projects with everything the console can do. See the CLI, or let an agent sign itself up.

Ingest
Route
Deliver201
POST /acme/growth/leads
{ "email": "[email protected]", "plan": "pro" }
201 Created
{ "routed": ["leads"], "records": 1 }
Start in minutes

From sign-up to your first stored event

  1. Create an endpoint

    Sign up free and create a webhook. It gets its own long, unguessable URL; the URL is the credential.

  2. Send it anything

    Paste the URL into Stripe or GitHub, point a form at it, or POST to it from a script.

  3. Route and forward

    Rules file each payload into a dataset you can search, and destinations forward it signed, retried and replayable.

curl -X POST https://app.hookie.ai/<workspace>/<project>/<webhook> \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'
The console

See what changed, what needs you, and why a delivery failed

Home charts events, deliveries and AI runs across every project and lists what needs you. Inside a project, each delivery shows its status, the response your endpoint returned and how many attempts it took; replay one, or every failure in a window. Press / or ⌘K to jump anywhere.

The workspace Home in the Hookie console: a search box for projects, pages and settings; the busiest projects, recently opened pages and this month's usage against the plan; a Needs attention list with one failing destination; and an Analytics grid with events received and deliveries sent over the last 24 hours, each with its change on the previous 24 hours, plus AI runs, the delivery error rate, endpoints and active projects.The workspace Home in the Hookie console: a search box for projects, pages and settings; the busiest projects, recently opened pages and this month's usage against the plan; a Needs attention list with one failing destination; and an Analytics grid with events received and deliveries sent over the last 24 hours, each with its change on the previous 24 hours, plus AI runs, the delivery error rate, endpoints and active projects.
Home: what changed since yesterday, what needs you, and one search box to get anywhere.
The Deliveries tab of a project in the Hookie console: destination health over the last 24 hours (delivered share, attempts OK, p95 latency and failed attempts by cause), an hourly chart of good and failed attempts, and a per-destination table with p50, p95 and p99 latency, with the project's sections grouped as Build, Deliver and Observe in the side navigation.The Deliveries tab of a project in the Hookie console: destination health over the last 24 hours (delivered share, attempts OK, p95 latency and failed attempts by cause), an hourly chart of good and failed attempts, and a per-destination table with p50, p95 and p99 latency, with the project's sections grouped as Build, Deliver and Observe in the side navigation.
Deliveries: which destination is failing, how and how slowly — then every delivery, with replay.
What happens to it

Kept, filed, findable, forwarded

One URL per thing you collect

Each intake gets its own long, unguessable address — and the URL is the credential, so there is no key to rotate and no SDK to install. Add a required signature or an IP allowlist when you want a second lock.

Nothing quietly disappears

Every submission is written down whole the moment it arrives, before a single rule runs — so a routing change you make next month can't retroactively lose what came in today. Send it twice and idempotency hands back the original.

Filed into piles you named

Rules drop each message into a dataset you name — contact_us, uptime_alerts, nps_responses — keeping the whole payload or just the fields you care about. Leave the conditions empty and it catches everything.

Find it again in seconds

Every dataset is a sortable table you can filter by date or search by any text inside the payload — an email address, an error string, an order number. Export to CSV or XLSX when someone wants a spreadsheet.

Then send it where it belongs

Signed outbound webhooks push each new message to any HTTPS endpoint you run — retried with backoff for about a day, dead-lettered if the far side stays down, replayable with one click. Or tail the whole stream live.

Have it read for you

Point an AI trigger at a dataset and every arrival gets handled on the spot — urgency scored on a contact form, severity on an alert, sentiment on a survey answer — with the result written back as its own record.

Multi-step workflows with AI steps, a visual builder, live streams and PostgreSQL sources are on the features page →

Works with

Anything that can POST

Stripe, GitHub and Shopify have step-by-step guides with signature checks; and here is how Hookie compares with Hookdeck, Svix and Formspree.

  • Stripe, GitHub, Shopify and Slackprovider signatures checked before anything is stored
  • Contact, lead and waitlist formsa plain <form method="post">, no JavaScript
  • Uptime, error and CI alertsan incident history that does not scroll away
  • Survey and feedback responsesrows you can sort, filter and export
  • Your scripts, crons and databasescurl, a cron trigger, or a PostgreSQL table polled for new rows
  • AI agentsover the API, the hosted MCP server and the CLI

Stop losing webhooks. Start with one URL.

Free plan, no credit card. Point your contact form at it today; send your alerts tomorrow.

Get a free webhook URL