Table of Contents
• Enable Concurrency Control In Apply To Each Loops
• Execute Flow Actions In Parallel Branches
• Use Filter Queries When Retrieving Large Datasets
• Reduce Table Sizes By Selecting Columns
• Stay Below The Data Connector API Limits
• Identify Bottlenecks With Process Advisor
• Favor Compose Over Declaring Variables When Creating Arrays
• Exploit Batch Update APIs
• Avoid Using On-Premise Actions
Enable Concurrency Control In Apply To Each Loops
Apply To Each loops run sequentially by default. If there are 20 items to loop over, the flow will run them in order: 1, 2, 3… until it reaches item 20. Enable concurrency control in the Apply to Each action settings to run up to 50 actions at the same time.

Execute Flow Actions In Parallel Branches
Power Automate executes flow actions in sequence. But actions can also be run in parallel when they are not dependent upon each another. For example, a flow that gets multiple lists of items in sequence may be reorganized to get all lists of items at the same time.

Use Filter Queries When Retrieving Large Datasets
It takes more time to retrieve a large set of records from a datasource than a small set of records. Apply filters when fetching data to reduce the number of rows being downloaded.
If there is no option to filter the records before downloading them use the Filter Data Operation immediately afterwards. Smaller datasets require less iterations in loops.
Example: Dataverse – List Rows action

Reduce Table Sizes By Selecting Columns
Similarly, a table with more columns is slower to download than a table with less columns. Always define which columns should be selected to minimize the size of the dataset being downloaded.
Example: SharePoint Get Items action

Example: Dataverse – List Rows action

Stay Below The Data Connector API Limits
Every flow data connector has API limits for throughput. After a set number of API calls per minute the data connector will become throttled to protect the service. Be aware of the API limits for each connector used in a flow. API limits can be found in the Power Automate documentation for the data connector.
Example: Dataverse connector limits

Identify Bottlenecks With Process Advisor
Process advisor tracks the average duration of individual flow actions as well as total duration. Inspect flows using process advisor to see where bottlenecks are occurring. Focus attention on the slowest actions when improving the flow.

Favor Compose Over Declaring Variables When Creating Arrays
The Compose action executes twice as fast as declaring variables. For large arrays this is a huge time saver. Use Compose instead of a variable to build arrays when the array does not have to be modified.

Exploit Batch Update APIs
Look for batching capabilities in APIs. Batching allows us to do a high-volume of transactions at high-speed. For instance, SharePoint lists have batch create, update and delete abilities only accessible through the SharePoint HTTP action. Read the API documentation for the desired service to check if this is available.

Avoid Using On-Premise Actions
Flow actions that connect to cloud resources are faster than on-premise records. For example, it would be faster to access files stored in OneDrive than files stored on the local File System via a gateway.

Did You Enjoy This Article? 😺
Subscribe to get new Power Apps & Power Automate articles sent to your inbox each week for FREE
Questions?
If you have any questions or feedback about Power Automate Standards: Performance Optimization please leave a message in the comments section below. You can post using your email address and are not required to create an account to join the discussion.