← All Guides
Power Automate 5 October 2025 813 downloads

Power Automate Common Errors & How to Fix Them

Download Word DocumentFree · No sign-up required · .docx format

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

  1. Check the run history, every flow execution is logged with inputs, outputs, and error messages for each action
  2. Use Compose actions as breakpoints, add a Compose action after any suspect action to log its output to the run history
  3. Enable diagnostic tracing in the trigger settings for complex flows
  4. Test with a minimal flow, strip the flow back to the suspect section to isolate the issue
  5. 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.