← BenchTruth

Webhook retry semantics, measured: we took our endpoint down for 30 minutes on Zapier, Make and n8n

Controlled outage experiment, August 2026 · all platform settings at their defaults · updated 2026-08-04 · no affiliate links on this page

When the destination of a webhook goes down for 30 minutes, only one of the three major automation platforms recovers on its own: Make retried each event 6 times over 79 minutes and delivered everything - billing 2 credits per attempt, with the pending retries invisible in every corner of its UI. Zapier and self-hosted n8n retried nothing (their retry features ship switched off), but preserved every failed run for manual replay, which delivered the original payloads exactly once even 14 hours later. No platform produced a duplicate.

"Does it retry?" is the question that decides whether a five-minute outage becomes a data-loss incident, and vendor docs answer it in feature lists rather than behaviour. So we measured the behaviour: our benchmark workflows all POST to an endpoint we control; we made that endpoint answer 503 for a 30-minute window, fired 5 tagged events at each platform during the outage, changed no default settings, and watched for 24 hours. These runs are excluded from our silent-failure scoreboard - stress experiments never share a denominator with normal operation.

The scoreboard

ZapierMaken8n (self-hosted)
Accepted during outage5 / 55 / 5, queued4 / 5 *
Automatic retriesNone (off by default)6 attemptsNone (off by default)
Retry spacingn/a≈ 1, 2, 5, 10, 60 minn/a
Full recoveryManual, +14 hAutomatic, +79 minManual, +14 h
Outage cost$0 **12 credits/event (6× normal)$0
Who told you1 email, ~2 min3 escalating emailsNobody
Duplicates000

* The fifth POST was refused at n8n's webhook by our deliberately small 1 GB VM - a loud failure the sender saw immediately, not a silent one. ** Errored Zapier runs billed 0 tasks; a manual replay bills 1 task like a normal run (meter-verified: 602 → 604 for two replays). Retry features that exist but ship disabled: Zapier Autoreplay, n8n per-node Retry on Fail.

The finding that matters most: Make's retries are invisible while they wait

During the 60-minute gap before Make's final attempt, we checked every surface it offers: the webhook queue showed 0 items, the incomplete-executions list (the URL calls it dlq) was empty, and the scenario history showed no activity for nearly an hour. Every indicator agreed the events were gone - we wrote them off in our own notes. Seven minutes later, Make delivered all five.

The retries work. You just cannot see them pending. An operator checking mid-incident sees "queue empty, no dead letters, nothing scheduled" and reasonably concludes the data is lost - then re-sends by hand, and collects duplicates when the retry engine wakes up behind them. If you run Make in production, write this down somewhere your future 2am self will find it: after an outage, wait out the backoff ladder (attempts at roughly +1, +2, +5, +10, then +60 minutes) before re-sending anything.

What this means for your incident playbook

Method and limits

FAQ

Does Zapier retry failed webhook deliveries?

Not by default. In our measured 30-minute outage (August 2026), all 5 events were accepted, errored when the destination answered 503, and then simply waited: Zapier's Autoreplay feature exists on paid plans but ships switched off. The good news: errored runs billed 0 tasks, an alert email arrived about 2 minutes after the first error quoting the exact error message, and the failed runs stayed replayable indefinitely - our manual replay 14 hours later delivered the original payloads exactly once and billed 1 task each (the task meter moved 602 to 604, to the digit).

Does Make retry failed scenario executions?

Yes - and it was the only platform in our test that did. Make queued all 5 events and retried each 6 times with roughly 1, 2, 5, 10, then 60-minute gaps; the 6th attempt found our endpoint back up and all 5 delivered 79 minutes after the original events with no human involvement. Two costs to know about: every attempt billed 2 credits (so the outage cost 12 credits per event instead of 2), and pending retries are invisible - during the 60-minute wait the webhook queue showed 0 items, the incomplete-executions list was empty, and history showed nothing. We wrongly concluded the events were lost; seven minutes later they all arrived.

Does n8n retry failed workflow executions?

Not by default. n8n has a per-node Retry on Fail setting, but it ships off; a default self-hosted install also sends no notification of any kind when an execution errors - nobody emails you unless you build an Error Trigger workflow. The errored executions are preserved, and manual retry (ours ran 14 hours later) works cleanly, with the UI linking each retry to its original execution. On our deliberately small 1 GB VM, 1 of 5 events was also refused at the webhook itself under load - a loud failure the sender saw immediately.

Do retried webhook deliveries create duplicates?

In our test: never. Across Make's 6 automatic attempts per event, Zapier's manual replays, and n8n's manual retries, every accepted event was delivered exactly once - zero duplicates on any platform through any recovery path. The bigger duplicate risk we identified is human: because Make's pending retries are invisible in its UI, an operator checking mid-incident could reasonably conclude the data is lost, re-send by hand, and collect duplicates when the retry engine wakes up. If your sender stamps every event with a unique ID and your writes are idempotent, both the platform paths and the human path become safe.