Do the following in parallel flow logic

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Do the Following in Parallel Flow Logic

    The "Do the Following in Parallel" flow logic allows you to execute actions and subflows simultaneously within a single flow. This feature is beneficial for optimizing workflows by enabling multiple tasks to run independently, thereby improving efficiency.

    Show full answer Show less

    Key Features

    • Parallel Execution: Actions and subflows are executed in separate paths. If one action requires waiting, others can continue processing until all paths complete.
    • Single Thread Context: All paths operate within a single thread, which means execution does not occur in multiple threads but can run in isolated contexts when necessary.
    • No Field Inputs: The flow logic does not accept field inputs directly but allows the creation of paths using a plus icon.
    • Output Management: While there are no direct outputs from the flow logic itself, individual actions and subflows may produce outputs accessible only within their respective paths until the entire logic block completes.

    Key Outcomes

    For example, when a new change request is created, this flow logic can create two tasks in parallel, assigning them to different groups. This optimizes task management and enhances overall workflow efficiency.

    Execution Details

    Execution details include the state, start time, and runtime for the overall flow logic as well as for each path, allowing for better monitoring and troubleshooting.

    General Guidelines

    • Avoid Data Dependencies: Ensure that paths do not depend on one another, as they may run in any order.
    • No Shared Data: The system prevents sharing data between paths to avoid inconsistencies in output values.

    Run actions and subflows in separate paths within an isolated flow logic block.

    With this flow logic, you can run actions and subflows in separate paths. If any action within the Do the following in parallel flow logic block must wait, other actions run until all paths within the block finish processing.

    Figure 1. Paths in a Do the following in parallel flow logic block
    Multiple paths in a Do the following in parallel flow logic block
    Note:
    Paths in a Do the following in parallel flow logic block do not run in multiple threads, since a flow execution context runs in a single thread. However, there may be times when you want to run flows within separate contexts even though this may consume more of your instance's resources. To run subflows in separate flow contexts within the same flow, see Dynamic flows.

    Inputs

    Do the following in parallel flow logic does not have field inputs. Instead, it displays a plus (New Branch Icon) icon that enables you to create a path with actions or subflows.

    The actions and subflows in each path run until all tasks within the flow logic block have completed.

    Outputs

    This flow logic has no outputs, but actions and subflows in each path may have outputs. While the flow is running, outputs from a path are only accessible to other actions in the same path. After the Do the following in parallel flow logic completes, its final outputs are accessible to the rest of the flow.

    Create two tasks in parallel when a change request is created

    In this example, a flow triggers when a new change request is created. Using Do the following in Parallel, two tasks are created in separate paths and are assigned to different groups. The flow uses the Number field data pill from the triggering change request to display the number in the short description for the task record.

    Figure 2. Do the following in parallel flow logic inputs
    Do the following in parallel example

    Execution details

    Figure 3. Do the following in parallel execution details
    Example execution details for a do the following in parallel flow
    1. The header shows the state, start time, and runtime for the flow logic.
    2. The Configuration Details section shows the state, start time, and runtime for each path in the flow logic block.

    General guidelines

    Avoid creating data dependencies between paths
    Since a flow can run paths in any order, avoid creating data dependencies between separate paths. For example, do not have one path that creates a record and another path that updates the same record. The update record path may run before the create record path.
    Do not share data between paths
    Flow Designer prevents you from dragging data pills between paths because the system cannot determine which path will finish first to supply the output value.