Sub Flows
  • 06 Jul 2022
  • 1 Minute to read
  • Dark
    Light

Sub Flows

  • Dark
    Light

Article Summary

Similar to how Folders can house other Folders, Flows can house other Flows, known as Sub Flows. Sub Flows provide the ability to isolate and reuse groups of steps within other Flows, reducing design time and simplifying a complex process into more manageable sub processes.

For example, making Sub Flows of frequently used steps, such as Sending an Email, Saving an Article, Creating an Alert, or performing Error Handling, simplifies an application's design and reduces clutter in the Flow Designer workspace. 

For working examples, the Example Project section contains projects which utilize Sub Flows.


Adding a Sub Flow

  1. In the Toolbox, select the Run Sub Flow step under the Favorite Steps category. If the step is not found here, expand the Designer Entities > Flows category and select [Pick or Create Flow] or Run Flow step.
  2. After adding the step to the workspace, select the Pick or Create Flow action in the properties panel and either create or select an existing Flow.

Inputs/Outputs for Sub Flows

Once a Flow has been created or selected, the Flow Designer will reopen. The Start and End steps in the Sub Flow will determine the input and output values for the Sub Flow. 

The configured values will be reflected in the Properties for the Sub Flow step.


Running a Sub Flow Asynchronously

Designers may wish to run multiple asynchronous Sub Flows to accomplish tasks that normally occur synchronously to run in parallel to save time. This checkbox is found under Properties > Advanced above the Selection Type setting.


Selection Types

Similar to the standard Flow, Sub Flows may utilize a variety of Selection Types that may affect both how and when the Sub Flow runs. 

To view the Selection Types, add a Run Sub Flow step from the Toolbox in the Flow Designer. Click on it to view its Properties and expand the Advanced section to locate Selection Type. 


Sub Flows may choose between the following three Selection Types:

Selection TypeDefinition
Pick (Default)Allows the Designer to pick a Child Flow that runs once the Parent Flow progresses to the Run Flow Step
Runtime SelectionInitializes the Child Flow at runtime, reduces memory demands of Parent Flow preventing crashing
Champion/ChallengerInitializes the Child Flow against other Child Flows against changing logic to promote the most optimal solution

Was this article helpful?