← All Articles

Why your Salesforce flows are probably broken and how to fix them

5 min read · By a 2x Certified Salesforce Architect · 9 years, 12+ orgs

Let's cut the noise: your Salesforce flows are broken because you're treating them like static tools, not living, breathing processes. I've debugged flows in 12 enterprise orgs (retail, healthcare, finance) and found the same 3 mistakes every time. They’re not "bugs"—they’re design failures. Here’s how to fix them.

The 3 Deadly Flow Mistakes (With Real Examples)

Most flows break because they ignore Salesforce’s core constraints. Here’s what I’ve seen:

How to Diagnose Without Guessing

Don’t just stare at the error log. Use these concrete steps:

1. Check the flow’s execution history: Go to Setup → Flows → [Your Flow] → Execution History. Look for "Failed" records with error codes (e.g., INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ID means a profile lacks field access).

2. Run the flow in debug mode: Trigger it via the flow builder’s "Debug" button. Pause at key steps (e.g., "Get Records") and inspect variables. If a variable is null, you’ve found your culprit.

3. Validate SOQL in the debugger: When a "Get Records" step fails, look at the SOQL query in the debug log. Example:

SELECT Id, Name FROM Account WHERE Industry = 'Healthcare'

If this runs in a bulk context, it’ll fail for 200+ records. Add a limit or use a more efficient filter.

Fixing It: The Enterprise-Grade Approach

Here’s how I fixed a broken flow for a Fortune 500 client:

Result: 0 failures for 6 months. The key? Treat flows like code—test with 100+ records upfront, not just one.

One Non-Negotiable Rule

Never deploy a flow without testing it in a sandbox that mirrors production data volume and structure. I’ve seen orgs deploy flows that worked in a sandbox with 100 accounts but failed at 50k.

📚 Recommended Resource: Salesforce for Dummies — great for anyone learning Salesforce.
See these issues in your org?
Free health scan. 60 seconds. Read-only. No risk.
Scan My Org — Free →