ZymuraBlog

Engineering · 19 August 2026 · 7 min read

The flow that ran and did nothing

A flow that errors gets fixed within the hour. A flow that succeeds at nothing runs for months.

A flow that errors gets fixed. A flow that runs and does nothing runs forever.

Everyone building automation eventually learns that failures are the easy case. The expensive case is the run that completes successfully while accomplishing nothing.

Four ways a healthy-looking run does nothing

The filter that matches zero rows

A step filters yesterday's orders by status. Upstream, someone renames the status from completed to complete. Your filter now matches nothing. The flow runs, the filter succeeds at filtering, the summary step summarises an empty list, and a message goes out saying zero orders. Every step returned success.

The API that changed its empty response

An endpoint used to return 404 when there was no data. A version bump changes it to return 200 with an empty array. Your error handling was watching for the 404. Now there is nothing to catch.

The credential that quietly lost a scope

A token gets rotated with narrower permissions. The call returns 200 with a partial payload rather than 403. You are now processing a subset and cannot tell.

The step that never ran

The most invisible of all, and the one I hit in our own deploy pipeline — a build step that was never configured, so it never ran, so it never logged, so nothing indicated its absence. That story is the build that succeeded at nothing.

Daily summary to Slack running Every morning at 08:00 0.4s Get yesterday's orders 0.5s Summarise them 0.6s Post to #standup 0.7s
Step-level detail is what tells you the run did something

Why run-level status cannot catch these

A run status is a single bit: did the sequence complete. Every failure above completes. If your monitoring asks "did the flow run?", the answer is yes in all four cases, and yes is what you were checking for.

The question you actually want answered is "did the flow do what it did last time?" — and that requires knowing what each step received and produced, not merely that it finished.

Design rule: store the input and output of every step, not just the outcome of the run. It costs storage and it is the only thing that makes silent failure visible after the fact.

Practical defences

The uncomfortable version

Most automation dashboards are optimised to show you green. That is what people want to see, and it is what gets built. But a green dashboard answers a question you did not ask. The useful dashboard is the one that can tell you a flow's output has changed shape — and that requires having kept the shape.

Flows that run without youScheduled workflow automation on our servers, not in a browser tab. 51 connectors, visual builder, free tier included.

Open the app