Webhooks playbooks
Follow event delivery from subscription to receipt, processing, and reconciliation. Choose a scenario, then the decision you need to make.
Webhook Signature Raw Body Mismatch
A webhook signature fails because the receiver verifies parsed or reformatted content instead of the exact bytes that were signed.
Replayed Webhook Delivery
An old but correctly signed webhook is received again after its useful window, and the receiver cannot distinguish replay from a legitimate retry or duplicate delivery.
Duplicate Webhook Event Application
The receiver sees the same event more than once and applies the downstream action twice because the event identity is absent, unstable, or checked after the side effect.
Out of Order Webhook State Update
State-changing deliveries arrive in an order different from the originating actions, allowing an older snapshot to overwrite a newer local state.
Webhook Receiver Timeout
The endpoint performs slow work before acknowledging a delivery, so the sender treats a successful or partial operation as failed and retries it.
Webhook Retry Storm
A shared endpoint or downstream dependency fails and many senders retry together, creating a second wave that prolongs the original recovery.
Webhook Dead Letter Visibility
Failed deliveries leave the normal processing path but the dead-letter or review record lacks enough identity, timing, or failure context to recover them safely.
Webhook Endpoint Redirect
A configured endpoint responds with a redirect, leaving delivery behavior dependent on whether the sender follows it, preserves method and body, or treats it as failure.
Webhook Non-2xx Response
The receiver returns different non-success statuses for validation, duplicate, transient, or downstream failures, but sender retry behavior is not mapped to those decisions.
Webhook Missing Event ID
A delivery lacks a stable event identifier or the receiver extracts the wrong field, leaving duplicate detection and resource correlation dependent on payload guesses.
Webhook Subscription Topic Drift
A subscription, route, or event filter changes and the receiver handles a topic it did not expect or silently stops receiving a topic the workflow still needs.
Webhook Payload Schema Evolution
A delivery adds, removes, renames, or changes a field and the receiver either rejects valid events or treats a new shape as an old meaning.
Webhook Secret Rotation Gap
A signing secret changes while one receiver, environment, or deployment still uses the old value, causing valid deliveries to fail or verification to be relaxed.
Webhook Clock Skew Signature
A receiver rejects valid signed deliveries because its clock differs from the sender, making a timestamp freshness rule appear to be a signature or secret failure.
Webhook Tenant Routing
A shared endpoint receives events for multiple accounts or workspaces and routes one delivery to the wrong tenant because identity is inferred from incomplete or mutable payload data.
Webhook Delivery Observability Gap
The endpoint can receive and process events, but logs or review records omit the identifiers, timings, response, or outcome needed to understand a missing or duplicate delivery.
Webhook Batch Event Overflow
A sender delivers multiple events or a large payload at once, while the receiver assumes one small event and truncates, times out, or applies only part of the batch.
Disabled Webhook Endpoint Recovery
A sender or receiver disables an endpoint after repeated failures, and re-enabling it leaves pending deliveries, configuration, or duplicate recovery work unclear.
Webhook Test Production Mix
Test deliveries, credentials, or endpoint URLs are mixed with live configuration, making a receiver process synthetic events as real work or hide a live failure in test traffic.
Webhook Acknowledgement Before Processing
The receiver acknowledges a delivery before recording or validating it, so a process crash after the response can lose the event without a sender retry.