Power Automate  

How to Reduce Power Automate Flow Runtime Using Parallel Branches

Introduction

Power Automate flows often become slow when multiple independent actions are executed one after another. For example, if a flow needs to update SharePoint, send an email, create a Teams notification, and update Dataverse, executing each action sequentially increases the total runtime.

Parallel branches allow independent actions to execute at the same time. Instead of waiting for one action to finish before starting the next, Power Automate can process multiple branches concurrently and continue once the required branches are completed. Microsoft recommends parallel execution for independent tasks, particularly for operations that take noticeable time to complete.

What Are Parallel Branches in Power Automate?

By default, Power Automate executes actions in a sequence. This means the next action waits for the previous action to finish.

For example:

Trigger → Get Items → Send Email → Update SharePoint → Send Teams Message

If every action depends on the previous action, sequential execution is appropriate. However, sometimes actions are independent.

For example:

  • Get SharePoint items

  • Send an email

  • Update another SharePoint list

These actions may not depend on each other and can potentially run at the same time.

With parallel branches, the flow can execute these independent actions simultaneously.

Sequential Execution vs. Parallel Execution

Without Parallel Branching

Consider the following flow:

  1. Trigger – 1 second

  2. Get Items from SharePoint – 3 seconds

  3. Send Email – 4 seconds

  4. Update SharePoint List – 5 seconds

  5. Create Teams Message – 2 seconds

If all actions run sequentially:

1 + 3 + 4 + 5 + 2 = 15 seconds

The flow takes approximately 15 seconds based on the example timings.

With Parallel Branching

After the trigger, the independent actions can run in parallel:

  • Get Items – 3 seconds

  • Send Email – 4 seconds

  • Update SharePoint List – 5 seconds

The flow waits for the longest branch, which is 5 seconds.

Then the final Teams message runs for 2 seconds.

So the estimated runtime becomes:

1 + 5 + 2 = 8 seconds

This represents a potential runtime reduction of approximately 47% compared with the 15-second sequential example.

Important: Actual Power Automate execution times vary depending on connector response times, service limits, throttling, retries, and other platform factors. The calculation above is an illustrative example.

How to Create a Parallel Branch

You can create parallel branches directly in the Power Automate designer.

Step 1: Open Your Flow

Open the flow where you want to improve execution performance.

Step 2: Identify Independent Actions

Look for actions that don't depend on the output of one another.

For example:

  • Send an email

  • Update a SharePoint item

  • Post a Teams message

If none of these actions requires data generated by another action, they may be suitable for parallel execution.

Step 3: Add a Parallel Branch

In the Power Automate designer:

  1. Select the + button where you want the parallel execution to start.

  2. Select Add a parallel branch.

  3. Add the required action to the new branch.

  4. Continue adding independent actions to separate branches.

Your flow will look conceptually like this:

Trigger
   |
   +---- Get SharePoint Items
   |
   +---- Send Email
   |
   +---- Update SharePoint List
   |
   +---- Wait for branches
             |
             v
      Create Teams Message

The final action can execute after the parallel branches have completed.

When Should You Use Parallel Branches?

Parallel branches are especially useful when your flow contains multiple independent operations.

1. Independent SharePoint Operations

If you need to update multiple unrelated SharePoint lists, you may be able to perform those operations in parallel.

2. Sending Notifications

If you need to send notifications through multiple channels, such as email and Teams, these operations may be candidates for parallel execution.

3. Multiple API Calls

Independent API or HTTP requests can sometimes be executed in parallel instead of waiting for each request to finish.

4. Multiple Approvals

In some business processes, multiple approvals may be requested simultaneously when the business rules allow it.

5. Independent Data Processing

If separate pieces of data can be processed independently, parallel branches can help reduce total execution time.

When Should You NOT Use Parallel Branches?

Parallel execution is not always the best choice.

Avoid parallel branches when one action requires the output of another.

For example:

Get Items
   ↓
Filter Items
   ↓
Send Email

Here, Filter Items depends on the output of Get Items, so these actions must remain sequential.

Similarly:

Create SharePoint Item
   ↓
Get Created Item ID
   ↓
Update Related Record

The second and third actions depend on the previous results.

In these situations, parallel branching will not provide a performance benefit and may cause incorrect results.

Key Benefits

Using parallel branches correctly can provide several advantages:

  • Reduced overall flow runtime

  • Faster execution of independent tasks

  • Improved user experience

  • Better performance for complex workflows

  • More efficient processing of independent operations

However, parallel execution should be used carefully. Running too many operations simultaneously can increase connector calls and may contribute to throttling or service limits.

parallel branches

Best Practice

The most important rule is:

Use parallel branches only when actions are independent and do not depend on each other's outputs.

Before adding a parallel branch, ask yourself:

"Does this action need data or results from another action?"

  • Yes → Keep the actions sequential.

  • No → Consider running them in parallel.

Conclusion

Parallel branches are a simple but powerful way to optimize Power Automate flows. Instead of forcing independent actions to run one after another, you can execute them simultaneously and wait only for the longest-running branch before continuing with dependent actions.

For example, a flow that takes 15 seconds in sequential execution could potentially complete in approximately 8 seconds when independent actions are executed in parallel.

By identifying dependencies and strategically using parallel branches, you can build faster, more efficient, and better-performing Power Automate workflows.