← BenchTruth

Silent Failure Rate, measured: 9,287 monitored automation runs across Zapier, Make, n8n and Pipedream

Live benchmark · updated 2026-08-17 · raw data downloadable below · no affiliate links on this page

Across 9,287 monitored automation runs (July 1–17 2026), we recorded zero silent failures on n8n (0%, 95% CI 0–0.06%, n=6,589), Make (0%, 95% CI 0–0.94%, n=405) and Zapier (0%, 95% CI 0–0.61%, n=631) - but the moment Pipedream's free-tier quota ran out, its webhooks kept answering "success" while silently dropping 14 of 14 deliveries.

A silent failure is the automation failure that hurts most: the platform told you it worked, and it didn't. This page is a continuously running measurement of that rate - not a review, not an opinion round-up. Every number below comes from runs we fired ourselves, with both endpoints under our own control, reconciled one by one.

Scoreboard (webhook-triggered workflows)

Platform (plan measured)Output-expected runsSilent failuresSFRLatency p50p95
n8n - self-hosted, bulk sampler6,58900% (95% CI 0%–0.06%)935 ms5.48 s
Make - Make Plan (paid)40500% (95% CI 0%–0.94%)1.01 s1.31 s
Zapier - Professional (paid)63100% (95% CI 0%–0.61%)4.32 s9.80 s
Pipedream - free tier, before quota exhaustion7600% (95% CI 0%–4.8%)2.72 s5.06 s

Latency = fired-at → receipt-at-our-receiver, identical network path for every platform, so the numbers are comparable with each other (not with a vendor's internal benchmark). Median delivery: n8n 935 ms, Make 1.01 s, Zapier 4.32 s - a 5× spread on the same workload.

Beyond delivered/missed, we also check partial executions (a 2-action or 2-branch run that only half-completed: 0 observed), duplicates (0 observed) and filter leaks (runs a filter should have stopped but didn't: 0 observed). All zero so far.

The one real failure mode we caught: the quota wall

On July 2 at 14:24 UTC, our Pipedream free-tier credits ran out mid-measurement. From one event to the next - five seconds apart - delivery went from 100% to 0%. The part that matters: Pipedream's webhooks continued to return a success response for every event it then silently discarded (14 of 14 output-expected runs, 95% CI 78–100%). The sender gets no error, no queue, no replay - just an "ok" and a black hole. We re-verified the behaviour 19 hours later, past the documented daily reset time: still accepting, still dropping.

We do not count these runs in Pipedream's SFR - they are a billing-edge behaviour, not an engine failure (before the wall, Pipedream ran 76 runs without a single drop). But if you run production workloads on a metered free tier, this is the failure semantics you are signing up for: at the quota boundary, "accepted" stops meaning "delivered".

The ledger's first "miss": a forensic - and why it is not a silent failure

On July 7 at 04:13 UTC the reconciler flagged its first-ever missed n8n run: one event in a 10-event burst, expected 2 receipts, got 0. We treat a first miss as an incident, so here is the full trace, from three independent logs:

Classification: a loud failure, not a silent one. The sender saw the error at delivery time - exactly the signal a silent failure never gives you - so this run is recorded as rejected_at_send in the raw CSV and excluded from SFR's numerator and denominator, the same rule applied to every platform. n8n's zero above means: of 6,589 runs n8n accepted, none vanished.

Two honest takeaways. First, the $0 self-hosted option has real limits: a tiny VM can stall under a burst, and if your sender doesn't check the webhook response, a loud failure quietly becomes your silent one - retry on non-2xx. Second, note whose pick this incident dings: n8n tops our own recommendations, and this report stays up anyway. That is the fairness rule working as intended.

Edge probe: we took our endpoint down for 30 minutes and measured what each platform did

A reader of our data asked the right question: fine, nothing fails under normal operation - what happens when the destination goes down? So we measured it (August 1, 2026). Our receiver answered 503 to experiment-tagged events for a 30-minute window; we fired 5 webhook events at each platform during the outage, all platform settings at their defaults, and then watched for 24 hours. These runs are excluded from the SFR scoreboard above - stress experiments must never share a denominator with normal operation.

ZapierMaken8n (self-hosted)
Accepted during outage5 / 55 / 5, queued4 / 5 *
Automatic retriesNone (off by default)6 attempts (≈ 1, 2, 5, 10, 60 min)None (off by default)
Notifications1 email, ~2 min3 escalating emailsNone
OutcomeManual replay, +14 h, exactly onceSelf-healed, +79 min, exactly onceManual retry, +14 h, exactly once
Outage cost$0 (replay bills 1 task)12 credits/event (6× normal)$0

* One POST refused at the door by the deliberately small VM - a loud failure the sender saw. Retry features that exist but ship disabled: Zapier Autoreplay, n8n per-node Retry on Fail; a default n8n install also notifies nobody unless you configure an Error Trigger workflow.

The observability trap we fell into ourselves. During Make's 60-minute backoff wait, we checked every surface Make offers: the webhook queue showed 0 items, the incomplete-executions list (the URL calls it dlq) was empty, and the history showed no activity for nearly an hour. Every indicator said the events were gone - we wrote them off in our notes. Seven minutes later Make delivered all five. Events in the retry-wait state are invisible in Make's UI: an operator checking mid-incident will reasonably conclude the data is lost, and may re-send by hand - earning a duplicate when the retry engine wakes up. The retries work; you just can't see them pending.

This experiment now has its own page with the full retry timelines, per-platform playbook advice and FAQ.

Honest summary: every accepted event was ultimately recoverable on all three platforms - none of this is silent data loss. The differences are who does the work, when, and at what price: Make heals itself inside ~80 minutes (for outages inside its backoff window) and charges you per attempt; Zapier and n8n preserve failed runs indefinitely but wait for a human, and only Zapier tells you promptly that anything happened. Whichever you run: make the sender check response codes, and know which of these three behaviours your incident playbook assumes.

Scheduled (polling) workflows

A separate always-on workflow polls our data source every 30 minutes on each platform, and we track whether every scheduled tick actually happened and whether every new item was picked up.

PlatformScheduled polls observedNew items delivered
n8n2,276220 / 221
Make1,951122 / 123*

*Make's one missed item (July 4) changed during a ~9-hour window in which the scenario sat deactivated after we edited it - Make leaves an edited scenario switched off until you re-enable it on the scenario page, and the next item superseded this one before we noticed. Our misconfiguration, logged as a harness-side incident, not a Make miss (the gotcha itself is worth knowing about). While active, Make has delivered every item and every scheduled poll. A cost observation previewed here (full cost benchmark coming): on Make, every empty poll of this workflow consumes 2 billable operations by design (poll + state lookup); on self-hosted n8n the same empty poll costs $0. Polling-heavy workloads pay a standing tax on per-operation platforms even when nothing happens.

Method - why these numbers are comparable

Limitations we know about: paid-platform samples are still small (their intervals say so); latency includes our receiver's network hop (identical for all platforms); results describe these specific plans in this specific window, and the meter keeps running - numbers tighten every week.

Reading 0% honestly

Every platform above currently shows zero silent failures - and those zeros are not equal. Zero in 631 runs still allows a true rate near 0.61%; zero in 6,589 runs pins it below 0.06%. That is why this page reports Wilson 95% confidence intervals and keeps accumulating: rare failures only become visible in large samples. If a vendor quotes you a reliability number without a sample size, they are quoting a feeling.

FAQ

What is a silent failure in workflow automation?

A run the platform accepted (its webhook returned success) but that never produced the expected output - and no error was ever surfaced to the user. The sender believes the work happened; it did not. BenchTruth measures this as the Silent Failure Rate (SFR): (missed + partial executions) ÷ all runs expected to produce output, with a Wilson 95% confidence interval.

Which automation platform is the most reliable in 2026?

In BenchTruth's measurements so far, no platform has silently dropped a run under normal operation: n8n 0% SFR in 6,589 runs (95% CI up to 0.06%), Make 0% in 405, Zapier 0% in 631. The measured reliability risk was not the platforms' engines but their billing edges: when Pipedream's free-tier quota ran out, it accepted and silently dropped 14 of 14 deliveries while still returning success.

Why do you publish confidence intervals instead of just a percentage?

Because 0 failures in 631 runs and 0 failures in 6,589 runs are very different statements. The Wilson 95% interval makes the difference explicit: after 631 clean runs the true rate could still be as high as ~0.61%; after 6,589 clean runs it is below 0.06%. Any reliability claim without a sample size and interval is marketing, not measurement.

Do automation platforms retry failed webhook deliveries?

By default, mostly no - we measured it by taking our own endpoint down for 30 minutes (August 2026). Make was the only platform that retried automatically: 6 attempts with roughly 1, 2, 5, 10 and 60-minute backoff, full delivery at 79 minutes with no human involvement - billing 2 credits per attempt, and with the pending retries invisible in its UI while they wait. Zapier and self-hosted n8n both have retry features (Autoreplay; per-node Retry on Fail) that are switched off out of the box: failed runs simply wait, fully recoverable, until a human replays them. All three platforms delivered exactly once through every recovery path - we observed no duplicates.

What is the difference between a silent failure and a rejected webhook?

Whether the sender finds out. A rejected webhook answers with an error (or nothing) at delivery time - the failure is loud, the caller can retry or alert. A silent failure is the opposite: the webhook answers 'success' and the work then never happens. We count only the second kind in SFR; rejections are recorded separately in the ledger (outcome 'rejected_at_send'). Across our whole measurement window we have seen exactly one organic rejection - a saturated self-hosted n8n box during a burst (documented on this page) - and zero silent failures outside Pipedream's quota wall. Full reference: benchtruth.com/silent-failure-vs-rejected-webhook.

Do runs stopped by a filter still cost money on Zapier?

No - measured, not assumed. Across our filtered runs on a Zapier Professional plan, runs halted by a Filter step consumed zero tasks; Zapier's own task meter matched our count of executed action steps exactly (45 = 45). The folklore that 'filtered Zaps still burn a task' did not hold in July 2026.

Raw data

Full per-run ledger (run ID, platform, workflow, fired-at, expected vs received, outcome, per-receipt latency): benchtruth-runs.csv · CC BY 4.0 · cite as "BenchTruth reliability dataset, benchtruth.com/reliability".