Power Automate Common Errors & How to Fix Them
A practical troubleshooting guide covering the 10 most common Power Automate errors (from throttling and rate limits to authentication failures, timeout issues, and expression errors) with specific fixes for each.
Error 1: 429 Too Many Requests, Throttling
What it means: The connector or API you're calling has received too many requests in a short time and is rate-limiting your flow.
Common causes:
- Looping over a large list and calling an API for each item without delay
- Multiple flows triggering simultaneously against the same service
- SharePoint throttling from high-frequency list operations
Fix:
- Add a Delay action inside loops (minimum 1 second between iterations)
- Enable Retry Policy on the throttled action: set to Exponential Interval with 4 retries
- For SharePoint: use batch operations via the SharePoint REST API rather than individual item calls
- Move high-volume processing to off-peak times using scheduled triggers
Exponential backoff matters. A fixed retry after 1 second often hits the same throttle window. Exponential retry (2s, 4s, 8s, 16s) dramatically improves success rates during throttle periods.
Error 2: Action Timed Out (HTTP 408)
What it means: An action took longer than the maximum allowed time to complete. HTTP actions time out after 120 seconds; some connectors have shorter limits.
Common causes:
- Calling an API or database query that returns large datasets
- On-premises data gateway operations under heavy load
- Inefficient Power Apps formulas called from flows
Fix:
- Paginate large data requests, never retrieve all rows in a single call
- Add filters to queries at the source (OData $filter for SharePoint, WHERE clauses for SQL)
- Check on-premises gateway health, high CPU or memory on the gateway machine causes timeout cascades
- Break long-running operations into smaller chunks using Do Until loops with state tracking in Dataverse
Error 3: Connection Expired / Authentication Failure
What it means: The OAuth token or credentials used by a connection have expired or been revoked.
Common causes:
- The user who owns the connection has left the organisation (most common)
- A password change without re-authenticating the connection
- MFA policy changes that invalidate existing tokens
Fix:
- Never build production flows under a personal user account. Use a dedicated service account or, better, a service principal (Azure AD app registration).
- For existing flows: re-authenticate the affected connection under the correct account in the Power Automate portal
- For service principals: register an Azure AD app, grant it the required permissions, and use the HTTP with Azure AD connector or service principal connection
The number 1 cause of production flow failures in UK organisations is a connection owned by a user who has since left the company. Audit connection ownership now. Any production flow owned by a former employee is a live risk.
Error 4: Trigger Condition Not Met (Flow Runs But Does Nothing)
What it means: The flow triggers correctly but the trigger condition filters out the event before any actions run.
Common causes:
- Incorrect OData filter query on the SharePoint or Dataverse trigger
- Mismatched column names (internal name vs display name)
- Case-sensitive comparisons returning false negatives
Fix:
- Test trigger conditions in isolation using the Trigger Conditions editor with a literal test value
- For SharePoint: use the column's internal name (visible in the URL when editing a column), not its display name
- Add a Compose action to inspect exactly what the trigger receives, compare this to your condition logic
Error 5: Object Reference Not Set (Null Reference Error)
What it means: Your flow is trying to use a value that doesn't exist, the property path you've referenced returned null.
Common causes:
- Referencing a dynamic content field that isn't always populated
- Using an action output that sometimes fails silently
- SharePoint lookup columns returning empty objects
Fix:
- Wrap all potentially-null values with coalesce(): coalesce(triggerBody()?['fieldName'], 'default value')
- Use the null-conditional operator in expressions: body('Get_item')?['LookupField']?['Value']
- Add a Condition action to check if the value exists before using it
Error 6: The Requested Operation Is Invalid (SharePoint Permissions)
What it means: The connection account doesn't have permission to perform the operation on the SharePoint site, list, or library.
Fix:
- Verify the service account has at minimum Contribute permission on the target list
- For site creation or admin operations: the account needs Site Collection Administrator rights
- Check whether site inheritance is broken, child sites may have separate permission sets
- Use the SharePoint Check Permissions tool on the affected resource to confirm the actual permission level
Error 7: Invalid Template, Expression Evaluation Failed
What it means: An expression in your flow has a syntax error or references an unavailable property.
Common causes:
- Missing quotes around string literals in expressions
- Wrong function name or parameter count
- Referencing dynamic content from a parallel branch
Fix:
- Use the expression editor's syntax highlighting, red underlines indicate errors
- Test expressions in isolation with Compose actions before embedding them in conditions
- Check the Power Automate expression reference documentation for correct function signatures
Error 8: Flow Suspended Due to Billing
What it means: The flow has been suspended because the account running it no longer has an appropriate Power Automate licence.
Fix:
- Check the licence status of the flow owner in the Microsoft 365 admin centre
- Reassign the flow to an account with an active Power Automate licence
- For flows using premium connectors, ensure the owner has a Power Automate Premium (per-user) or equivalent licence
Error 9: Concurrency Limit Exceeded
What it means: More instances of the flow are running simultaneously than the configured concurrency limit allows.
Fix:
- In the trigger settings, increase the Concurrency Control limit (maximum 50 for most triggers)
- For high-volume scenarios, consider splitting the workload across multiple flows
- Use Dataverse to queue work items and a scheduled flow to process them at a controlled rate
Error 10: Data Operation, The Item Could Not Be Found
What it means: A Get Item, Update Item, or Delete Item action couldn't find the record with the specified ID.
Common causes:
- The ID was retrieved in a previous run and the item has since been deleted
- Race condition, another flow deleted the item between retrieval and update
- Incorrect ID type causing a mismatch
Fix:
- Always handle the not-found case: configure the action's Run After settings to continue on failure, then check the status code for 404
- Use coalesce() to provide a fallback ID if the primary lookup returns null
- Add explicit type conversion where needed
General Debugging Strategy
- Check the run history, every flow execution is logged with inputs, outputs, and error messages for each action
- Use Compose actions as breakpoints, add a Compose action after any suspect action to log its output to the run history
- Enable diagnostic tracing in the trigger settings for complex flows
- Test with a minimal flow, strip the flow back to the suspect section to isolate the issue
- Check connector status, Microsoft publishes real-time service health at status.cloud.microsoft
Work With Us
Ready to Put This Into Practice?
Book a free consultation with our Microsoft-certified Power Platform team and get expert guidance tailored to your organisation.
