Chapter 1. What Is Microsoft Power Automate?

Working for an organization is…well, it’s work. Even if you have a job doing what you love, there are still a lot of repetitive, manual, and time-consuming tasks. You may have to process reports or invoices that are sent to you by email and enter them into an accounting system. Or you may have to fill out travel expense reports and send them to someone for approval. Or you may have to take old files and information and move them to archive locations to make room for more up-to-date information. Every job includes processing information and distributing it to the right people and places. Frequently, these mundane tasks can keep you from doing the parts of your job that you love or growing your abilities by learning new things.

Welcome to this introduction on how to use Microsoft Power Automate to automate tasks in your daily work life. You’re about to take your first steps on a journey that will change the way you handle information every day. But, like all journeys, we need to start at the beginning. That means we need to understand what Power Automate is and how it fits into the broader Microsoft ecosystem.

Power Automate is a cloud-based application that can be used to create workflows. These cloud-based workflows (flows) use connectors to access information stored in a variety of systems. Using these connectors, you can take manual tasks and convert them to automated workflows. Here are just a few examples of the ways in which Power Automate can transform everyday tasks:

  • Automate the collection and processing of information

  • Manage the approval process for documents/information

  • Send automatic reminders for past-due tasks

  • Archive emails and attachments in an indexable system

  • Automate interactive computer tasks that are normally done manually

  • Visualize a staged process consisting of multiple steps

These are just a few of the many varied tasks that you can transform using Power Automate. The only real limit is your creativity and whether a connector is available for the data you are working with.

Note

When Power Automate was originally released in October 2016, it was called Microsoft Flow. It was renamed Power Automate in November 2019 to better align with the other Microsoft Power Platform products. But the workflows created by Power Automate are still called “flows.”

Power Automate is a powerful application, but it can do even more when used with other Power Platform applications. It is one of five applications included in the Power Platform. The other four applications are as follows:

Power Apps

Enables the user to quickly build custom applications that are accessible on personal computers, tablets, or mobile phones.

Power BI

Allows the user to create reports and graphs that supply data-driven insights for making informed business decisions.

Copilot Studio (Power Virtual Agents)

Helps users to easily build chatbots to engage customers and employees using a conversational pattern.

Power Pages

Provides users with guidance on how to easily build a website to showcase business data to internal or external users.

These applications are all integrated. For example, you can use Power Automate to periodically send reports generated by Power BI. Or you can use Power Apps to create a mobile-ready application to collect information that is then processed and stored using a flow. We’ll look at these possible integrations in more detail in Chapter 6. You can read more about the rest of the applications in the Power Platform on Microsoft’s website.

Power Automate is an advanced integration tool that can connect to a growing list of more than 600 out-of-the-box data sources, such as Google Sheets, Dynamics 365, SharePoint, Salesforce, and OneDrive. More data sources are being added every quarter. When this book was written, there were 645 connectors available in Power Automate from Microsoft and third-party vendors. If a connector doesn’t exist, but there is an API for a system, then developers can create their own custom connector.

Note

Custom connectors are an advanced topic and won’t be covered in this introduction to Power Automate. You can read more about custom connectors in Microsoft’s documentation.

There is even a way to access information stored in legacy systems for which there is no connector or API available. Power Automate desktop flows can be used to interact with this legacy information using a regular computer user interface. We’ll cover Power Automate desktop flows in Chapter 8. All these options provide you with a workflow engine that works with almost any information stored in a computer system, whether that system is designed by Microsoft or a third party.

Now that we’ve conducted a high-level overview of what Power Automate is, let’s move on to the question of why you should use Power Automate to automate your manual processes. You probably have some sense of its capabilities and how it can improve workflows and make task management easier, or else you wouldn’t be reading this book. However, it’s important to be sure you are using it because it will solve your problems and not just because it’s an industry buzzword.

Why Use Power Automate?

It’s no secret that before the nternet, business profits were determined by commodities sold. This profitability has now shifted and is driven largely by digital assets and information profiles, leaving organizations dependent on the efficient processing of information. This is true for service organizations, like financial advisors, that focus on the production of information. But it’s also true for traditional manufacturing companies that depend on computer systems to efficiently manage the procurement of raw materials, oversee the manufacturing process, and direct the delivery of finished goods. In today’s world, every organization, regardless of its business model, depends on being able to process information quickly and accurately. But that very dependence leads to challenges.

Creating computer programs to efficiently process information has traditionally required professional developers. But there are never enough professional developers to do all the work that needs to be done. The good news is that, with the introduction of low-code/no-code development environments like Power Automate, much of that work can now be done by “citizen developers.”

What is low-code/no-code? Well, it’s essentially exactly what it sounds like. Low-code/no-code are terms used to describe the development of software applications, generally for business solutions, without the need for a traditional programming background or knowledge of a programming language. For example, when building a flow in Power Automate, the “maker” creates the flow by choosing triggers and actions from a list. Then, they fill in blanks in the trigger or action to configure what it does. When these actions are executed in order, a process can be completed by the flow.

Conversely, traditional coding is an approach to software development where a professional programmer or a team of programmers who are trained to use a programming language like JavaScript or C# are employed to build software and applications. The ability for non-developers to use low-code/no-code tools frees up professional developers to focus on applications that require the use of more complex coding environments, like C# or JavaScript.

Who Are Citizen Developers?

Who are citizen developers? According to Gartner’s Information Technology glossary, a citizen developer is:

an employee who creates application capabilities for consumption by themselves or others, using tools that are not actively forbidden by IT or business units. A citizen developer is a persona, not a title or targeted role. They report to a business unit or function other than IT.

That means a citizen developer is someone who has business knowledge that a professional developer in the IT department doesn’t have. Although they aren’t trained to do the same kind of development as a professional, citizen developers can accomplish a lot with a simpler low-code/no-code environment like Power Automate. For example, a sales representative might use Power Automate to consolidate monthly sales reports (received as Excel attachments to an email) into a more comprehensive report to be emailed to senior management. The sales representative understands the sales reports, since they work with them often. A developer would need an explanation of what the figures mean to be able to summarize them for a report.

The cost benefits of using citizen developers are substantial. Chiefly, businesses won’t need to hire quite so many professional developers who have the expertise in building extensive enterprise applications. Professional developers with that level of experience are a limited, expensive resource. Using citizen developers for personal productivity or departmental applications can stretch the use of the limited number of professional developers to cover the essential enterprise development efforts that require that level of expertise.

But there are also significant benefits for the citizen developer, too. Using a tool like Power Automate, citizen developers can automate repetitive tasks that used to take them hours of manual effort. Automating these repetitious tasks improves reliability and lets the citizen developer concentrate their time on more interesting, productive endeavors. By doing these tasks themselves, instead of waiting for a professional developer, they also improve the turnaround on delivery of the application. Their involvement also guarantees that the design of the workflow is exactly what the citizen developer wanted.

The use of low-code/no-code development can also improve collaboration between internal departments by removing the professional developers as intermediaries. Citizen developers who speak the same business language can work together to implement new solutions to shared business problems. The result is an organization that runs more efficiently and can access necessary information more quickly. In almost every case, leveraging citizen developers is a net positive for both the organization and the citizen developer.

Migrating from SharePoint Designer to Power Automate

Power Automate is not Microsoft’s first low-code/no-code workflow engine. SharePoint Designer (SPD) is a discontinued web design application that was used to build and customize SharePoint sites. One of the additional capabilities added into SPD was a low-code/no-code workflow designer that could automate the processing of information in SharePoint sites, lists, and libraries. Power Automate is the official replacement for SPD workflows, but it isn’t a perfect match. In some ways, Power Automate is more powerful since it is not limited to processing SharePoint data alone. But SPD’s tight integration with SharePoint made it easy to use. SPD could also do some things that Power Automate can’t. So, why should citizen developers use Power Automate flows with SharePoint instead of the more established SPD workflows?

Why Not Use SPD Workflows?

Since its introduction, there have been two different versions of the SPD low-code/no-code workflow engines. The original version is now called SPD 2010 and ran within the software context of SharePoint. This made it susceptible to slowdowns if your SharePoint site experienced load-related issues. The newer version, called SPD 2013, ran as a separate, parallel process. It didn’t have the performance issues inherent in SPD 2010 workflows. Since SPD 2013 workflows didn’t contain all the actions available in SPD 2010 workflows, the ability to invoke a 2010 workflow from a 2013 workflow was added. SPD has been the established workflow engine for SharePoint for years. But on August 1, 2020, Microsoft announced that all SPD workflows were being deprecated. This deprecation called into question the viability of SPD workflows as a workflow solution. You can read about the deprecation schedule in Microsoft’s documentation.

Warning

There are currently no utilities that can migrate existing SPD workflows to Power Automate. So, migration of workflows is a manual process. This makes it imperative that organizations make the switch to Power Automate as soon as possible, instead of waiting and creating additional SPD workflows that will need to be re-written in 2026 when SPD support ends.

Power Automate Limitations and Workarounds

There are some things that SPD workflows can do that Power Automate can’t, and the reverse is also true. Power Automate is a broader product that can access more than just SharePoint as a data source. It can also do more things with the data it accesses. Overall, Power Automate is an improvement on SPD workflows. But there are some limitations that you need to be aware of and some workarounds that may help if you are converting from SPD workflows to Power Automate. Table 1-1 summarizes the limitations and provides some potential workarounds.

Table 1-1. Power Automate limitations and workarounds
Power Automate Limitation Explanation Workaround
30-day timeout Flow instances will tim eout and stop after 30 days. SPD workflows can run indefinitely. Build flows with recurrence triggers that store their current state in a data source and wake up periodically to do processing.
HTTP connector Calls to web services, like REST, require a premium license if they aren’t to SharePoint. SPD workflows can make HTTP calls without additional licensing. This licensing change reflects the broader scope of Power Automate. One way to minimize the cost is to use a Service Account with a premium license for flows that need to make general HTTP calls.
Reusable flows With SPD you can create flows that can later be added to a variety of SharePoint lists. But Power Automate connections are bound to a specific data source when they are created. So, you can’t have a single flow that works with multiple dynamic connections. There is no easy way to duplicate reusable flows. But Power Automate does have a Save As function, which can be used to save a template that can be duplicated in other lists and modified.
Workflow history SPD stores the workflow history for 60 days in a hidden list in the SharePoint site where the workflow runs. Power Automate stores workflow history for 28 days in a Dataverse table. You can create a flow that periodically transfers workflow history from Dataverse to a storage location of your choice.
Impersonation (security) SPD 2010 workflows include an impersonation step that lets you run a series of actions with elevated permissions. Power Automate doesn’t support impersonation in cloud flows. Flows can be created using a Service Account that has the permissions necessary to run the actions needing elevated permissions.

How This Book Will Teach Power Automate

Now that you’ve been introduced to what Power Automate is and who should learn how to use it, let’s turn our attention to what you will learn from this book. Power Automate is a constantly changing product because Microsoft frequently, at least every six months, releases a new set of features and enhancements. It’s impossible for any book to keep up with that level of constant change. So, this book will concentrate on teaching you how Power Automate works and what part its various components play. Once you’ve learned that, you’ll be better prepared to take any new connector, action, trigger, or feature and use it to enhance your flows.

Learning to work with Power Automate is a lot like learning to cook. When I’m not sitting in front of my computer, I love to cook. Like most cooking hobbyists, I have acquired a lot of cookbooks over the years. The problem with learning to cook using cookbooks is that they focus primarily on recipes rather than cooking techniques. They may demonstrate the skills required for a specific recipe, but they don’t show you how to cook in general. So, you learn how to make a few specific dishes, but it can be difficult to adapt what you learn to make other things.

Many technical guides and videos on Power Automate are designed to function like cookbooks. They walk you through examples of flows that solve a specific scenario, like creating an approval request when a new file is uploaded to SharePoint or sending a monthly report by email to a select group of managers. They are usually quick and make you feel like you’ve accomplished something when you follow along and produce the same results that they do. But what if you really need to do something that isn’t quite the same scenario? Maybe you need to send an approval when a new contact is added to Dataverse. Or maybe you need to send a different report to each manager in the group. Now you’re back to scouring the internet for a post or video that shows you how to do that specific scenario. If you can’t find exactly what you need, then you have a problem—because you learned how to follow a recipe, not how to cook.

In this book, we will focus on learning how to “cook” with Power Automate. We’ll focus more on the basic ingredients in a flow and how they interact with each other. I’ll explain connectors and the triggers and actions they contain. You’ll learn how to understand which fields need to be filled in for each action and how to determine what kind of data is needed. Yes, there will be samples and demos. But the point of those samples will be to demonstrate the skills you need to work with Power Automate in general, and not to just follow a step-by-step recipe. We’ll also discuss where to access documentation on the various ingredients that go into a flow. You can find almost anything you need within Microsoft’s Power Automate documentation. As we go through the book, I’ll explain how to sift through the wealth of available information to find what you need. Along the way, you’ll not only learn how to complete a couple specific recipes, but you’ll also begin to learn how to use Power Automate for yourself to create some amazing workflows.

Summary

In this chapter, I’ve talked about why Power Automate can change the way you process information every day. I’ve enumerated the different groups of people who will find it useful and discussed why it’s a necessary replacement for existing SPD workflows. I’ve also promised that this book will do more than teach you a few simple recipes for doing common tasks. My goal with this book is to give you the tools and skills you need to grow your knowledge of Power Automate so you can use it to truly transform your daily workload.

Get Learning Microsoft Power Automate now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.