When Zapier or Make Fails Silently: Catching the Order That Never Arrived
Back to blog
automation·September 5, 2026·4 min read·By Yehonatan Saadia

When Zapier or Make Fails Silently: Catching the Order That Never Arrived

Not every automation failure is logged as an error. Statuses like filtered and safely halted stop a run with no alert. How to build a check that catches them.

Key takeaways

  • Zapier marks a deliberately stopped run as `Safely halted` and states explicitly that such runs do not turn your Zap off - so they do not alert either.
  • `Filtered` means a filter blocked the rest of the run. That is not an error, and it is the most common reason an order disappears.
  • In Make, an error handler set to Ignore makes the failed bundle vanish entirely as far as downstream modules are concerned.
  • Zapier's autoreplay only replays runs with an errored status, never runs that were safely halted.
  • The only control that catches all of these is a comparative count: how many went in versus how many came out, over a fixed window.

A silent failure is a run that finished without an error status and without doing the work. In Zapier it shows up as a Filtered or Safely halted status; in Make it is an error handler set to Ignore or Resume. Both platforms treat these as normal behaviour, which is exactly why no alert is ever sent.

What actually happens in a "silent" failure

Most people work from the assumption that a scenario ends one of two ways: it succeeded, or it failed and shouted. In practice there are documented in-between states, and every one of them ends quietly.

Status or settingPlatformWhat actually happenedWill you hear about it
FilteredZapierA filter blocked the following stepsNo
Safely haltedZapierThe run stopped on purpose, usually a search step finding nothingNo
ErroredZapierA step failedYes
Handled errorZapierA step failed and a custom error handler ran insteadDepends on the handler
IgnoreMakeThe failed bundle is skipped and the run continuesNo
ResumeMakeThe run continues with a substitute valueNo
BreakMakeThe run is sent to the incomplete executions queueOnly if you open the queue

The rows without a "yes" are the entire problem. A scenario configured to ignore failures will keep showing a green streak in its history while orders fall through it.

Why doesn't the platform send an alert?

Because as far as it is concerned nothing unusual happened. A filter that blocks the rest of a run is doing precisely what a filter is for; a search step that found no record returned a legitimate result; an Ignore handler is an explicit statement from you that this kind of failure is acceptable.

The distinction worth internalising: the platform monitors itself, not your business. It can tell you "the step ran and did not return an error". It cannot tell you "yesterday 40 orders came in and today 12 did".

  • Zapier's automatic replay is triggered by an errored status only. A safely halted run is never brought back.
  • In Make, failed runs are kept in the incomplete executions queue only when that option is switched on in the scenario settings. If it is off, there is nothing to return to.
  • A changed field in the source system is not an error. It quietly turns a filter that was correct yesterday into one that blocks everything today.

How do you find the order that never arrived if nothing failed?

Not from the platform's logs, but by comparing two sources. The control looks like this:

  1. Define what is counted at the source. The number of orders created in the store in a one-hour window, for example.
  2. Define what is counted at the destination. The number of records created in the system the automation writes to, over exactly the same window.
  3. Run the comparison in a completely separate process - not inside the scenario you are checking. A scenario cannot report that it never ran.
  4. Alert on the gap, not on an error. A gap of one is usually timing; a persistent gap is a failure.
  5. Keep the source identifiers that were not found at the destination. A list of ids is what lets you backfill; a count on its own does not.

This check also catches cases no error handler covers: a scenario switched off by mistake, a trigger that stopped firing, and a connection whose authorisation quietly expired.

What to record on every run

  • A unique identifier for the record processed, not just a timestamp.
  • Which branch the scenario took, where there is more than one.
  • The outcome of every search step: found or not found. That single field is what turns safely halted from mysterious into obvious.
  • What the destination system returned, including the id it created.
  • How long the run took. A sharp rise usually precedes a failure.

Logging like this is worth more than any alert, because it lets you answer "what happened to order 4417" instead of only "were there errors".

Alerting people will not mute

An alert on every individual error stops being read within a week. Three rules keep it alive:

  • Alert on a condition, not an event. "0 orders synced in the last 3 hours" beats "a step failed".
  • Add a silence alert: if the process did not run at all in the expected window, that absence is itself the event.
  • Say in the alert what the next action is and where to click. An alert with no action attached is noise.

Where to start when there is no monitoring at all

You do not build all of this in one day. The order below gives the most coverage at every stage, and each stage stands on its own if you stop after it:

  1. One daily count. How many records were created at the source yesterday and how many at the destination. Even a single daily message carrying two numbers catches most silent failures.
  2. A silence alert. If the process did not run at all in the window where it was supposed to, send a message. This is the failure no error handler covers, because there was no run to fail.
  3. Identifier logging. Start recording the record id on every run. From there you can move from a count to a list of what is missing.
  4. Narrow the window. Move from daily to hourly, but only once the daily count is stable and not producing false alarms.
  5. Split by branch. If the scenario has several paths, count each path separately. A gap that hides inside a total shows up immediately at branch level.

Step one alone is the highest return on effort. It requires no change to the existing scenario, it cannot break it, and it is the only thing that answers "did something disappear" without relying on the platform you are checking.

Related: Zapier vs Make, n8n vs Make vs Zapier, What a webhook is.

Sources

#Zapier#Make#automation monitoring#silent failure#process controls#שגיאות

Frequently asked questions

What is the difference between filtered and safely halted in Zapier?

`Filtered` means a filter evaluated its condition as false and blocked the following steps. `Safely halted` means the run stopped on purpose, usually because a search step found no results. Both count as normal, so neither turns the Zap off and neither generates an alert.

Will autoreplay rerun a halted run?

No. Automatic replay is started by an errored status only, and safely halted runs are not brought back. If a later step in the same run errored and did trigger a replay, halted steps within that run are replayed as part of that attempt.

What does an Ignore error handler do in Make?

It skips the failed bundle so that downstream modules behave as though it never existed. There is no substitute value and no exception record, so the run looks successful while fewer items were processed than were fed in.

Everything is green but customers are complaining. Where do I start?

With a count comparison between source and destination over the same window, not with the run history. If the counts match, the problem is in the content rather than the automation. If there is a gap, pull the list of missing identifiers - it points straight at the step where they stopped.

Keep reading

Related service

Business Automation

I build custom automations that remove repetitive work end to end.

Learn more →←

About the author

Yehonatan Saadia

Freelance automation, web & MVP developer

I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.

Work with me

Have a project like this?

Tell me what you're trying to automate or build. I reply within 24 business hours with a few targeted questions, then we walk through it on a free 30-minute call, with no commitment. You come away with a scope, a timeline and a fixed price - or a straight answer that it isn't worth building.