Trigger Conditions in Power Automate: Only Start Flows When It's Worth It

Trigger conditions in Power Automate: syntax with the @ sign, OR combination, and why they reduce API requests and costs.

Hand-drawn sketch: a valve wheel on a pipe, colored teal, controlling whether liquid can flow through.

Trigger conditions ensure in Power Automate that a flow is only actually executed once one or more additional conditions are met, instead of starting on every single event and only performing the check in an action afterward. Each trigger condition is an expression that, according to Microsoft Learn, must begin with the @ sign, and a flow only runs when all configured conditions are met. As of: August 2026.

Why isn't a normal condition in the action enough?

Because without a trigger condition, the flow still starts on every event and is already counted as an executed run, even if a later condition ends it immediately. Microsoft Learn gives an example: an invoice review triggered per incoming invoice can produce 1,000 runs for 1,000 incoming invoices, even though only 50 of them are actually approved. With a trigger condition on the approval status, only the 50 relevant cases actually run, which reduces costs especially in pay-as-you-go environments, since every run is billed there. Details on this are available at Customize triggers.

What does the syntax of a trigger condition look like?

Every trigger condition begins with the @ sign, followed by an expression that checks a value from the trigger. If several conditions are meant to apply at the same time, it's enough to add several expressions individually: by default, all of them must then be met for the flow to start. If instead any one of several conditions should be sufficient, according to Microsoft Learn the syntax @or(test1, test2, test3) is to be used. If a condition is not met, the flow is not triggered at all, and according to the same source, no run is logged in the history either. Further examples of such expressions can be found at Use expressions in conditions.

Where do I enter the trigger condition in the flow?

In the new designer, open the flow's trigger, select Settings there, and add the expression via the Add button next to Trigger Conditions. In the classic designer, expand the trigger, open Settings via the three-dot menu, and find the Add entry under Trigger Conditions. In both cases, you can also have an expression generated from the Filter array action: build the condition there in advanced mode, copy the expression, paste it into the trigger's trigger condition, and then delete the Filter array action again.

Where else does this topic typically only come up in passing?

In many Power Automate troubleshooting guides, the trigger condition is only mentioned as an aside, for example when a flow seemingly runs too often or too rarely for no reason. Yet it is usually the simplest lever for fixing exactly this behavior, because it takes effect directly at the trigger and not only several actions later. Anyone who regularly works with flows that respond to SharePoint, email, or Dataverse events should therefore plan trigger conditions in as a standard tool, rather than retrofitting them only once the number of runs becomes a problem. If you want your existing flows checked for unnecessary runs, our Power Automate consulting.

Frequently asked questions about trigger conditions in Power Automate

Does a flow that doesn't start because of a trigger condition count as a run?

No. According to Microsoft Learn, in this case the flow is not triggered at all, and no entry is created in the run history. This distinguishes the trigger condition from a normal condition within the flow, which is only checked after the start and still produces a run.

Can I combine multiple trigger conditions with OR?

Yes, according to Microsoft Learn the syntax @or(test1, test2, test3) is provided for this. Without this keyword, Power Automate combines multiple individually added conditions with AND by default, meaning all of them must be met at the same time.

Do I have to write the syntax by hand?

Not necessarily. Instead, you can put together a condition using the Filter array action in advanced mode, copy the resulting expression, and paste it into the trigger's trigger condition. You then delete the Filter array action itself again; it is only needed to generate the expression.

Does a trigger condition affect the consumption of API requests?

Yes, and according to Microsoft Learn that is one of the main reasons for using them: without a trigger condition, every event that fires the trigger already counts as an API request, even if the flow immediately aborts afterward because of a condition. With a suitable trigger condition, the number of counted requests drops to the actually relevant cases.

Simon Glowik, founder of NordFlux
About the author

Founder of NordFlux. Spent four years automating processes at enterprise scale at Dräger, and now brings that depth to the mid-market — pragmatic and with full data sovereignty.

Certifications

  • Microsoft certified — PL-900 and AZ-900
  • UiPath certified — Automation Developer Associate
  • UiPath zertifiziert — Automation Developer Associate
All articles
Free initial analysis

Concrete questions about automation or AI?

In a free initial analysis we discuss your case directly. No strings attached.