Contact Us

Flow Vault Admin 8 pages PDF

Flow Production-Killer Audit

Twenty Flow anti-patterns that work fine on one record and take down the org on 200.

One pink element can take down an org

Flow made automation available to people who do not write Apex. It did not remove the limits that Apex has to respect. Every Flow runs inside the same transaction, against the same governor limits, as the code it replaced — and the builder will happily let you drag a Update Records element inside a loop without a single warning.

On one record it works. On 200 it consumes 200 DML statements against a limit of 150, and every save on that object starts failing org-wide. The Flow did not change. The volume did.

The loop problems, and why they are invisible

Two anti-patterns cause the majority of Flow-related outages: a DML element inside a loop, and a Get Records inside a loop. Both are invisible in testing because a single-record test never crosses the limit. Both are trivially fixable — collect records into a collection variable inside the loop, then perform one DML after it — and both keep appearing because the builder does not flag them.

The audit walks each one with the specific limit it breaches and the exact restructure that fixes it.

Fault paths are not optional

Every DML element in a Flow can fail. Without a fault path, that failure surfaces to the user as an unhandled exception — a wall of technical text on a screen flow, or a silent failure and an error email on a record-triggered one. Neither is acceptable in production.

The audit covers where fault paths are mandatory, what to do on that path, and why an error that is caught and logged is a completely different operational problem from one that is not.

Architecture problems that only show up later

Several entries are not about limits at all. One mega-flow per object becomes unmaintainable and untestable within a year. Missing entry conditions mean the Flow runs on every single save, burning CPU on records it will immediately ignore. Hardcoded IDs work until you deploy to another org.

And one entry argues the opposite of the rest: sometimes the correct answer is a validation rule, not a Flow at all. Knowing when not to build automation is part of building it well. The audit closes with a printable checklist to run before every deploy.

What’s inside

  • DML and Get Records inside a loop — the two that cause most outages
  • After-save flow updating its own trigger record
  • Missing fault paths on every DML element
  • Unguarded recursion and re-triggering
  • One mega-flow per object versus properly scoped entry conditions
  • Hardcoded IDs, unbatched scheduled flows, hand-built collections
  • When a validation rule is the right answer and a Flow is not
  • A printable self-audit checklist to run before every deploy
FormatPDF
Length8 pages
Anti-patterns20
Current toSummer ’26

More from the vault

Want this run against your actual org?

This is the checklist version of work we do in production. If you’d rather we ran it against your live environment, that’s a 30-minute call — no deck, no discovery theatre.

Book a 30-minute technical session