Concurrent flow execution limit exceeded – Too many parallel executions of the same flow

Loading

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 PlanMax Concurrent Executions
Free Plan5 flows in parallel
Microsoft 365 Plan (Standard)15 flows in parallel
Per-User Plan50 flows in parallel
Per-Flow PlanHigher 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

  1. Open Power Automate (https://make.powerautomate.com).
  2. Click on My Flows → Select the affected flow.
  3. Go to Run History → Open a failed run.
  4. Look for an error message like: bashCopyEditConcurrent flow execution limit exceeded. Try again later.

2.2. Check Flow Usage in Power Platform Admin Center

  1. Open Power Platform Admin Center (https://admin.powerplatform.microsoft.com).
  2. Navigate to AnalyticsPower Automate.
  3. 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)

  1. Open the flow.
  2. Click on the Trigger Action (e.g., When an item is created).
  3. Click Settings → Enable Concurrency Control.
  4. Set the Degree of Parallelism (e.g., 5).
  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

  1. After the trigger, insert a “Delay” action.
  2. 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

  1. Store incoming requests in a SharePoint list.
  2. Use a scheduled flow that processes only 1 item at a time.
  3. 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

  1. Add a Do Until action.
  2. Set it to process 1 item at a time.
  3. 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

  1. Open the Apply to Each action.
  2. Click Settings → Enable Concurrency Control.
  3. 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.

  1. Open Microsoft 365 Admin Center (https://admin.microsoft.com).
  2. Navigate to BillingPurchase Services.
  3. Choose Power Automate Per-User Plan or Per-Flow Plan.
  4. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *