---
sourceDocument: Xanadu Build workflows
sourceDocumentLink: https://www.servicenow.com/docs/r/xanadu/build-workflows

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu Build workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Do the following in parallel flow logic

# Do the following in parallel flow logic {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

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  
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](https://www.servicenow.com/docs/NGXUxhTIyZo_xl37o5Th~w "Identify and run a flow or subflow dynamically by using runtime data. Build templates to provide expected inputs for dynamically called flows or subflows.").

## Inputs {#flow-logic-do-following-in-parallel__section_ycv_r35_w2b}

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 {#flow-logic-do-following-in-parallel__section_enb_s35_w2b}

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

## Execution details {#flow-logic-do-following-in-parallel__section_gx3_s35_w2b}

Figure 3. Do the following in parallel execution details  
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.
{#flow-logic-do-following-in-parallel__ol_wtt_scs_r2b}

## General guidelines {#flow-logic-do-following-in-parallel__id_pvc_b1y_f5b}

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
:   Workflow Studio prevents you from dragging data pills between paths because the system cannot determine which path will finish first to supply the output value.
**Related concepts**   

* [Assign subflow outputs flow logic](https://www.servicenow.com/docs/r~bnLWhfuLyEssau_mynhw "Specify the data the subflow returns when it completes running. Use subflow output as data for a parent flow or as input for another process.")
* [Call a workflow flow logic](https://www.servicenow.com/docs/zydeHJqqB6Ld~GxmxQgHZA "Run a published and active workflow from your flow. You can use the flow data as a workflow input. For example, you can specify the current record as a workflow input.")
* [Do the following until flow logic](https://www.servicenow.com/docs/kbNn~ednOchHRR0sgNdPhw "Apply one or more actions repeatedly until an end condition is met. You can use the flow data to specify the end conditions.")
* [Dynamic flows flow logic](https://www.servicenow.com/docs/NGXUxhTIyZo_xl37o5Th~w "Identify and run a flow or subflow dynamically by using runtime data. Build templates to provide expected inputs for dynamically called flows or subflows.")
* [End Flow flow logic](https://www.servicenow.com/docs/mKEv6t_mpdlHunPeNGYS~Q "Stop running the current flow. Use End Flow within a branch of the flow to specify an exit condition. For example, end the flow when it reaches a specific If flow logic block.")
* [For Each flow logic](https://www.servicenow.com/docs/Um7qaADXRPFwQDoU12TsGw "Apply one or more actions to each record in a list of records.")
* [If flow logic](https://www.servicenow.com/docs/6csGfzicYOUBg_HAnujBBA "Selectively apply one or more actions only when a list of conditions is met.")
* [Make a decision flow logic](https://www.servicenow.com/docs/FPqcGWunsNBjLQt~zGUijQ "You can use the decision table branching logic in situations where multiple conditional paths are required, as an alternative to nested If, Else If, or Else flow logic. For example, if you want to determine what kind of car insurance you need, you can add inputs such as your age, accident history, and car model to the decision table to determine a level of insurance coverage. This logic can save you time and present a more readable format than nested if conditions or switch case statements.")
* [Set Flow Variables flow logic](https://www.servicenow.com/docs/DgHV4J0vdZ0RbLbfgTlz1A "Assign a value to one or more flow variables, which store flow data as data pills. Access flow variable values by referring to their data pill.")
* [Try flow logic](https://www.servicenow.com/docs/jeGF3m4N_iG73Vkp_03Aag "Allow a flow to continue running when an error occurs within a flow logic block. Run a sequence of actions in response to errors within the flow logic block.")
* [Wait for a duration flow logic](https://www.servicenow.com/docs/cQp_Ug44fLnChyXSt9Xdjg "Use this flow logic to give your users time to act during automated processes or to wait for a specific date and time to complete actions.")  
**Related reference**   

* [Exit Loop flow logic](https://www.servicenow.com/docs/~PVhq6tpvUjbfsuFdTPVWg "Exit from a flow logic loop when the conditions of an If flow logic are met. Continue running the flow from the next step after the flow logic loop. This flow logic is also known as break.")
* [Get Flow Outputs flow logic](https://www.servicenow.com/docs/9qjFG02Gmec3w8y~_aOeZQ "Retrieve output values generated by dynamic flows or subflows.")
* [Go back to flow logic](https://www.servicenow.com/docs/Om3nfRiv7arJk7MtS3aciA "Return to a prior step in the flow to repeat a sequence of actions.")
* [Skip Iteration flow logic](https://www.servicenow.com/docs/SOg5nR7J3fyCrpsEIygCVw "Skip the current iteration of a flow logic loop when the conditions of an If flow logic are met. Continue running the flow logic loop with the next item in the list. This flow logic is also known as continue.")

