FLOWLOGIC
module /automation-engine-core

unit U44 of 4

Error handling & retries

failure branches, retries, dead-letter

The question in production isn’t whether a step will fail but what happens when it does. By default a thrown error aborts the whole run, so one malformed item can stop a batch of a thousand. The engine gives you two controls: per-step “continue on failure,” which routes a failed item down an error branch instead of killing the run, and automatic retries with backoff for transient failures (a rate-limit or a blip). Design both before go-live, not after a client reports missing data.

The durable pattern is a dead-letter branch. Set the risky step to continue on failure and wire its error output to a path that records the failed item — with the error and enough context to replay it — into a store or a “failures” sheet. Healthy items flow on; poison items are quarantined, not lost. Enable retries (e.g. 3 attempts, exponential backoff) on steps that call flaky externals so a transient error self-heals before it ever reaches the dead-letter branch.

Where it breaks: silent swallowing. Turning on continue-on-failure without capturing the error output means bad items just vanish — the run is green and the data is quietly incomplete. Always route the error output somewhere durable, and alert on a spike.

worked example

A continue-on-failure enrichment step routing failures to a dead-letter store while good items proceed.

[Webhook trigger]
      |
      v
[HTTP Enrich Piece]   (continue on failure: ON, retries: 3 x backoff)
      |-- success --> [Edit Fields: clean]        --> [CRM Upsert Piece]
      \-- error   --> [Code Piece: {item,error,ts}] --> [Dead-letter store]

field checklist

common failure — Continue-on-failure that swallowed errors

A step had continue-on-failure enabled but its error output went nowhere, so failed items silently disappeared; the flow ran green nightly while ~3% of leads never reached the CRM, undiscovered until the client counted. Route the error output to a dead-letter store with the message and payload, add retries for transient failures, and reconcile processed counts against input counts each run.

check your understanding

A step has continue-on-failure enabled. The nightly run is green, yet about 3% of leads never reach the CRM. What is missing?

sandbox validation

The check above confirms you followed the unit. Marking the module COMPLETED takes more: build the automation in your own engine and submit the exported flow and its run evidence, signed, to your unique validation URL. See the module page for that spec.