Webhooks that survive the receiver being down.

A webhook is one HTTP POST until the receiver returns 500 at 3 a.m. Without storage, retries, and a replay tool, the event is gone.

Event stored · 202
test
order.completed
evt_8e12c · signed · idempotency order-123
Stored
https://hooks.example.com/orders
Delivery attempts
Persisted before any endpoint is called. Your request already returned HTTP 202.
How Flowyn handles it

What you get instead of building it.

Stored first

POST /v1/events returns 202 once the event is persisted. Delivery happens after your request completes.

Retried within a policy

Failed attempts back off and retry, up to 8 attempts. Each attempt is recorded.

Replayable

Any event can be delivered again without erasing history.

Grouped when it keeps failing

Repeated failures to the same destination become one Issue with a count and a sample.

API example

A real request against the Flowyn REST API.

Full request and response contracts are in the docs.

Limits worth knowing

  • Delivery is at-least-once; deduplicate on webhook-id
  • Endpoints must be HTTPS
  • Up to 8 delivery attempts
POSThttps://api.flowyn.dev/v1/events202
curl -X POST https://api.flowyn.dev/v1/events \
  -H "Authorization: Bearer flw_test_••••" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-123-completed" \
  -d '{
    "type": "order.completed",
    "payload": {
      "order_id": "ord_123",
      "total": 4900
    }
  }'

Stop rebuilding the reliability layer.

Create a workspace, make your first call in the test environment, and inspect every attempt.