Home / admin / scheduled-path-patterns
scheduled-path-patterns
Scheduled Paths in record-triggered Flow: delayed execution, time-offset from field, batch size tuning, monitoring Paused Flow Interviews, async limits. NOT for picking between Scheduled Path, Wait and Scheduled Flow, or migrating time-based workflow rules — use flow/flow-time-based-patterns. NOT for a flow that runs on a recurring schedule — use flow/scheduled-flows.
Open the skill folder on GitHub
Scheduled Path Patterns
Activate when designing a record-triggered Flow with delayed execution — "after 1 hour," "1 day before Close Date," "every Monday at 9 AM after creation." Scheduled Paths replace many time-based workflow rule use cases but have their own batching, monitoring, and failure semantics.
Before Starting
- Understand the offset anchor. Scheduled Paths offset from either the record-triggered event time OR a field value on the record.
- Plan for volume. Scheduled Paths queue paused Flow Interviews; bulk inserts create bulk paused interviews with batch-size tuning.
- Know the monitoring surface. Setup → Paused Flow Interviews shows queued interviews; failures surface in the Flow debug log and Apex exception email.
Core Concepts
Offset types
- From the trigger event: "1 hour after record is created"
- From a field value: "3 days before CloseDate" — uses a datetime/date field on the record
Batch size
Salesforce processes paused interviews in batches (default 200, tunable in Process Automation settings). Batching controls governor limits for the collection of resumed flows.
Paused Flow Interview
When a Flow hits a Scheduled Path wait, it suspends as a Paused Flow Interview. The interview resumes at the scheduled time. Monitor at Setup → Paused Flow Interviews.
Execution context
Scheduled path execution runs in system context by default (like other record-triggered Flow), with its own governor limit scope. Updates to records made in the scheduled branch are separate transactions from the triggering transaction.
That default is set by the Flow and is not changed by the Summer '26 Apex inversion — no class apiVersion moves a record-triggered Flow into user mode. The version gate applies only to Apex invoked from the scheduled branch, where each invocable class's own .cls-meta.xml apiVersion decides its default database mode: at 67.0+ its SOQL, SOSL, DML and Database calls enforce the running user's sharing rules, FLS and object permissions with no keyword at all, while the same class pinned at 66.0 or earlier still defaults to system mode. So a scheduled path that worked can start throwing when that class's apiVersion is raised — upgrading the org's release does not, on its own, change anything. Canonical table: