---
sourceDocument: Zurich Build workflows
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/build-workflows

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich 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: Zurich  
Updated July 31, 2025  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) 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

TheDo the following in parallelflow logic in ServiceNow allows you to run actions and subflows concurrently within separate paths inside a single isolated flow block.
This enables multiple tasks to execute independently but within one flow execution context.
While paths appear to run in parallel, they actually execute sequentially on a single thread, ensuring that if any action waits, others continue until all paths complete.
Show full answer Show less  
This flow logic is especially useful when you want to perform multiple independent actions simultaneously without blocking the flow. For truly separate execution contexts, dynamic flows are recommended.

## Key Features

* **Multiple paths:** You can add multiple paths by clicking the plus icon, with each path containing its own actions or subflows.
* **Independent execution:** Actions and subflows in each path run concurrently until all complete, with outputs accessible only within their respective paths during execution.
* **No direct inputs or outputs:** The flow logic block itself does not have inputs or outputs, but contained actions and subflows can produce outputs accessible after the block completes.
* **Execution context:** Runs within a single-threaded flow execution context to conserve instance resources.

## Practical Example

A common use case is creating multiple tasks in parallel when a change request is created. For example, two tasks can be generated simultaneously and assigned to different groups, each using the change request's Number field for their short descriptions. This improves efficiency by handling multiple related operations concurrently.

## Guidelines and Best Practices

* **Avoid data dependencies between paths:** Because paths may complete in any order, do not design paths that rely on data created or modified by other paths to prevent race conditions.
* **Do not share data between paths:** Workflow Studio restricts dragging data pills across paths to avoid uncertain output timing issues.

## Execution Monitoring

During execution, the flow logic header displays the overall state, start time, and runtime. Each path's state and timing details are also shown, helping you monitor progress and troubleshoot.  
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/4ayg_Jn_dFlGemNr0DGXrQ "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/aVCFueowGIk3GW1q7TD2pQ "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/n4HLl~zz1YzPAjh2527KSw "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/zvOtf_IgQ8BqtMXOTpUQiA "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/4ayg_Jn_dFlGemNr0DGXrQ "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/ugyKabFGM~9Ep4W9TBOQpw "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/p4Nj9Qj05grn6Omrr6XPBg "Apply one or more actions to each record in a list of records.")
* [If flow logic](https://www.servicenow.com/docs/Sejns7UY0JgMnmq5Hdb3vQ "Selectively apply one or more actions only when a list of conditions is met.")
* [Make a decision flow logic](https://www.servicenow.com/docs/UG1ybSIlbYr4BasTZdnV9Q "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/opSl92QZLFEUydwnt8AKww "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/3R2POERkCFztME6Boj0xIw "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/_aaT22sre8GVVhBco_jvyA "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**   

* [Append to Flow Variables flow logic](https://www.servicenow.com/docs/MVGJwG_myb~dZc0wY2ljuw "Append a value to one or more array of objects flow variables. Use flow data to generate values.")
* [Exit Loop flow logic](https://www.servicenow.com/docs/B8adm71DNgoTDwEwvgPvTQ "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/MQzje~ApJlE2ePA9hf_8Uw "Retrieve output values generated by dynamic flows or subflows.")
* [Go back to flow logic](https://www.servicenow.com/docs/80KaVYJGRFwK_Ubi_5mAwA "Return to a prior step in the flow to repeat a sequence of actions.")
* [Skip Iteration flow logic](https://www.servicenow.com/docs/MX3giHitFikA7~mVUtEWmw "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.")

