For the complete documentation index, see llms.txt. This page is also available as Markdown.

Why am I receiving duplicate webhook events?

The outgoing webhook feature is built with at-least once delivery semantics, which guarantees no data is lost but may result in the same event being delivered more than once.This is expected behaviour. In distributed systems, machines can go down or restart before an acknowledgement of delivery is received, so the system resends events to ensure they reach their destination. To further guarantee delivery, automatic retries are triggered using an exponential backoff strategy — up to 7 attempts over a 48-hour period. To handle this, every event includes a unique event_id. Before writing to your database, check whether the event_id has already been processed and discard any duplicates. This pattern — known as idempotent processing — is the recommended approach for integrating with any at-least once delivery system.

Last updated

Was this helpful?