Too many actions in the flow – The number of actions in the flow exceeds the allowed limit

Loading

Power Automate imposes limits on the number of actions a flow can execute in a single run. If a flow exceeds this limit, it fails with the error:

“The number of actions in the flow exceeds the allowed limit.”

This guide explains:
Why the action limit error occurs.
How to check and monitor action usage in a flow.
How to optimize your flow to stay within the limits.


Step 1: Understanding Action Limits in Power Automate

1.1. Maximum Allowed Actions per Flow Run

Plan TypeMax Actions per Flow Run
Microsoft 365 Plan (Standard)500
Per-User Plan / Per-Flow Plan5000
Power Automate Process PlanHigher Limits
Azure Logic Apps (Alternative)No Fixed Limit (Depends on Pricing)
  • If a flow contains more actions than the allowed limit, it fails automatically.
  • The limit applies to every flow run, not just the design.

Step 2: Identifying the Issue

2.1. Check Flow Run History for Action Count

  1. Open Power Automate (https://make.powerautomate.com).
  2. Click on My Flows → Select the affected flow.
  3. Go to Run History → Open a failed run.
  4. Look for the error message: kotlinCopyEditThe number of actions in this flow exceeds the allowed limit.

2.2. Count Actions in Flow Designer

  1. Open the flow in edit mode.
  2. Count the total number of actions (each step counts).
  3. Identify which sections have the highest action usage (e.g., loops, conditions, approvals).

Step 3: Resolving the Issue

3.1. Reduce the Number of Actions in the Flow

If your flow contains too many actions, remove redundant steps.

Example: Consolidate Multiple Conditions into One

Inefficient:

Condition 1: If Status = "Approved", then do X  
Condition 2: If Status = "Pending", then do Y
Condition 3: If Status = "Rejected", then do Z

Optimized:

Use a single "Switch" statement to handle multiple conditions in one step.

This reduces multiple conditions into one action, improving efficiency.


3.2. Reduce the Use of “Apply to Each” Loops

Loops drastically increase action count when iterating through large datasets.

Example: Retrieve and Process Only Necessary Data

Inefficient:

  • The flow retrieves 10,000 records and loops through each one.

Optimized:

  • Filter records before looping using a Query or OData filter.
  • Set a Top Count limit (e.g., 500) to process fewer records.

3.3. Use “Scope” Actions to Group Multiple Steps

Scopes help organize multiple actions and reduce complexity.

Example: Group Related Actions Under a Single Scope

  1. Add a Scope action.
  2. Move related actions inside the Scope.
  3. Handle errors at the scope level instead of adding error handling in every action.

This reduces redundant checks and simplifies the flow.


3.4. Minimize Unnecessary Data Operations

Inefficient:

  • Fetching all records and then filtering inside the flow.

Optimized:

  • Use Filter Queries in connectors (e.g., SharePoint, SQL, Dataverse) to fetch only required records.

Example: SharePoint List Query with Filter Query

Filter Query: Status eq 'Active'

This avoids unnecessary loops, reducing action count.


3.5. Use Expressions Instead of Multiple Actions

If a flow uses multiple actions to manipulate data, replace them with Power Automate expressions.

Example: Format a Date Without Extra Actions

Inefficient:

  • “Convert Time Zone” action
  • “Format Date” action

Optimized:
Use a single expression:

formatDateTime(utcNow(), 'yyyy-MM-dd')

This replaces two actions with one expression.


3.6. Replace Recurring Actions with a Scheduled Flow

If a flow triggers too often (e.g., every minute), consider reducing the frequency.

Example: Instead of Running Every Minute, Use Hourly Schedule

Inefficient:

  • A flow runs every minute, adding 1440 executions per day.

Optimized:

  • Change the trigger to run hourly (24 runs per day).

3.7. Break a Single Flow into Multiple Flows

If a flow performs too many tasks, split it into smaller flows.

Example: Split Data Processing into Two Flows

  1. Flow 1: Fetches and stores records in SharePoint or Dataverse.
  2. Flow 2: Processes those records on a schedule.

This reduces action count per flow, preventing errors.


3.8. Use Power Automate Premium Features (Child Flows)

  • Use “Run a Child Flow” action to move some actions into a separate flow.
  • The main flow calls the child flow, keeping it within limits.

Requires Power Automate Premium, but allows better scalability.


3.9. Use Azure Logic Apps for Large Workflows

If Power Automate’s action limits are too restrictive, consider using Azure Logic Apps, which allow:
More actions per workflow
Longer execution times
Higher scalability

  1. Open Azure Portal → Go to Logic Apps.
  2. Create a Logic App for large-scale automation.
  3. Trigger Power Automate flows from Logic Apps.

This allows complex workflows beyond Power Automate’s limits.


Step 4: Preventing Future Action Limit Issues

4.1. Best Practices to Reduce Action Count

Use fewer conditions – Switch to “Switch” instead of multiple “If” conditions.
Reduce loop iterations – Process only necessary records.
Use expressions instead of extra actions – Format text/dates in a single step.
Break large flows into multiple flows – Keep each flow within limits.
Use child flows – Offload logic into separate smaller flows.
Monitor flow usage in Power Platform Admin Center – Track action count trends.

4.2. Set Up Alerts for High Action Usage

  1. Open Power Platform Admin Center.
  2. Set up alerts for flows approaching 500 actions (Microsoft 365) or 5000 actions (Premium).

This helps detect excessive actions before failures occur

Leave a Reply

Your email address will not be published. Required fields are marked *