Glossary · Reliability

Strict FIFO

Per-webhook ordering mode where the head delivery blocks subsequent ones until it succeeds or terminally fails.

What is strict FIFO?

Strict FIFO is a per-webhook ordering mode where deliveries process strictly in order — the next delivery in the queue waits until the previous one succeeds or terminally fails. Available on the Pro tier and above.

In standard mode, deliveries process in parallel; in strict FIFO mode, they serialize per webhook.

When ordering matters

Most webhooks don't need strict ordering. The cases where they do:

  • Subscription state sequences. A subscription.created followed by a subscription.updated should process in that order; processing them in reverse leaves your database in a stale state.
  • Stateful agent flows. An agent that tracks a multi-step user journey needs the steps in order to make sense.
  • Counter or balance updates. Two updates to the same counter must serialize, or you get lost increments.

If your handler is fully idempotent and order-independent, you don't need strict FIFO and you'll get higher throughput without it.

The throughput trade-off

Strict FIFO is slower than parallel delivery by definition — if delivery 1 takes 30 seconds, delivery 2 waits 30 seconds before even starting. Long retry windows on the head delivery block everything behind it.

This trade-off is intentional. If you turn it on, you're choosing correctness (in-order processing) over throughput. Hooksbase enforces it on a per-webhook basis so you can mix strict and parallel webhooks within the same project.

What happens on terminal failure

When a strict-FIFO head delivery fails terminally (exhausts retries), the next delivery in the queue advances to head and starts. The failed delivery moves to the DLQ for inspection — it doesn't block forever.

For the broader pattern: Routing, transforms, and replay for AI agents.

Frequently asked questions

When do you actually need strict ordering?

Subscription state sequences, where an update must not overtake the create; stateful agent flows that track a multi-step journey; and counter or balance updates that must serialize. If your handler is idempotent and order-independent you do not need it, and you get more throughput without it.

What happens when a strict-FIFO delivery fails terminally?

The next delivery in the queue advances to head and starts, and the failed one moves to the DLQ for inspection. The queue does not block forever.

What is Hooksbase?

Hooksbase is event infrastructure for AI agents. It ingests events over four channels — HTTP, email, HTML form, and scheduled cron — verifies them, routes them by rule, runs versioned Automations in the event path, and delivers them to HTTP and cloud destinations (AWS SQS, AWS EventBridge, GCP Pub/Sub, and S3-compatible storage) with retries, strict ordering, Standard Webhooks-compatible signing, deterministic replay, and a dead-letter path. It is a hosted service, runs on Cloudflare Workers, is operated at hooksbase.com, and is not affiliated with — and shares no code or ownership with — other similarly named webhook, hook, or tunnelling tools.

Related terms