If you are new to Microsoft Flow, you may be wondering if it may be the answer to automating and optimizing business processes. Well, we’ve been experimenting with Microsoft Flow and using it to build custom workflows for several months now, and we thought a blog that will help other users get started with Flow was in order. So, before you build a “flow”, take our advice and read our tips and best practices for users and organizations that are building their first Microsoft “flow”.
A little about Microsoft Flow
Microsoft Flow has been available since mid-2017 and was designed to enable Microsoft users to automate workflows, without having to go to I.T. or having a developer background. Microsoft is investing in the Power Platform, suite of applications (PowerApps, Microsoft Flow and Power BI) that enable self-service and allow users at the business level to build applications, automate workflows and interact with data like never before.
Do as we Say…
We’ve learned a lot about Microsoft Flow thorough trial and error. While we encourage organizations to kick the tires on all the Microsoft applications, we are also keen to the idea that you can learn a lot from someone that has spent time with the technology and has tested the limits of what it can and can’t do. This blog shares some tips and considerations that may help you in successfully building your first “Flow”.
Map out your process
Before you attempt anything in Flow, map out your process in Visio or by using a template like this one. Many organizations fail on their automation/optimization initiative because they fail to clearly understand the process, limitations, and barriers to automating or optimizing a process. Frankly, the hardest part of optimizing a process is making sure you clearly understand the process, where it can be improved, and what you can expect once it is improved. Do this before you build your first flow.
You don’t have to reengineer the entire process. You don’t have to optimize a process from end-to-end. You can start small and optimize a part of the process. You may even consider using a Flow template to simply get a feel for what Flow can do before you try and build a custom flow.
Are you using SharePoint Online in the modern experience?
For users that are using SharePoint Online in the modern experience, this will ignificantly limit control of the Edit form in SharePoint, and can also impact how the user interacts with the form. If you require a choice field, and the user clicks on it, the field will automatically select the first choice in the list. We have identified a workaround. Add an option as the default for –Select Option–. This helps prompt the user to designate a choice without auto selecting anything, but has the added complication that the –Select Option– choice counts as a choice to a required field.
Is the environment in the government cloud?
If you are in the Microsoft Government Community Cloud (GCC), determine what level of form control (if any) you may need. This can be a challenge in the SharePoint Modern Experience, and particularly in GCC where currently users cannot (yet) use PowerApps to control the SharePoint list form. Microsoft published an important article, last updated 8/28/19, which lists PowerApps features not yet available in GCC. There is also similar article for Flow limitations in GCC.
Start with the service account
When getting ready to begin building a Flow, start with the service account that will be used for the Flow. Otherwise, if you start with a personal user account, you will need to update every “send an email” action in your flow, and every “update item” action affecting your SharePoint list to use the service account connections prior to go-live.
Side note – when you have to change the connection on the “update item” action in Flow, it resets your form back to default options (blank).
Are you using Yes/No fields (checkboxes) in your Flow?
If you are using Yes/No fields, when entering the value in your Flow, keep in mind that they are case-sensitive, Boolean values. For example, a checked box (Yes) in SharePoint = true (not True)
Do you need to check a field for different values to determine what the Flow should do next?
Here’s an example:
If A, then do this. If B, then do this. If C, then do this. If none of these, then do this.
Use a Switch in Flow. This will allow you to look at one field, check the value, and do different things based on the value
Why not a condition?
Conditions are also options to check values but consider that your Flow will follow one of 2 paths based on a Yes / No (true/False) evaluation of your condition statement. You can nest conditions as well, it just depends on how you want to build your Flow
You can use Switches & Conditions nested within each other as needed
Understanding the fields in the SharePoint list
Depending on the types of fields in your SharePoint list, Flow may display multiple characteristics for your use in your Flow. For example, person or group fields have more elements available to use compared to choice fields. When using a person field in a “send email” action in a Flow, use the [field name] Email option in the Dynamic Content menu. When using a choice field to select a value, use the [field name] Value option in the Dynamic Content menu.
“Send Email” actions using Outlook / Outlook 365
Default “Importance” level is set to Low importance – typically you’ll want to set this to “Normal”, otherwise users may not see it. Open the “Advanced Options” to change this setting
From (Send as) – in order to use this option without the Flow erroring out, the user trying to send the flow must have full delegated permissions to the account they are trying to send the email for (see article)
Typically email notifications will be similar in content. If you are copying & pasting content from one email notification to another, and there are references to dynamic content in the email body or subject line (SharePoint fields), you will need to delete and re-create those references. Oftentimes, these cause errors in the Flow if not updated.
Date and time fields in SharePoint
When Flow pulls these in, they will be in UTC format, and you will need to change them to PST (there is an action for this, or you can use variables to do the conversion)
“Be sure to label your flow steps, conditions, and actions! (Good) Documentation is extremely helpful for handing off management of a flow, and for keeping it in alignment with written documentation.“
Lauren Smalley, Consultant
Make documentation a priority
People that know me, know I believe that a successful solution requires exceptional documentation. Be sure to label your flow steps, conditions, and actions! (Good) Documentation is extremely helpful for handing off management of a flow, and for keeping it in alignment with written documentation.
We can help
Clients call Kiefer when they are looking to automate processes, improve workflows or better understand their processes. We bring a full team to these engagements which provides the client with business analysts, developers, and experts in Microsoft technology. Contact us if you’d like to learn more about our Modern Workplace Practice or if you need help with Microsoft Flow.