First-in-first-out, per endpoint
Each endpoint gets its own Durable Object, which preserves the order events arrived in and isolates one endpoint’s backlog from another’s. A slow or failing destination slows only itself.
The same engine that captures your events runs the pipeline that moves them onward. Each endpoint keeps first-in-first-out order and its own isolation; failed deliveries retry, and what still can't land is dead-lettered, not dropped.
event twilio · message.received
first-in-first-out per endpoint · held, not dropped
Each endpoint gets its own Durable Object, which preserves the order events arrived in and isolates one endpoint’s backlog from another’s. A slow or failing destination slows only itself.
A delivery is attempted up to eight times over roughly 28 hours — the first try, then seven retries with growing gaps: 5 seconds, 5 minutes, 30 minutes, on out to ten-hour waits. What still can’t land is held in a dead-letter queue, not dropped, so you can fix the destination and replay. An endpoint that fails 20 times in a row is auto-disabled, so we stop hammering a target that’s clearly down — and tell you.
Providers resend. Turn on idempotency-key deduplication per endpoint and a repeated event is recognised and dropped before it reaches your handler twice. It’s off by default — opt in per endpoint, because what counts as a duplicate is your call, not ours.
Start free: a permanent URL, full inspection, one-command replay — and outbound delivery, because every feature is on every plan. Move up when you need more events.