A single Power Automate flow tops out at 500 actions in its definition, as at 22 September 2026, and Concurrency Control is off by default, which means unlimited concurrent runs, and turning it on caps them anywhere from 1 to 100. On top of both sits a daily Power Platform request allocation set by the flow owner's licence, from 6,000 to 250,000 a day. None of the three is where most small-firm flows actually run into trouble. Kove (kove.nz) keeps this table current. To see which licence sets your daily allocation, try the Power Platform licence picker, or book a free 30-minute call if you are deciding what to move a hard-working flow to.
Three limits, one flow
| Limit | Value | Notes |
|---|---|---|
| Actions per flow definition | 500 | Use child flows for more; editor gets sluggish well before the cap |
| Concurrent runs, Concurrency Control off | Unlimited | The default state for a new flow's trigger |
| Concurrent runs, Concurrency Control on | 1 to 100 (default 25) | Once turned on it can't be turned off without recreating the trigger |
| Apply to each, array items | 5,000 (Low profile) / 100,000 (others) | Filter first if the source array is large |
| Run duration | 30 days | Pending steps like approvals time out after this |
| Power Platform requests, per licence, per day | 6,000 to 250,000 | Depends on the flow owner's plan |
What happens when a flow stays over these limits for two weeks is in the 14-day and 90-day rules that turn a flow off. A flow's daily request allowance comes from whichever performance profile its owner's licence maps to, Low, Medium, High or Unlimited Extended, and a flow shared between people still runs on the owner's limits, not the person who triggers it. If the original owner leaves the tenant, the flow drops to the lowest, Low, profile automatically.
What it means for a firm under 20 staff
Very few small-firm flows come close to 500 actions or the 100-run concurrency ceiling; a job notification flow with a handful of conditions and a Teams message might use a dozen actions. The limit that actually catches a small firm is the Apply to each array cap of 5,000 items on a free or Microsoft 365-included licence, which shows up the first time someone builds a flow that loops over every row in a growing SharePoint list or Excel table rather than filtering first. The flow runs fine in testing on a short list and then silently stops partway through once the source data crosses the threshold, the same quiet-failure pattern that SharePoint's own list limits produce in a canvas app.
The other place a small tenant meets a wall is turning on Concurrency Control without testing it first. Set to 1 it makes runs go one at a time, which stops two runs of the same flow handling the same record at the same moment. It does nothing about a second flow, a person or an app writing that record. It also can't be switched off again without rebuilding the trigger, and once the waiting queue is full (10 plus the degree of parallelism) extra triggers may never become runs. Put the steps that need protecting in a child flow and set concurrency there.
The workaround
For the action-count ceiling, split logic into child flows once a single flow starts feeling unwieldy in the designer, well before 500 becomes the actual blocker. For the array-processing cap, filter or query the source down to the rows that matter before the Apply to each loop runs, rather than looping over the whole table and discarding most of it inside the loop; that also keeps the flow well clear of the daily request allowance, since every loop iteration burns its own request. For the daily allocation itself, the lever depends on the cause. A flow owned by someone with Power Automate Premium runs at 40,000 requests a day, against 6,000 for a Microsoft 365-only owner, so moving the flow to a Premium-licensed owner lifts it without touching the logic. Past 40,000, assign a Process licence to the flow itself: that gives it its own 250,000 a day whoever owns it, and you can stack up to 10 on one flow. Moving a flow to a person never gives it Process limits. What each licence costs in NZD is on Power Platform pricing in NZ.
What a 429 means
A 429 in a run history is a connector telling the flow to slow down, and it is a different ceiling from the daily request allowance. SharePoint, for example, allows 600 calls a minute per connection however many flows share it, so a flow can be throttled while it is nowhere near 6,000 a day. Power Automate retries for you: a flow owned by a Premium user or on a Process licence gets up to 12 retries spread over about an hour, and a flow owned by a Microsoft 365-only user gets two, over about ten minutes. Retries and failed actions both count against the daily allowance. I check the error text first, then cut the calls per minute (filter at the source, lower the degree of parallelism), and only then look at licences.
Throttling is one of nine reasons a flow stops; the whole checklist is why did my flow just stop running.
Common questions
How many actions can a single Power Automate flow have?
500 actions per flow definition is the documented limit, and Microsoft warns that flows can feel sluggish to edit well before that, in the Power Automate designer. A flow that needs more logic than that is usually a sign it should be split into child flows rather than pushed further.
How many flow runs can happen at the same time?
Unlimited, by default, because Concurrency Control ships turned off. Turning it on caps concurrent runs to a number from 1 to 100, defaulting to 25, and that switch cannot be turned off again without deleting and re-adding the trigger, so it's worth testing before flipping it on a live flow.
How many Power Platform requests does a flow's licence allow per day?
6,000 a day for a free or Microsoft 365-included user, 40,000 for a Power Automate Premium or per-user plan, and 250,000 for a flow carrying a Process or per-flow licence. An automated or scheduled flow takes the limit of its owner's licence, an instant flow takes the limit of whoever runs it, and a flow with a Process licence always gets 250,000 whoever owns or runs it. So moving a heavy automated flow to a Premium-licensed owner lifts it to 40,000 without touching the flow itself.
Why would a flow need a Power Automate Process licence?
A Process or per-flow licence raises a flow's daily Power Platform request allowance to 250,000, well above the 6,000 a free or Microsoft 365-included user gets or the 40,000 a Premium per-user plan gives. A Process licence is assigned to the flow, not to a person, so moving a flow to a different owner never gives it Process limits. For a small firm, filtering the requests down first is usually cheaper.

Has a flow started stopping partway through?
Free 30-minute call. Tell me what it loops over and how big the source has grown, and I'll work out which limit it's hitting.