Limits for automated, scheduled, and instant flows
This topic contains information about the current limits and configuration details for automated, scheduled, and instant flows.
Check out the pricing for details on the different plans.
Flows have different limits depending on their performance profile. There are four possible values, depending on the flow owner's plan.
- Microsoft 365 plans
- Power Apps Plan 1, Per App plans
- Power Automate Plan 1
- All license trials
- Dynamics 365 Team Member
- Microsoft Power Apps for Developer
|Medium||- Power Apps triggered flows, manual flows, child flows, Power Apps Plan 2, Power Apps per user plan
- Power Automate Plan 2, Power Automate per user, Power Automate per user with Attended RPA plans
Dynamics 365 Enterprise plans, Dynamics 365 Professional plans
- Dynamics 365 non-licensed users, application users, users with special free licenses
|High||- Power Automate per flow plan|
|Unlimited Extended||- Pay-as-you-go flows, Dynamics in context flows running under service principal|
If a user has multiple plans, such as a Microsoft 365 plan and a Dynamics 365 plan, the flow will have the performance profile of the higher of the two plans. For the exact set of plans that include Power Automate, go to the Microsoft Power Platform Licensing Guide.
If needed, users can review their current plan by opening the session debugging information by pressing Ctrl + Alt + A in the maker portal. The plan being used will have isCurrent=true.
The flow uses the plan of the owner of a cloud flow. If a cloud flow has been shared with multiple people, then generally the owner is the original creator. If you're unsure, you can change the owner of a cloud flow using the Web API. At this time, if the original owner leaves an organization, the flow will be reverted to the Low performance profile.
Flow definition limits
The following table contains the limits for a single flow definition.
|Actions per workflow||500||You can add child flows to extend this limit, as needed. Flows with a large number of actions may encounter performance issues while you edit them, even if they have fewer than 500 actions. If you encounter performance issues while you edit your flow, consider using child flows to reduce the number of actions in a single flow.|
|Allowed nesting depth for actions||8||To extend this limit, you can add child flows as needed.|
|Switch scope cases limit||25|
|Variables per workflow||250|
|Characters per expression||8,192|
|Maximum size for
My flows limit
The following table contains the limit for the My flows and Team flows tab.
|Number of flows owned by a single user||600||To extend this limit, use flows under solutions.|
Duration and retention limits
The following tables contain the duration and retention limits.
The following table contains the duration limits for a single flow run.
|Run duration||30 days||Run duration is calculated by using a run's start time. Includes flows with pending steps like approvals. After 30 days, any pending steps time-out.|
|Run retention in storage||30 days||Run retention is calculated by using a run's start time.|
|Minimum recurrence interval||60 seconds|
|Maximum recurrence interval||500 days|
|Minimum postpone interval||5 seconds for Low, 1 second for all others|
The following table contains the limits on how long flows will remain turned on before they expire and get turned off.
|Flows with errors||14 days||A cloud flow that has a trigger or actions that fail continuously will be turned off. Fix your trigger or actions and turn on the flow. These flows will have FlowSuspensionReason=AlwaysFailingDetected.|
|Not triggered (dormant) flows||90 days for Free, Trial, Community and Microsoft 365 Plans.No expiration limit for all others||A cloud flow that has no successful triggers will expire and be turned off. After 90 days of inactivity, the flow creator and co-owners will receive an email. If no action is taken in next 30 days, the flow will be systematically turned off, and the creator and co-owners will be notified in an email. For enterprise scenarios, we recommend you buy a standalone Power Automate license listed on Power Automate pricing to ensure your flow isn’t turned off due to inactivity. You can turn your cloud flows back on anytime. These flows will have FlowSuspensionReason=NeverTriggeringDetected.|
|Consistently throttled flows||14 days||A cloud flow that's consistently throttled for 14 days will be turned off. The flow creator and co-creators will get an email when the flow starts throttling and when the flow is turned off. For enterprise scenarios, we recommend you buy a standalone Power Automate license listed on Power Automate pricing to get higher action limits. You can turn your cloud flows back on anytime.|
|Premium flows without premium licenses||14 days||Flows that were created with premium features (premium connectors, custom connectors, HTTP connectors, on premises gateway, and business process flows) but don't have a premium Power Automate license will be turned off after 14 days. This situation happens if the original owner leaves the organization, or if they have an expired trial or premium license. The flow owner and co-owners will get an email when the trial or premium license expires, or when the owner isn't found in Azure Active Directory (AAD). The flow will continue to work for 14 days. If a premium license isn't assigned to the flow within 14 days, the flow is automatically turned off, and the owner and co-owners are notified through email. Newly created or edited premium flows without a premium license are saved but turned off. Once a premium Power Automate license is assigned to the owner or flow, you can turn on the flow. Admins can find these flows. Assign a per flow license or a per user license to the owner to keep the flow running.|
|Power Apps out of context flows||90 days||Power Apps licenses include a limited set of Power Automate capabilities that allow for in context flows. To learn more, go to Power Apps license questions. Premium automated or scheduled flows not linked to an app require a Power Automate license, and the owner has 90 days to get a license before the flows turn off. Admins can find these flows and assign a per flow license or a Power Automate per user license to the owner to keep the flow running. Alternatively, if the flow is supporting a Power App, associate the flow to the app. Flows triggered by Power Apps are excluded from this enforcement. Starting June 1, 2023, new flows using premium features without a license will be turned off by default. Owners and co-owners of flows created before June 1, 2023 will be notified, have a 90-day grace period, and will be turned off starting September 1, 2023 if no action is taken. Turning on these flows requires a premium Power Automate license or association with the corresponding app.|
|Dynamics out of context flows||90 days||Dynamics licenses include a limited set of Power Automate capabilities that allow users to run flows that allow for in context flows. To learn more, go to Power Automate use rights included with Dynamics licenses. Premium automated or scheduled flows not linked to an app require a Power Automate license, and the owner has 90 days to get a license before the flows turn off. Admins can find these flows and assign a per flow license to the flow or a Power Automate per user license to the owner to keep the flow running. Alternatively, if the flow is supporting a D365 app, associate the flow to the app. Starting June 1, 2023, new flows using premium features without a license will be turned off by default. Owners and co-owners of flows created before June 1, 2023 will be notified, have a 90-day grace period, and will be turned off starting September 1, 2023 if no action is taken. Turning on these flows requires a premium Power Automate license or association with the corresponding app. Flows using first party Dynamics apps or talking to Dynamics entities in Dataverse are excluded from this enforcement.|
|Over allocated per flow flows||90 days||A Per flow license can only be assigned to one flow. Environments with more flows with per flow licenses than allowed will trigger email notifications to Owners and co-owners of newer per flow flows. Admins can find these flows. Starting June 1, 2023, new flows can't use per flow plans if all plans are in use. Flows created before June 1, 2023 get a grace period of 90 days. If the owner of the flow has a Power Automate license, after 90 days, the flow will start using the owner's license. If no action is taken, the flows are turned off starting September 1, 2023. Assign a per flow license to the flow or a Power Automate per user license to the owner to keep the flow running.|
|Service Principal flows missing Per flow license||90 days||Premium flows whose owner is a service principal will either need to have a per flow license or in the context of Dynamics 365 application. Starting June 1, 2023, new service principal flows using premium features without a Per flow license will be turned off by default. Owners and co-owners of flows created before June 1, 2023 will be notified, have a 90-day grace period, and will be turned off starting September 1, 2023 if no action is taken. Turning on these flows requires a premium Power Automate per flow license or association with the corresponding Dynamics app. Flows using first party Dynamics apps or talking to Dynamics entities in Dataverse are exempt from this enforcement.|
Concurrency, looping, and debatching limits
The following table contains the limits for a single flow run.
|Trigger concurrency||- Unlimited when the concurrency control is turned off
- 25 is the default limit when the concurrency control is turned on, which you can't undo after you enable concurrency. You can change the default to a value between 1 and 100 inclusively in the settings for the trigger under Concurrency Control.
|This limit describes the highest number of flow runs that can run at the same time, or in parallel.
Note: When concurrency is turned on, the SplitOn limit is reduced to 100 items for debatching arrays.
|Maximum waiting runs||- With concurrency, the minimum number of waiting runs is the number of concurrent runs (trigger concurrency). As this is dependent on runtime behavior, use the trigger concurrency setting instead.||This limit describes the highest number of flow runs that can wait to run when your flow is already running the maximum concurrent instances.|
|Apply to each array items||5,000 for Low, 100,000 for all others||This limit describes the highest number of array items that an "apply to each" loop can process.
To filter larger arrays, you can use the query action.
|Apply to each concurrency||1 is the default limit. You can change the default to a value between 1 and 50 inclusively.||This limit is highest number of "apply to each" loop iterations that can run at the same time, or in parallel.|
|Split on items||- 5,000 for Low without trigger concurrency
- 100,000 for all others without trigger concurrency
- 100 with trigger concurrency
|For triggers that return an array, you can specify an expression that uses a 'SplitOn' property that splits or debatches array items into multiple workflow instances for processing, rather than use a "Foreach" loop. This expression references the array to use for creating and running a workflow instance for each array item.
Note: When concurrency is turned on, the Split on limit is reduced to 100 items.
|Until iterations||- Default: 60
- Maximum: 5,000
|Paginated items||5,000 for Low, 100,000 for all others||To process more items, trigger multiple flow runs over your data.|
Here are the time-bound limits for a single version of a cloud flow definition. These limits apply across all runs of the flow version, and are calculated on sliding windows.
If a cloud flow exceeds one of the limits, activity for the flow will be slowed and will automatically resume when the sliding window has activity below the limit. However, if a cloud flow consistently remains above the limits for 14 days, it will be turned off (see above duration limits). Be sure to monitor email for notifications about such flows. If a cloud flow consistently exceeds the limits, you'll need to update the flow to remain below the limits to prevent it from being turned off.
Because these limits are for a single version, if you update your flow it will reset these limits.
Power platform request limits
Power platform request limits are limits to the number of requests a cloud flow can run. To learn more about Power platform requests, go to Power Platform requests. These requests are counted for all types of actions, including connector actions, HTTP actions, and built-in actions from initializing variables to a simple compose action. Both succeeded and failed actions count towards these limits. Additionally, retries and additional requests from pagination count as action runs. You can see the number of actions your flow has run by selecting Analytics from the flow details page and reviewing the Actions tab.
|Name||Transition period limit||Notes|
|Power platform requests per 5 minutes||100,000||Distribute the workload across more than one flow as necessary.|
|Power platform requests per 24 hours||10,000 for Low, 100,000 for Medium, 500,000 for High, up to 10,000,000 for Unlimited Extended||Because of the current transition period, these limits are less strict than the values called out in Requests limits and allocations. These limits represent approximations of how many requests will be allowed daily. They aren't guarantees. Actual amounts may be smaller, but will be greater than the documented requests limits and allocations during the transition period. The documented limits were substantially increased in late 2021. For public preview reporting for Power Platform requests, go to View detailed Power Platform request usage information in the Power Platform admin center (preview). Any potential high usage enforcement based on these limits wouldn't start until six months after reports have been made generally available. Distribute the workload across more than one flow as necessary.|
|Concurrent outbound calls||500 for Low, 2,500 for all others||You can reduce the number of concurrent requests or reduce the duration as necessary.|
As of October 2019, there are limits on the number of Microsoft Power Platform requests an account can make across all of their flows, Power Apps, or any applications calling into the Microsoft Dataverse. No performance is guaranteed above these limits, although enforcement of these limits isn't as strict during the transition period. To learn more, go to Requests limits and allocations.
Individual connectors have their own limits, which often will be reached before the limits mentioned earlier. Be sure to check the documentation for your connector on Power Platform and Azure Logic Apps connectors documentation.
Runtime endpoint request limits
The runtime endpoint is the direct access URL for a given flow. It starts with something like:
|Concurrent inbound calls||~1,000||You can reduce the number of concurrent requests or reduce the duration as necessary.|
|Read calls per 5 minutes||6,000 for Low, 60,000 for all others||This limit applies to calls that get the raw inputs and outputs from a cloud flow's run history. You can distribute the workload across more than one flow as necessary.|
|Invoke calls per 5 minutes||4,500 for Low, 45,000 for all others||You can distribute workload across more than one flow as necessary.|
Content throughput limits
The content throughput limits refer to the amount of data that's read from or written to the run history of the cloud flow.
|Content throughput per 5 minutes||600 MB for Low, 6 GB for all others||You can distribute workload across more than one flow as necessary.|
|Content throughput per 24 hours||1 GB for Low, 10 GB for Medium, 50 GB for High||You can distribute workload across more than one flow as necessary.|
Power Automate supports write operations, including inserts and updates, through the gateway. However, these operations have limits on their payload size.
Here are the limits for a single outgoing or incoming HTTP call:
Some connector operations make asynchronous calls or listen for webhook requests, so the timeout for these operations might be longer than these limits. For more information, see the technical details for the specific connector.
|Outbound synchronous request||120 seconds
|Examples of outbound requests include calls made by HTTP triggers.
Tip: For longer running operations, use an asynchronous polling pattern or an until loop. To work around timeout limits when you call another flow that has a callable endpoint, you can use the built-in action instead, which you can find in the connector picker under Built-in.
|Outbound asynchronous request||Configurable up to 30 days|
|Inbound request||120 seconds
|Examples of inbound requests include calls received by request triggers and webhook triggers.
Note: For the original caller to get the response, all steps in the response must finish within the limit unless you call another flow as a child flow.
If you test a cloud flow that runs for longer than 10 minutes, you may get a timeout message in Power Automate, even though the flow continues to run in the background. If this happens, re-open the view to receive the current status.
|Message size||100 MB||To work around this limit, consider allowing chunking under the action content transfer settings. However, some connectors and APIs might not support chunking or even the default limit.|
|Message size with chunking||1 GB||This limit applies to actions that either natively support chunking or let you enable chunking in their runtime configuration.|
|Expression evaluation limit||131,072 characters||The
|Request URL character limit||16,384 characters|
Default retry policy
|Low||This policy sends up to two retries at exponentially increasing intervals, which scale by 5 minutes up to an interval of approximately 10 minutes for the last retry.|
|Medium, High||This policy sends up to eight retries at exponentially increasing intervals, which scale by seven (7) seconds up to an interval of approximately 15 minutes for the last retry.|
Retry setting limits
To change the default settings, use the retry policy parameter. Here are the limits for the retry settings.
|Retry maximum delay||1 day|
|Retry minimum delay||5 seconds|
For more information on other retry policies, go to Handle errors and exceptions in Azure Logic Apps, Retry policies.
Turning off or deleting flows
When you turn off a cloud flow, no new runs are instantiated. All in-progress and pending runs continue until they finish, which might take time to complete.
When you delete a cloud flow, no new runs are instantiated. All in-progress and pending runs are canceled. If you have thousands of runs, cancellation might take significant time to complete.
Custom connector limits
Here are the limits for custom connectors that you can create from web APIs.
|Number of custom connectors||50 per user|
|Number of requests per minute for a custom connector||500 requests per minute per connection|
You must have a premium or trial license to run any flow that has a custom connector.
There are limitations on how you can use Microsoft SharePoint with Power Automate and Power Apps.
For detailed information about using SharePoint with Power Automate, go to the SharePoint documentation.
Requests from Power Automate use IP addresses that are associated with the region of the environment in which your flow exists.
Calls made from connectors in cloud flows come from these IP addresses. Add them to your network's allow list to facilitate communications from Power Automate.
Allow list of namespaces endpoints required for runtime
By default, administrators need to authorize endpoints, including *.servicebus.windows.net, to allow desktop flow runs.
If you don’t want to authorize this public endpoint, you can alternatively allow all the following namespace endpoints.
This list of namespace endpoints can evolve. Therefore, ensure that you regularly check this page to keep the list of authorized endpoints up to date.
|URI||Power Platform Region||Is preview|
|produaecentralmmrns-1-6v46fkb43e56k.servicebus.windows.net||United Arab Emirates||No|
|produaenorthmmrns-1-6rlrfzdyg6y2s.servicebus.windows.net||United Arab Emirates||No|
For additional details on how to permit access to automated, scheduled, and instant flows, including required endpoints, go to IP address configuration.
Flow suspension because of runtime limits
Suspended flows will be shown as suspended in the Power Automate maker portal and the Power Platform Admin Center. When a flow is returned through API, PowerShell, or the Power Automate Management connector list flows as admin action, the flow will be State=Suspended, and have appropriate FlowSuspensionReason and FlowSuspensionTime values.
FlowSuspensionReason values for runtime limits:
Submit and view feedback for