Microsoft Flow – Never terminate your flows unless you like failure

One of those actions in Flow that I never use is the Terminate action. Ok, unless my clients really want flows to report their failures in the Power Automate UI. I’ve created a few example flows to explain why.

My flow checks my location and if the location is set to Milton Keynes then I’m setting a compose action and otherwise I’m ending my flow.

I could include a terminate in the no branch of my condition.

This will result in flows failing in the run history.

If this is what you want then no problem of course.I could even imagine that if you have implemented my try/catch pattern and you don’t like all flows succeeding then you could include a terminate in the catch part of the flow.  just after you sent an email to support or the person starting the flow.

When you run your main process flow ‘code’ however there isn’t really a need to terminate your flows.  Imagines having multiple parallel branches in your flow and multiple locations have terminate steps. You now don’t know which terminate will run first and your process becomes unpredictable.

Parallel Terminate steps

One other reason I’ve seen people use terminate is a need to stop a pending approval process. This is another one of these circumstances where terminate doesn’t really give you the right solution as the Start Approval action is still pending while the flow has already failed. If there were any actions following the terminated approval action they would not run. So your users may have the feeling that they responded, however the flow will not run the process as a user may expect.



Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: