Bob Morris is a Project Manager and a Principle Scrum Master at ThreeWill. He has over 20 years of experience with successfully leading technology projects and teams in both project management and senior technical management positions. This experience includes delivery of software product development, enterprise software deployment and I/T infrastructure projects.
Using Building Blocks to Create Something Unique
One of my best childhood memories was when I built a pinewood derby car with my dad. If you haven’t heard of the pinewood derby before, it’s a racing event for cub scouts where they build race cars out of a standard kit consisting of a block of wood, plastic wheels, and a metal axle. Every scout receives the same “premanufactured” kit with the same parts. However, the magic happens when scouts work with their parents to combine these standard parts into their own unique racing car. I still remember the sense of accomplishment I had the first time I saw my car racing against cars other scouts had built. That sense of accomplishment was not diminished in any way by the fact that I had used the same standard parts as other scouts.
My last blog post covered the use of Microsoft Flow to solve everyday business problems. A few months later, I’m still a fan of Flow and, like my pinewood derby car, I still feel that familiar sense of accomplishment regardless of the fact that I’m combining applications (and the services they provide) that are prebuilt. In fact, I’m more convinced than ever that this tool is underutilized by Office 365 users.
My last post involved using Flow to merge project resource plans stored in multiple spreadsheets into a single spreadsheet. That is something I consider more of a “deep” application of Flow applied to a specific data source, i.e., spreadsheets. This made me wonder… how easy would it be to apply Flow to a “wider” solution involving multiple people (both producers and consumers of information) using multiple applications to manage information in a business process?
Well, the answer is “pretty darn easy” if you a) think about how different Office 365 services can be used to provide different parts of the solution and b) use Flow to glue those services into a single process! Like my previous blog post, the solution I’m going to cover in this blog post does not require “developer knowledge”…you just need basic knowledge of Microsoft Flow and enough knowledge of Office 365 apps/services (or any 3rd party apps/services that interface with Flow) to understand how they could be leveraged to solve your problem.
Using Office 365 to Create an Employee Suggestion Program
One of the key tenets of our corporate culture at ThreeWill is “Value”, i.e., providing maximal value for our customers. We utilize Microsoft Forms to provide a low friction way for our consultants to provide suggestions on how we can maximize the value of the services we deliver to our customers. The form for this consists of three simple questions:
Although we have a group of people within ThreeWill that are responsible for getting these suggestions reviewed and actioned as appropriate, this isn’t anyone’s full-time job. So, we needed an efficient way to make the review and actioning of these suggestions “low friction” as well.
After thinking through various ways we could use existing Office 365 applications to provide the “low friction” management experience we wanted, we decided to set up a “Team” in Microsoft Teams to foster collaboration and communications around the suggestion management process and to use Microsoft Planner to manage the process for individual suggestion submissions. Now, the question was…”how can we alert our suggestion management team that new suggestions have been submitted and automatically create a planner task so that they can manage the review of the suggestion?”
Answer: Microsoft Flow to the Rescue
Before detailing our approach for solving this question, I want to mention that I am assuming some basic knowledge of Flow. If you don’t have that knowledge – it’s OK. Since Flow is highly visual, you’ll likely be able to follow along by just looking at the pictures. However, in this case, I’d also suggest you check out the multitude of great Flow primers on the web, including the Microsoft Getting started with Microsoft Flow video.
Microsoft Flow comes with a huge library of pre-built templates. Whenever I’m trying to solve a problem with Flow, I look through this library (or even my old Flows) for templates to see if I can use them as a starting point. Since the trigger for my flow is the submission of a new form in Microsoft Forms, I looked in the standard template library and found a great starting point…
This is a fairly simple flow that is triggered upon submission of a Form. The “out of the box” flows looks as follows:
This Flow loops through all submissions received (assuming you might have multiple users submitting at the same time), gets the details from the Form and then allows you to post those details to a specific channel in Microsoft Teams. To use this form, I needed to complete 3 simple steps:
- Select the Form I wanted from the Form Id drop-down list
- Select the Team & Channel I wanted from the Team Id & Channel Id drop-down lists
- Type in the format I wanted for the message
Pretty simple! Defining the message details consisted of simply typing in the static text I wanted to be intermingled with picking Form fields from the “Dynamic Content” pick list exposed by clicking into the “Message” dialog box. After completing these steps, my Flow looks like:
Now let’s kick it up a notch!
You’ll notice in the above screenshot that I added a couple of actions. As indicated by the thumbnail pictures with each of these additional steps, both involve Planner. I just needed to click the “Add an action” button, search for “Planner”, and pick the “Create a task” and “Update a task” actions and BOOM… I’ve got Planner integration with my submission process! To create a task for my submission, I just needed to complete the “Title” field in “Create a task” and “Description” field in “Update task details”. In both cases, when I click into these fields I see a “Dynamic content” pop up that lets me pick the Form fields I want to include in the task.
Watch it run!
Now, let’s take this Flow for a test spin. I submitted a new suggestion as shown below:
The Flow is triggered when I hit the submit button. After the Flow runs, “The Cafe” Team “WIG” channel receives a conversation notification that looks as follows:
Next, a Planner board entitled “Delivery WIG Plan” (created in advance) receives a new task:
That’s a lot of return on a very small investment of time! Pretty cool.
Now, before I raise my pinewood derby trophy above my head, I should mention that blending multiple applications into an automated workflow can sometimes hit a snag due to timing. In the above Flow, I started seeing some errors occurring between the “Create a task” and the “Update task details” steps that indicated there was no task to update! It turns out, this was a timing issue that was easily solved by introducing a delay between these steps:
Since a few seconds or even minute delay wasn’t a big deal for my purposes, this solution worked well.
That’s it. I hope this post encourages others to be creative with leveraging all that Office 365 has to offer with their own custom-blended Flows.