Power Automate is a powerful tool for automating workflows, but it enforces rate limits to ensure fair usage and system stability. If your flows exceed these limits, they may fail or get throttled, leading to delays or disruptions.
In this guide, we will cover:
What rate limits are in Power Automate
How to check and handle rate limit errors
Best practices to avoid exceeding limits
1. What Are Rate Limits in Power Automate?
Definition: Rate limits in Power Automate control how frequently actions can be executed within a given timeframe. These limits vary based on:
✔️ License type (Standard, Premium, Per User, Per Flow)
✔️ Connector type (Standard vs. Premium)
✔️ API limits of external services
Example:
- A standard Microsoft 365 connector allows 600 API requests per minute.
- Premium connectors may have stricter or different limits.
Why It Matters? Exceeding rate limits results in throttling, where requests are delayed or blocked temporarily.
2. Types of Rate Limits in Power Automate
Power Automate enforces limits at different levels:
1. API Request Limits per Flow Run
Each flow run can only send a limited number of requests per minute.
License Type | Max API Requests per Flow Run |
---|---|
Per User Plan | 5,000 per day |
Per Flow Plan | 15,000 per day |
Free Plan | 600 per day |
Example: If a flow calls a SharePoint API 700 times per minute, Power Automate may throttle it.
2. Connector-Specific Limits
Some connectors (e.g., SharePoint, Dataverse, Outlook) have built-in API limits.
Connector | Request Limit |
---|---|
SharePoint | 600 per minute |
Dataverse | 1,000 per minute |
Office 365 Users | 1,500 per hour |
Example: A flow updating a SharePoint list 1,000 times in a minute will hit the 600 requests per minute limit.
3. Loop Execution Limits
Power Automate limits how many loop iterations can run at the same time.
- “Apply to Each” loop default concurrency: 1 (sequential processing)
- Can be increased to 50 parallel executions
Example: If a flow tries to update 5,000 records in parallel, it may hit concurrency limits.
3. How to Check If Your Flow Is Hitting Rate Limits
Using Flow Run History
1️⃣ Navigate to Power Automate → My Flows
2️⃣ Click on the flow experiencing issues
3️⃣ Open Run History
4️⃣ Look for errors like:
- 429 Too Many Requests
- Throttling Exception
- API Rate Limit Exceeded
Example Error Message:
Error 429: Too Many Requests. You have exceeded the API request limit.
Checking Power Automate Analytics
1️⃣ Open Power Automate → Analytics
2️⃣ Select Flow Usage
3️⃣ Review API request count per flow
Benefit: Helps identify flows consuming too many requests.
4. Strategies to Handle and Avoid Rate Limits
1. Reduce Unnecessary API Calls
✔️ Avoid calling the same API multiple times in a row.
✔️ Store data in variables instead of re-fetching from connectors.
✔️ Use filter queries to fetch only necessary data.
Example (Optimized Query): Instead of retrieving all SharePoint items and filtering in Power Automate:
Get items where Status = ‘Pending’
Use OData filter queries to fetch only relevant records upfront.
2. Implement Retry Policies for Transient Failures
Why? Some failures occur due to temporary rate limits. Power Automate allows automatic retries to prevent failures.
How to enable retries:
1️⃣ Open an action in Power Automate
2️⃣ Click Settings
3️⃣ Adjust Retry Policy
- Exponential Backoff: Waits progressively longer before retrying
- Fixed Interval: Retries at a set time interval
Example Retry Policy:
- Type: Exponential
- Max Retries: 3
- Initial Delay: 5 seconds
Benefit: Reduces errors due to temporary API limits.
3. Use Concurrency Control in Loops
Why? Too many parallel executions can overload APIs.
How to enable concurrency control:
1️⃣ Click Apply to Each loop
2️⃣ Open Settings
3️⃣ Enable Concurrency Control
4️⃣ Reduce parallel executions (e.g., from 50 to 10)
Example: Processing 5,000 records in batches of 10 instead of all at once prevents API throttling.
4. Cache Data to Minimize API Calls
Why? Re-fetching data increases API usage. Instead, store it in a temporary cache like:
Power Automate Variables
SharePoint List
Dataverse Table
Example: Instead of calling an API every minute, store the last response in a variable and use it for multiple actions.
5. Optimize Flow Design with Scheduled Triggers
Why? Real-time triggers (e.g., “When an item is modified”) can generate too many API calls.
Alternative: Use scheduled triggers instead of instant triggers.
Example:
Inefficient: Trigger on every SharePoint update
Efficient: Run flow every 15 minutes to check for changes
Benefit: Reduces unnecessary executions.
5. Advanced Rate Limit Handling with Azure Logic Apps
For complex workflows requiring higher API limits, use Azure Logic Apps instead of Power Automate.
✔️ Why? Azure Logic Apps offer higher API throughput and better scaling options.
Example: A business processing millions of API requests per day can switch to Logic Apps to avoid Power Automate throttling.