You are here:
Flow Stage and Standard Progress Indicator Considerations
Before you add stages to your flow and use the standard progress indicator, keep these considerations in mind.
Required Editions
| View supported editions. |
Stage References
- When a stage merge field is used in a Display Text component value or in the label of a Checkbox, Checkbox Group, Choice Lookup, Currency, Date, Date & Time, Long Text Area, Multi-Select Picklist, Number, Password, Picklist, Radio Buttons, or Text screen component, the stage merge field resolves to the stage’s label. Everywhere else, a stage merge field resolves to the stage's fully qualified name: namespace.flowName:stageName or flowName:stageName.
- Whenever possible, use the stage merge field to refer to stages, such as
{!myStage}. - When you reference a stage in a subflow, use the fully qualified name.
- When debugging your flow, if you use a stage merge field in a Display Text component value or in the label of a Checkbox, Checkbox Group, Choice Lookup, Currency, Date, Date & Time, Long Text Area, Multi-Select Picklist, Number, Password, Picklist, Radio Buttons, or Text screen component, the merge field value isn't updated in the debugger.
Default Active Stages
When you mark a stage resource Active by Default, the flow automatically sets values for the global variables. Use this setting when a stage applies to every path of the flow.
At run time, the default active stages are sorted in ascending order. How the flow uses the
default active stages to update $Flow.ActiveStages and
$Flow.CurrentStage depends on whether the flow is a parent flow or a
referenced flow.
Stages in Parent Flows
The default active stages are added to $Flow.ActiveStages in ascending
order. $Flow.CurrentStage is set to the default active stage with the
lowest order.
When a flow references two flows, one with stages and one without, configure the flow with
stages so that it sets the value for $Flow.ActiveStage to null at the end
of the flow. Then set the value for $Flow.CurrentStage to stage 1 at the
start of the flow.
Stages in Referenced Flows
The default active stages are inserted in $Flow.ActiveStages in ascending
order. $Flow.CurrentStage isn’t automatically updated.
- When
$Flow.CurrentStageis included in$Flow.ActiveStages, the default active stages are inserted in$Flow.ActiveStagesafter$Flow.CurrentStage.For example, Flow1 sets
$Flow.ActiveStagesto “1, 2, 3, 4” and$Flow.CurrentStageto “3.” It then uses a Subflow element to call Flow2. Flow2’s default active stages are “A, B, C.” When Flow2 starts,$Flow.ActiveStagesbecomes “1, 2, 3, A, B, C, 4.”$Flow.CurrentStageis still “3.” - When
$Flow.CurrentStageisn’t included in$Flow.ActiveStages, the default active stages are added to the end of$Flow.ActiveStages.For example, Flow1 sets
$Flow.ActiveStagesto “1, 2, 3, 4” and doesn’t set$Flow.CurrentStage. It then uses a Subflow element to call Flow2. Flow2’s default active stages are “A, B, C.” When Flow2 starts,$Flow.ActiveStagesbecomes “1, 2, 3, 4, A, B, C.”$Flow.CurrentStageremains unset. - When
$Flow.CurrentStageis duplicated in$Flow.ActiveStages, the default active stages are appended after the first occurrence.For example, Flow1 sets
$Flow.ActiveStagesto “1, 2, 2, 3, 4” and$Flow.CurrentStageto “2.” It then uses a Subflow element to call Flow2. Flow2’s default active stages are “A, B, C.” When Flow2 starts,$Flow.ActiveStagesbecomes “1, 2, A, B, C, 2, 3, 4.”$Flow.CurrentStageremains “2.”
Other Stage Considerations
- When a screen element loads, if a stage is associated with it, the flow checks the
$Flow.ActiveStagesglobal variable to see if the associated stage is in there. If it isn’t, the flow adds the associated stage to the end of the$Flow.ActiveStagesglobal variable. - The flow error email doesn’t specify the values of
$Flow.ActiveStagesand$Flow.CurrentStageat the start of an interview. To confirm what the initial values are, add temporary elements to display the initial values, such as a Screen element with a Display Text screen component.
Standard Progress Indicator Considerations
- The standard progress indicator is enabled by default in new flows. For existing flows, you must enable the standard progress indicator.
- If the standard progress indicator is enabled, but your flow doesn’t have any stages, the progress indicator doesn't show up on your screens at run time.
- In the screen element editing window, the stages shown in the progress indicator preview are sample stages and aren’t actual stages in your flow.
- The standard progress indicator isn’t supported in Field Service Mobile flows or Salesforce Scheduler flows.
- The standard progress indicator isn’t supported if the flow is implemented in the Actions & Recommendations Lightning page component.
- Progress indicators in footers aren’t supported on screens smaller than 624 pixels. To use a progress indicator on a smaller screen, such as a mobile device, add the progress indicator to the top of the screen.
- Progress indicators with the path style show as the simple style on small screens or in a small column on a Lightning page.
- The standard progress indicator can show a maximum of 20 stages. We recommend 7 or fewer stages for the best user experience.

