Top 10 Flow Best Practices That Will Improve Your Flow Game – Pt.1

4 januari 2019

Hands up if you love Flow! Flow is an incredible tool for automating various tasks and developing business logic. After an intensive migration, where I had to write numerous Flows for an enterprise company, I came up with the following best practices in this practical top 10 list, because we all love lists (and clickbait titles).

1.   Choose a language and stick to it

The language you use in an O365 environment can vary from account to account, or even from browser to browser. But why is it so important to stick to a language in a Flow? Well, look at the picture below.

Flow in different languages

Yes that’s right. We now have French, English, Russian and Dutch in a single Flow. Apart from this being confusing as heck, this will also occasionally break your Flow because the syntax differs between languages. An expression made in Dutch might not work when you open the Flow in English. That’s why you’ll be much better off just sticking to one language. Speaking of which….


2.   You know what? Just always use English

You can make your life a whole lot easier by just always using English as the default language. Why? Well it just makes troubleshooting so much easier when you can actually Google the error messages. IT consultants communicate in English on the internet, so there is really no reason why you shouldn’t as well.

If the language is set by the company and you can’t change it manually, just add ‘?l=en-US’ to the Flow url. The Flow will now open in English regardless of other language settings.

Flow URL


3.   Name your Actions (like immediately)

Yes. Guilty as charched. When creating a Flow I sometimes, in the heat of the moment, forget to name my actions. This isn’t a big problem with small Flows, but as your Flows get bigger, so does the complexity. This becomes apparent when working with dynamic content. If you are wondering if you should get the fields from “Get items 7” or Get Items 12” you probably should have named your actions.

This is something you should be doing from the get-go. Once you have created an Action and put a few actions under this action, you can’t rename the action anymore!!! So don’t make this mistake and name your actions right after you made ‘m.

No way to rename Flow Action

4.   Don’t lose your stuff. Make backups

My biggest gripe with Flow? There is no versioning and no recycle bin.

You made a change and now the Flow doesn’t work anymore? I hope you know what you changed.

Someone else made a change? No way of knowing what that was.

Or, god forbid, someone in your organisation deleted your Flow that took 4 days to build (Yes! This! Happened!). Sucks to be you, because it is gone!!!

Although there is no versioning, you can make backups by exporting your Flow to *.Zip. It is not ideal, but you will be glad you did this if you find your Flow broken or gone!

Export Flow

5.   Move your Flows to a service account using export/import

You have made an incredible Flow. It’s a business-critical process and it’s used daily by a lot of people and all is good. But you get a job offer somewhere else and your account is deleted. This is a problem, because the Flow and the Flow’s permissions are all tied to your account. Al of a sudden, the Flow is gone, and the business-critical process has stopped working. How can we prevent this?

You could add additional owners to the Flow, but what will happen if they leave? The best practice is to make an account especially for Flows (e.g. ServiceAccountFlow). This will make sure the Flows don’t evaporate once you leave the company.

The best way to do this is to export the Flow to *.zip and then import the Flow using the Flow Service Account. Just make sure this account has the needed permissions to run the Flow, because the Flow will now run under the Flow service account. As an added bonus, (Outlook) mails and notifications will no longer be sent from your account, but from the service account.


Go to PART 2:

10 Flow Best Practices That Will Change your life – Part 2: Limitations and how to work around them

Submit a comment