Why Is My Flow Triggering So Frequently?” – And How to Calm It Down 😵‍💫

Power Automate Pain-Relief #1

Series kickoff! In Power Automate Common Issues & Problems we’ll break down one pain point per post and walk through a real-world fix you can use today.


1. Meet the Pain (⚠️ Hyperactive Triggers)

You build a “When an item is created or modified” SharePoint flow.
At 02:00 AM a calculated column refreshes ➜ 15 000 list items count as “modified” ➜ 15 000 flow runs spin up.
Your mailbox explodes, API limits melt, and the finance team wonders why last night cost an extra $15 in pay-as-you-go fees.


2. Why It Hurts (💸 & ⚡)

  • License meter on fire – every run consumes your 5 000/15 000 monthly run quota (Seeded / Per-User).
  • Pay-as-you-go shock – 375 000 actions × $0.00004 ≈ $15 per night.
  • Tenant throttling – bursty traffic eats the 40 000-request user cap; mission-critical flows queue behind your mistake.
  • Forced upgrades & add-ons – you’ll be nudged toward a $50–$100 capacity pack just to regain service stability.

3. The Quick-Relief Toolkit 🛠️

FixHow to applyCost & run impact
Trigger ConditionsTrigger → SettingsTrigger conditions
@equals(triggerOutputs()?['body/Status'],'Pending')
(see #3 on the screenshot below)
Runs fire only when business fields match ➜ >90 % fewer runs
Column Change DetectionIn SP trigger enable “Trigger only when these columns change”Ignores calculated/system updates
Switch to “Created”If you never process edits, use When an item is createdCuts duplicate runs entirely
Reduce Polling CadenceRecurrence & SQL triggers ➜ interval ≥ 15 minFewer polls → lower quota usage
Concurrency = 1Trigger → SettingsConcurrency → 1
(see ##1,2 on the screenshot below)
Prevents overlapping duplicate runs
Processed Flag PatternAdd Processed (Yes/No) column ➜ filter Processed ne 1 ➜ set Yes at endGuarantees exactly one run per item


4. Step-by-Step Walk-Through

  1. Open the trigger settings of your flow.
  2. Scroll to Trigger conditions and paste the OData expression that fits your scenario.
  3. Save the flow ➜ Notice the lightning bolt icon turns yellow (indicates a filtered trigger).
  4. In 20 min check Run History — you should see drastically fewer new runs.
    * Optional: turn on Service limits alerts in Power Platform Admin Center to receive an email before you ever hit quota again.

5. Pro Tips for Future-You 🌟

  • Name wisely – prefix flows with TRG-CR (created) or TRG-CM (created-modified) so teammates know trigger type at a glance.
  • ALM pipelines – use PAC CLI in Azure DevOps to export/import solutions; trigger conditions carry over cleanly.
  • Monitor like Ops – pipe Flow analytics into Application Insights; create an alert on “Runs > 500 per hour”.
  • Budget guardrails – set up a Power BI dashboard of daily action counts and share with finance.

6. TL;DR Recap

Hyperactive triggers don’t just clutter run history—they burn through API limits and budgets. A single trigger condition or change-tracking setting can slash run counts by 97 % and keep you off the CFO’s radar.

Stay tuned for Post #2: “Slow ‘Get items’? Fix It Fast” where we’ll tackle slow connector performance and paging best practices.