Why didn't my flow trigger? A checklist that finds the cause
Your Power Automate flow is on, the item was created, nothing ran. Ten checks in the order that finds the cause fastest: flow status, run history, trigger conditions, polling delays, connections, data policies, admin mode, licences and suspension rules.
Power AutomateFix · Tutorial5 min read
A Power Automate flow that isn't triggering gives you nothing to debug: no red action, no error, just an empty run history. Work through these checks in order; the first few catch most cases.
1. Is the flow on?
Open the flow's details page and look at Status:
- On: go to check 2.
- Off: someone turned it off. Turn it on. If it switches itself off again, a data policy is the likely cause (check 6).
- Suspended: Power Automate stopped it, usually after repeated failures or a data policy violation. Find out why (checks 6 and 9) before turning it back on.
Tip
Can't find the flow at all? Check the environment picker in the top-right corner. Flows live in one environment, and the default one isn't always where yours was built.
2. What does run history say?
Open the 28-day run history and select All runs:
| You see | It means |
|---|---|
| No runs at all | The trigger never fired: carry on below |
| Trigger check skipped at the right time | The event arrived, but a trigger condition filtered it out (check 3) |
| Runs marked Cancelled | The trigger fired, but concurrency control rejected the run while another was going (check 8) |
| Runs that started but failed | It isn't the trigger. Read the failed action's error |
3. Is a trigger condition filtering it out?
Open the trigger → Settings → Trigger conditions. An empty box means the trigger fires on every event its title describes.
If there's a condition:
- Remove it temporarily and test. If the flow runs now, the condition is wrong.
- Check the field names it uses against the trigger's real output. One way is Peek code on the trigger; another is a run with the condition removed.
- Watch for the usual mistakes: wrong case (
'Approved'versus'approved'), a field that is empty for new items, and comparing a number to text.
@equals(triggerOutputs()?['body/Status/Value'], 'Approved')
4. Did you wait long enough?
Most "When an item is created" and "When an email arrives" triggers poll: they check for changes every few minutes, typically 1–5 depending on the connector. Create a fresh test item and wait 5–10 minutes before deciding it didn't work.
For scheduled flows, check that:
- the start time is in the past, or the first run is in the future and it simply hasn't happened yet;
- the time zone in the trigger is the one you mean.
A flow set to 9:00 runs at 9:00 in the trigger's time zone.
5. Is the connection healthy?
Go to Connections and find the connection the trigger uses. A warning there means its sign-in is no longer valid. Common reasons:
- a password change;
- a new multifactor sign-in policy;
- the account was disabled;
- the token expired after about 90 days unused.
Select Fix connection and sign in again.
Also check that the connection's account can still see the thing being watched: the site, list, folder or mailbox. For a shared mailbox, it needs permission on that mailbox.
6. Did a data policy block it?
If the flow combines connectors that a data policy (DLP) keeps apart, or uses a blocked connector, it's suspended and the trigger won't fire. Edit the flow and Save it: the flow checker reports policy violations. Only an admin can change the policy.
Warning
If several flows stopped at the same moment and nobody edited them, suspect a data policy change before anything else.
7. Is the environment in admin mode?
When an admin turns on Administration mode for an environment, all background processes stop, flows included. Ask your admin, or check the environment's details in the Power Platform admin center.
8. Is concurrency control rejecting runs?
Concurrency control is in the trigger's Settings and is off by default. If it's on, only that many runs can happen at once. Up to 10 extra runs, plus that number, can queue; beyond that, extra events may be retried by the connector or lost. Leave it off unless you really need runs one at a time.
Warning
Once concurrency control is turned on, it can't be turned off without deleting and re-adding the trigger.
9. Was it turned off automatically?
Power Automate turns flows off in a few situations, and emails the owners when it does:
| Situation | After |
|---|---|
| The trigger or actions fail continuously | 14 days |
| The flow is throttled continuously | 14 days |
| No trigger activity at all | 90 days, unless the owner has a premium licence or the flow has capacity licensing. Owners are warned 30 days ahead |
10. Licences and premium triggers
If the trigger's connector is premium (it shows PREMIUM in the connector list), the flow's owner needs a premium licence. Check the Plan shown on the flow's details page.
Still nothing? Re-register the trigger
If everything above checks out, the trigger's registration may be stuck. Try these in order:
- Turn the flow off and on again.
- Make a small change and save, which re-registers the trigger.
- Remove the trigger and add it again.
- Use a fresh connection.
- Save a copy of the flow.
If the trigger card shows "There's a problem with the flow's trigger", your network may be blocking Power Automate. Ask IT to check that Power Automate's IP addresses and domains are allowed.
Sources
- Microsoft Learn: Troubleshoot common issues with triggers
- Microsoft Learn: Troubleshoot cloud flow errors: trigger issues
- Microsoft Learn: Fix connection failures in cloud flows
- Microsoft Learn: Limits of automated, scheduled and instant flows: concurrency and retention
- Microsoft Learn: Optimize Power Automate triggers: concurrency control
- Microsoft Learn: Impact of data policies on apps and flows