Symptom
Flow actions seem to be running slowly, and may appear to get stuck on a single step in the flow run viewer.
Note that this is distinct from triggers not firing, in which case the flow will not even start or show up in the run history list. This article does not apply to triggers not firing.
Cause
There are number of possible causes to slow running flows:
-
The service you are connecting to is running slowly.
-
For instance, a slow running SQL query will cause a flow to slow down while it waits for query execution to complete.
-
-
The connector you are using is slowing your flow down as a service protection mechanism.
-
For example, the SharePoint connector caps actions at 600 per minute. A single SharePoint connection used across multiple flows can still only execute 600 operations per minute.
-
Most connector pages have a Throttling Sectionthat documents this limit.
-
-
You might see a 429 (Too Many Requests) error in your flow with error text like like "Rate limit is exceeded. Try again in 27 seconds."
-
-
Your flow is executing an excessive number of actions per day, far in excess of the daily action limits for your plan
-
You can see the minimum number of actions that the Power Automate service will allow for each plan on the Request limits and allocation page.
-
Every card in a flow that gets executed counts as an API call (action). This includes both actions that result in outgoing calls (e.g. calling SharePoint) and actions that don't (e.g. variable setting, delays, etc.). Only completed and failed actions (but not skipped) count toward the limit.
-
The Power Automate service typically allows higher counts than are documented here, and will not slow flows down based on occasional and reasonable overages. However, if your flows have action counts above these limits, they are subject to potential throttling, or in cases of extended violation, disablement.
-
You can utilize the analytics tab of the flow details page to diagnose actions usage.
-
-
Your flow is exceeding the data consumption allowance per day. This is the amount of data your flow consumes as a result of the input/output operations.
-
Your flow is exceeding a limit that is documented on the Power Automate limits and configuration page.
-
For these particular throttles, both executed and skipped actions (as might happen in an if/else branch) count toward the limit.
-
Violating plan limits documented in the below table is much more common.
-
Plan summary
Plan |
Action limits per day |
Data consumption per day |
Office 365 Flow licenses and trials |
2,000 actions across all flows created by a single user. |
1GB across all flows created by a single user. |
Paid Per user, Dynamics team member licenses |
5,000 actions across all flows created by a single user. |
10GB across all flows created by a single user. |
Paid Dynamics Professional licenses |
10,000 actions across all flows created by a single user. |
10GB across all flows created by a single user. |
Paid Dynamics Enterprise Application licenses |
20,000 actions across all flows created by single user. |
10GB across all flows created by a single user. |
Paid Per flow license |
15,000 actions per flow. |
50GB storage per flow. |
Resolution
You can alleviate the problem by:
-
Redesigning your flow to use fewer actions and less data.
-
If you have 'Do until' or 'For each item' loops in your flow, see if you can reduce the number of loop iterations, possibly by retrieving fewer items to iterate through.
-
Many connectors have 'Filter query' and 'Top count' parameters that can be used to reduce the number of items and amount of data retrieved. Filtering with Odata
-
If you have a scheduled flow that runs frequently, consider reducing the frequency. Many flows that run once per minute or hour could be revised to occur less often.
-
If your flow is interacting with files, be conscious of the file size and try to reduce it if possible.
-
If you need to reuse a single property returned by an action with large output size multiple times, consider using 'Initialize Variable' to store that property, and use the variable in later actions. Even if only one property is used from an output of an earlier action, all outputs of that action that will be passed into the later action as inputs.
-
-
Purchasing a Per User or Per Flow license from the pricing page
-
If your flow is executing thousands of actions every day, you should consider purchasing a Per Flow license to get better throughput and higher quotas. Per Flow plans provide the best performance quotas available.
-
Power Automate will eventually add the ability to purchase additional add-on packs if the Per Flow plan is still not enough, but until that time, if you must have more actions than we provide on a daily basis, you can consider exporting your flow to Logic Apps. Note that Logic Apps charges by the action, so you will notice the cost associated with your flow more acutely.
-
On the pricing page, you can choose which plan you would like to purchase.
A tenant administrator will need to visit this page and purchase the plan because regular users will receive a message indicating that individual plan purchases are not available at this time. Tenant administrators will get redirected to the Office portal to purchase a plan. The tenant administrator should then apply the plan to the user who created the flow. Per Flow plans can be assigned on the flow details page.
Once the license is purchased and assigned, the author of the flow should resave it. Alternatively, flows will be updated in the background once per week to reflect current plans.