In a recent blog post, we talked about managing remote teams with Slack. In that article, we briefly touched upon automation, and various integrations that can be paired with Slack. Here, I wanted to highlight one such automation tool that I’ve used extensively with Slack: Power Automate.

One of the services provided in Microsoft 365, Power Automate enables users to set up automations – called flows – to streamline tasks and processes across a variety of connectors. With its relatively low learning curve, Power Automate has a number of benefits and use cases.

The initial hook that piqued my interest in using Power Automate was that I didn’t need to be a developer to get started setting up my automations. Using low-code and drag-and-drop tools, Power Automate is accessible to a wider audience. No need to mess around with APIs or otherwise have an extensive knowledge of programming languages to build the solution you need. Utilizing advanced coding and logic is certainly possible but is by no means a requirement to build a successful flow.

Building Flows From Scratch

There are multiple ways to get started when it’s time to build your flow. The first way – and my most used method – is to start from blank. Starting this way provides five options: automated cloud flow, instant cloud flow, scheduled cloud flow, desktop flow, and business process flow. This article will focus on the first three options, as desktop and business process flows require a premium subscription and/or are beyond the scope of this article. The cloud flows prove more than useful for a variety of scenarios, whether performing a few actions when an email is received, manually triggered when updating a client’s record, or occurring daily to update employees with pertinent information.

Figure 1: There are five flow options when starting from blank

Using Templates

It’s possible the scenario you are trying to automate has already been solved by someone else. In such a case, you can choose a template. Templates already have the connectors (which we’ll talk about next), action steps, and dynamic content laid out. Simply sign in to the connectors and you are practically done, barring any minor tweaks you want to make. Other templates will get you most of the way there, and you’ll only have to add or remove a few steps to achieve the desired result. Templates may come from a variety of sources; Microsoft – as well as the Power Automate community – provides many of the templates but some of the connector companies, like Adobe or Paylocity, also author the templates.

Figure 2: There are countless templates to choose from

Connectors

Whether you started from blank or a template, you’ve by now seen some of Power Automate’s connectors. Connectors are the key building blocks of Power Automate; they are common apps you use every day and provide the actions that are necessary for building a successful flow. They are also the third way to start building your flow. Starting with a connector enables you to select the triggers associated with that app, and then include that connector’s actions as you build your flow. Connectors can be added to a flow later, so if you start from blank or from a template, you won’t be stuck. There is a vast number of connectors – such as Twitter, YouTube, Slack, and apps like Outlook, Excel, and SharePoint in the Microsoft suite – that can be utilized for flows, but some (or some of their actions) are only available for premium subscribers. Nevertheless, the non-premium connectors and actions are enough to build enormously powerful automations.

Figure 3: See triggers and actions when starting from a connector

Sharing Flows

Once you’ve built a flow, you may find you want to share it with others. There are multiple ways to do so within your organization. You can add other owners to the flow, enabling other employees in your organization to edit and modify it. Alternatively, you can grant run-only privileges, which limits those users to only triggering the flow and viewing its results. You can also share a copy of the flow, effectively creating a template so those you shared it with can run their own instance and sign in with their connection credentials, but leaving your original flow untouched.

Flows can also be shared with the community. Remember the option to start from a template? Well, by submitting your flow as a template and answering some questions to categorize and provide information about it, you can help others when they are looking to find an automation solution for a similar need to the one you just solved. Sharing your flow as a template is an excellent way to share knowledge and solutions.

Real World Examples

In-house Birthday and Anniversary Bots

We use Power Automate to acknowledge employee birthdays and hire-date anniversaries. Each employee’s birthday and anniversary are added to the internal company calendar in Outlook upon hiring, and a scheduled cloud flow runs daily. Looking for the current day’s birthday and/or anniversary events, upon finding a match, this flow then sends out a message on Slack wishing the user a happy birthday or congratulating them on the number of years with us, pulling from a variety of well-wishing messages. While there are bots in existence that already do this, they tend to cost money and are either a bit wonky or not overly customizable. Slack’s connector enables complete customization of our bot, from the bot’s avatar and name, down to the specific message itself.

Figure 4: Output from the flow for Anniversary Bot

Instant Alerts for Change in Ticket States

As a QA Analyst, responding to stories & bugs in a timely manner is important. Our project management tool – Targetprocess – thankfully sends emails when a ticket has moved states from Development to Test Ready. However, like any other email, it’s possible these notifications are missed and an item only undergoes testing long after it’s been ready. As a backup to ensure our QA team is promptly alerted when a ticket is ready for testing, an automated cloud flow was built to run when Targetprocess’s email arrives in Outlook’s inbox. The flow searches the email for the assigned QA Analyst and ticket number, then sends a direct message to the QA Analyst on Slack letting them know the item is ready for testing. If no QA Analyst is assigned, a message is sent to the dedicated Slack QA channel so that the item can be assigned, ensuring it does not languish in Test Ready without someone knowing to look at it.

Testing delays due to missed emails or jumping back and forth through different views and projects on Targetprocess are now eliminated. Like with our in-house birthday bot, there are other ways to achieve this – primarily through integration with Targetprocess’s API – but such solutions require deeper familiarity with programming, which can prove prohibitive for some.

Figure 5: The output from the Test Ready alert flow
Figure 6: The flow to produce the Test Ready alert

Streamlined Scrum Postings

As we touched upon in a previous article, Gavant’s employees post in a dedicated Scrum channel on Slack every morning to provide a status on their work. They do so thanks to another automated cloud flow we built from scratch. This flow is triggered when someone fills out the Scrum form put together using Microsoft Forms. The flow pulls the project name, what the dev is working on, and any employees the dev may need to connect with during their work. It also identifies if the user is working from home or in the office, as well as any additional notes the dev may want to include. Finally, it crafts all that information into a single message, utilizing connectors for SharePoint and Office 365 Users to appear as a genuine Slack message from the employee. Prior to utilizing this flow, there was no standardized Scrum post; now the posts to Scrum are structured consistently, and the messages’ usefulness and the dev’s accountability both get a boost.

Figure 7: The output of the Scrum Post flow
Figure 8: The flow to produce Scrum posts

Scheduled and Instant Weekly Challenges

In a previous article, I discussed Weekly Challenges – quick little prompts to spark discussion amongst employees and have a bit of fun. Initially, I produced the prompts the day of, and posted them manually. Recognizing this may not be sustainable, I set up a scheduled cloud flow to ease the burden a bit. Running weekly on Tuesday mornings, this flow pulls from a SharePoint list of a variety of prompts. The flow checks this list to see if any of the prompts are scheduled for the current day. If there is no (or more than one) prompt scheduled for the day, a direct message is sent on Slack advising me to correct the situation. If only one scheduled prompt is identified, the flow waits until a certain amount of time has elapsed, at which point a message is posted in the Weekly Challenges Slack channel and all employees are alerted. That same SharePoint list has a button for each prompt that, if pushed, triggers an instant cloud flow, allowing for quick posting as I review the list when a prompt is needed. For any run of the scheduled or instant Weekly Challenges flows, after posting in Slack, the flow then goes back to the SharePoint list and updates the selected prompt to show its status as posted along with the date, making it easy to identify prompts that have already been used.

Figure 9: The flow to check for and post scheduled Weekly Challenges

Drawful Game

A popular Weekly Challenge we’ve used multiple times is a game called Drawful, where players are given odd prompts (such as a shark wearing swimmies) that they must draw in a basic art program, and then others guess what the prompt was. Like the Weekly Challenges, initially I thought up and assigned prompts manually each day. Again, though, an instant cloud flow was set up to reduce the time and effort of getting the game started. Now, the only effort that is needed is for me to open the flow and check off which employees are playing; the flow then sends a direct Slack message to each employee with their unique assigned prompt, taken from a SharePoint list.

Like the Weekly Challenges flow, this flow then goes back and updates the list to show that the prompt has been used, the date it was used, and who the artist was. The next time the flow is run, the used prompts are excluded, ensuring everyone gets to draw something new. There are plans to adapt this flow to curate the art and associated guesses of the players, to further streamline the game.

Figure 10: The flow for assigning Drawful prompts

Streamlined Processes

Microsoft’s Power Automate makes automation of mundane, repetitive tasks and processes fast, easy, and enjoyable. Without the need for advanced programming knowledge, flows can be set up to streamline everyday tasks, freeing up time and effort for more valuable endeavors.

There are a variety of ways to get started building an automation in Power Automate, but once underway, flows can be designed to perform almost any task you need. Flows have made many of our processes much more efficient, allowing employees to focus energy on the core necessities of the business.