We’ve built a record-triggered Flow that should fire when Opportunity Stage changes to ‘Closed Won’, but it’s not triggering consistently. The workflow trigger requirements specify ‘runs when record is updated and meets condition’, with field mapping setup pointing to Stage field.
Flow Builder configuration shows:
- Object: Opportunity
- Trigger: A record is updated
- Condition: Stage EQUALS ‘Closed Won’
- Entry Criteria: Meets condition requirements
The flow works in debug mode with test records but fails in production when real opportunities are updated. Flow Builder debug shows the trigger evaluates but doesn’t execute actions. Our field mapping includes Stage, Amount, and CloseDate - all standard fields. Missing something obvious in the workflow trigger configuration?
Flow: OpportunityClosedWonNotification
Trigger: Record Update
Condition: [Opportunity].Stage = 'Closed Won'
Actions: Send Email, Update Related Tasks
The condition ‘EQUALS Closed Won’ needs to check if the field CHANGED to that value, not just if it equals it. Use ‘Prior Value’ comparison: trigger when Stage != PRIOR(Stage) AND Stage = ‘Closed Won’. Otherwise the flow tries to run every time someone saves an already-closed-won opportunity, which might be causing processing issues or hitting governor limits.
Beyond the order of execution, check your flow’s advanced settings. If the flow is set to run ‘asynchronously’, there can be delays or failures if the system is under load. For critical business processes like closed-won notifications, use ‘Fast Field Updates’ or synchronous execution. Also review the flow error emails in Setup > Process Automation Settings to see if errors are being logged that you’re not seeing in the UI.
Good catch on StageName - that was indeed the issue in my condition formula. Changed to use correct API name and added the prior value check. Still seeing intermittent failures though. Could this be related to the flow trigger order? We have other automation (process builder, workflow rules) on Opportunity object.
Check if your flow is active in production. Also verify the API name of the Stage field - it’s actually StageName not Stage. If your condition uses the wrong field API name, the flow won’t trigger even though debug mode might work with sample data.