Power Automate

Tune Apply to each concurrency for your workload

Measure Power Automate Apply to each concurrency against the flow's data and downstream limits.

Click image to enlarge

Apply to each runs sequentially by default. Concurrency lets multiple iterations run at the same time, but the right setting depends on the work inside the loop and the systems it calls. There isn’t a degree of parallelism that makes every flow faster.

Measure before increasing concurrency

The concurrency setting lets you choose a degree of parallelism from 1 to 50. Start with a sequential run as a baseline, then test a small value such as 2 or 5 with representative data. Those values are starting points for a test, not universal recommendations.

Compare the total run time and the failed or retried actions. Increase concurrency only while the downstream connector and service continue to handle the requests reliably. Check their limits and monitor throttling instead of treating the slider as a requests-per-second setting.

Check order and shared state

Concurrent iterations can finish in a different order from the input items. If the flow depends on a specific order, or if each iteration reads and updates a shared variable, keep the loop sequential. Microsoft’s variable guidance warns that parallel iterations can make variable results unpredictable.

Concurrency control for Apply to each applies only to the highest-level loop in a cloud flow. Nested Apply to each loops run sequentially.

Use it when the iterations are independent

Parallel execution is worth testing when each item can be processed independently. If the flow aggregates results, collect per-item outputs and aggregate after the loop instead of relying on a shared variable being updated in order.

Sources

Share this tip

Did this tip help you?

Vote once and classify what made this tip valuable.

Try this now

Quick checklist to apply this tip immediately.

💬 Comments & Suggestions

Share your thoughts, tips, or drop a useful link below.