Power Automate enforces limits on how many instances of the same flow can run simultaneously. When too many executions happen in parallel, the flow fails with a Concurrent Execution Limit Exceeded error.
This guide explains:
Why the concurrent execution limit error occurs.
How to check and monitor parallel flow executions.
Ways to optimize flow execution to avoid concurrency issues.
Step 1: Understanding Concurrent Execution Limits in Power Automate
1.1. What is the Concurrent Flow Execution Limit?
Power Automate allows multiple instances of a flow to run at the same time, but excessive parallel executions can overload the system. The limit depends on:
- License Type: Higher-tier plans support more parallel executions.
- Flow Type: Some connectors (like SharePoint, SQL, or Dataverse) have internal concurrency limits.
- Concurrency Settings: Power Automate limits concurrent loops and triggers to prevent overloading.
1.2. Default Parallel Execution Limits by Plan
Power Automate Plan | Max Concurrent Executions |
---|---|
Free Plan | 5 flows in parallel |
Microsoft 365 Plan (Standard) | 15 flows in parallel |
Per-User Plan | 50 flows in parallel |
Per-Flow Plan | Higher limits based on usage |
- If a new flow instance is triggered beyond the limit, it fails or queues until a slot is available.
Step 2: Identifying the Issue
2.1. Check Flow Run History for Errors
- Open Power Automate (https://make.powerautomate.com).
- Click on My Flows → Select the affected flow.
- Go to Run History → Open a failed run.
- Look for an error message like: bashCopyEdit
Concurrent flow execution limit exceeded. Try again later.
2.2. Check Flow Usage in Power Platform Admin Center
- Open Power Platform Admin Center (https://admin.powerplatform.microsoft.com).
- Navigate to Analytics → Power Automate.
- Check the Concurrent Runs graph to see if flows are overlapping too much.
Step 3: Resolving the Issue
3.1. Enable Concurrency Control for Triggers
If multiple flows start simultaneously, limit the number of concurrent executions.
Example: Adjust Concurrency Control for “When an Item is Created” (SharePoint Trigger)
- Open the flow.
- Click on the Trigger Action (e.g., When an item is created).
- Click Settings → Enable Concurrency Control.
- Set the Degree of Parallelism (e.g.,
5
). - Save the flow.
This ensures only 5 flows run at the same time, reducing overload.
3.2. Add a Delay Between Flow Executions
If the flow triggers too frequently, add a delay to prevent too many runs at once.
Example: Add Delay in Between Executions
- After the trigger, insert a “Delay” action.
- Set it to 30 seconds or 1 minute to space out executions.
3.3. Use a Queue System to Control Parallel Execution
Instead of allowing all flows to run instantly, store requests in a queue (e.g., SharePoint list, Dataverse, Azure Queue Storage) and process them one by one.
Example: Process Requests One by One Using a SharePoint List
- Store incoming requests in a SharePoint list.
- Use a scheduled flow that processes only 1 item at a time.
- Mark items as “Processing” or “Completed” to avoid duplication.
3.4. Use “Do Until” Loops Instead of Running Parallel Instances
Instead of multiple parallel flow runs, use a single loop that processes data sequentially.
Example: Convert Parallel Runs into a “Do Until” Loop
- Add a Do Until action.
- Set it to process 1 item at a time.
- Continue looping until all items are processed.
This ensures only one execution is active at a time.
3.5. Optimize “Apply to Each” Loops
If the flow processes a large dataset in parallel, reduce concurrency.
Limit Concurrency in Apply to Each
- Open the Apply to Each action.
- Click Settings → Enable Concurrency Control.
- Set a lower value (e.g.,
10
).
This prevents too many records from being processed at once.
3.6. Upgrade to a Higher Power Automate Plan
If the flow requires more concurrent executions, upgrade to a Per-User or Per-Flow Plan.
- Open Microsoft 365 Admin Center (https://admin.microsoft.com).
- Navigate to Billing → Purchase Services.
- Choose Power Automate Per-User Plan or Per-Flow Plan.
- Assign the new plan to the user or flow.
Step 4: Advanced Troubleshooting
4.1. Use Azure Logic Apps for Higher Execution Limits
If Power Automate does not support your concurrency needs, use Azure Logic Apps, which support:
✅ Higher concurrent executions
✅ More scalable automation
4.2. Split a Single Flow into Multiple Flows
If the flow handles too many tasks at once, break it into smaller flows.
- Example: Instead of a single flow handling 500 requests, split it into 5 separate flows handling 100 requests each.
Step 5: Preventing Future Concurrency Issues
5.1. Best Practices to Manage Flow Concurrency
Enable Concurrency Control on Triggers – Limit how many flows start at the same time.
Use Delays to Space Out Flow Executions – Prevent instant overload.
Process Data in Queues Instead of Running Parallel Flows – Store requests in a SharePoint list or Dataverse.
Optimize “Apply to Each” Loops – Limit concurrency to avoid API overload.
Monitor Flow Runs in Power Platform Admin Center – Detect excessive parallel executions before they fail.
5.2. Set Up Alerts for High Concurrency Usage
- Go to Power Platform Admin Center.
- Set up alerts for concurrent execution spikes to avoid future failures.