
Webhooks that don’t
silently fail.
Ingest every event. Store it durably. Forward it anywhere. Retry on failure. Replay with one click.
0 events delivered in the last hour
live event flow streaming
stripe.com→api.acme.com2s agogithub.com→archive.s34s agoshopify.com→#slack-alertsHTTP 5036s agostripe.com→#slack-alerts9s ago01 / ingest
Every event, stored raw
One ingest URL per source. Body, headers, signature, timestamp — kept in Postgres for your retention window. Replay any event, any time.
02 / retry
Exponential backoff, no babysitting
10s, 30s, 2m, 10m, 1h, 6h. Failed deliveries retry on their own; exhausted ones stay visible for one-click replay.
03 / transform
AI-compiled filters and rewrites
Describe a filter or payload reshape in one sentence; it compiles to JS that runs in a QuickJS sandbox before forwarding.
point a webhook at your source URLreceived in < 80ms
$ curl https://odyhook.dev/api/ingest/src_8f2a91b3 \
-H "stripe-signature: t=1738094412,v1=..." \
-H "content-type: application/json" \
-d @event.json
→ evt_01HVQ9G7XK stripe.com → api.acme.com delivered 42ms