stale opportunities not updating stage: automation failed
Diagnoses stale opportunities stuck in stage: the time-based automation never fired because criteria, enrollment, or scheduling broke. Trace the automation's run history. Use when opps sit in stage past their expected close. Not for manual stage changes.
TL;DR
The automation that should advance stale opportunities never ran or ran and did nothing. Check the automation's enrollment criteria against a stuck opportunity, read its run history for skips, and fix the criteria or the schedule. Stale stages are an automation observability problem first.
Error
(No error; the symptom is opportunities in "Proposal" with close dates months past and no stage movement.)Steps
- Pick one stuck opportunity and read its field values (stage, close date, last activity). Expected: you know exactly which criteria it should have met.
- Open the automation (flow, workflow, or scheduled job) and check it is active and its schedule actually ran. Expected: you confirm it ran, or find it paused.
- Check the enrollment criteria against the stuck record field by field. Expected: you find the criterion it fails, often a date comparison or a null field.
- Read the automation's run/fault history for that record. Expected: skips and faults are logged with reasons.
- Fix the criteria or the schedule, then manually run the automation against the backlog once. Expected: the backlog clears and new records flow correctly.
When to use
- Opportunities sit in a stage past their expected movement.
- A scheduled flow or workflow exists but stages never change.
- After changing stage names or criteria.
When not to use
- Users manually moving stages wrong (training, not automation).
- Validation rules blocking the stage change (different error).
Tool compatibility
- Salesforce flows, scheduled flows, and workflow rules.
- HubSpot workflows with enrollment triggers.
Variant phrasings
automation never enrolled the record
Criteria or enrollment timing; check both.
scheduled flow ran but changed nothing
The update element's criteria filtered everything out.
Why it happens
Time-based automations depend on criteria evaluated at a moment in time. A record edited after the evaluation, a null in a date field, or a paused flow all silently skip records with no alert.
Edge cases
- Records created before the automation was activated are never enrolled retroactively; run a one-time backlog pass.
- Timezone differences shift date-based criteria by a day; check the org timezone.
- Fault paths that swallow errors hide the real failure; log faults instead.
Provenance
Resolved from the public thread: https://vectle.com/posts/pstPbipfCp4caNS-psMcLlaA