News

Webhook retries now back off instead of hammering

Failed deliveries now wait 1 second before the next try, then 4, then 16. Every attempt is logged, so a shaky integration shows up in writing instead of failing in silence.

A webhook is one tool telling another that something just happened, and most of them land without anyone noticing. The failures are the interesting part. When a delivery to us failed, we used to try again right away, and then again, and again, on a tight loop. That is the last thing a service already in trouble needs.

Failed deliveries now back off. The pattern has a name, exponential backoff, and it works exactly the way it sounds: each attempt waits longer than the one before it.

  • First retry: after 1 second
  • Second retry: after 4 seconds
  • Third retry: after 16 seconds

That gives a flaky connection room to come back on its own instead of getting pounded while it’s down.

Every attempt is also logged, and that’s the half that changes what you can see. A flaky integration used to fail quietly. A dropped event looked identical to an event nobody ever sent, and there was no way to tell the two apart. Now the attempts are on the record, so a connection that keeps stumbling becomes something you can look at and fix.

Small fix, dull on the surface. It means an integration that starts misbehaving says so, in writing, at the moment it happens.

Follow the work as it takes shape. Product updates, previews, and the thinking behind what we build.