Optimizing and automating one or many repetitive businesses process tasks helps to manage work effectively, to increase operational capabilities, to improve internal communication, and often to organize and accelerate decision-making by putting more data within easy reach, and sooner. This is what we call Digital Process Automation (DPA) or Business Process Automation (BPA). Power Automate—a part of a low-code platform offered by Microsoft—offers many functionalities that can help you to embrace digital transformation in your organization.
Power Automate—its main capabilities
This tool makes it possible to automate business processes—you can combine various services and systems, eliminate basic manual tasks, and optimize the flow of existing processes. For example:
- Instantly respond to high-priority notifications or emails.
- Automate aspects of your company’s decision-making and approval process.
- Copy and move files between OneDrive and SharePoint.
- Copy attachments from email to OneDrive.
- Create a decision-making process inside Microsoft Teams.
- Capture and monitor new contacts from potential customers.
- Download data from or send data to external systems.
- Use ready-made connections to over 400 services to improve the flow of information.
- Improve chatbots created with the Power Virtual Agents service.
- Monitor the various steps of a business process, and the quality of data entered.
- Optimize processes with built-in AI tool integration.
The most powerful aspect of Power Automate is the fact that so many tasks and processes—that is, flows—can be created without any need to code. The module is designed not only to enable users to create new flows from scratch, but to offer flow templates. Naturally, these templates can be entirely within the Microsoft ecosystem, involving Outlook, SharePoint, Planner, Teams, Dynamics, and more, but can also be shared by other users, so you’ll find templates involving YouTube, Twitter, and others.
Power Automate: types of flow
Three types of flows are offered when you open Power Automate (see Fig. 1):
- Cloud flows are workflows that automate repetitive tasks and improve processes within and between systems. They can be triggered in three ways:
- automatically, by an event such as receiving a message from a specific address, a change in application status, or creating a new database entry;
- by the click of a button, such as sending a reminder to your team with an app;
- according to a schedule, such as sending data nightly to an external system or database.
- Desktop flows use RPA techniques to automate tasks on the web, or in applications on local machines. Using Power Automate Desktop, you can record actions on the desktop or in a web browser and then trigger a flow that will do the whole process for you.
- Business process flows are created in order to organize processes involving model-driven applications that are based on Microsoft Dataverse. They guide people through designated processes, ensuring that each individual step is performed as necessary and that the correct data is entered.
Power Automate: cloud flows
To create a cloud flow, you can choose templates provided by Microsoft, or you can design the flow from scratch (see Fig. 2). There are over 400 connectors to cloud services and data sources outside the Microsoft ecosystem, and you can create our own connectors, as long as the cloud service in question has a REST API (a particular flexible type of application programming interface).
You may have seen services called IFTTT—“If this, then that.” Similarly, a cloud flow starts with an event called a trigger—the “if”—and results in an action—the “that.”
Power Automate: triggers
Triggers are events that may be initiated by a user, scheduled, or automatic. How a trigger is initiated determines which connector to choose, and there are two types of connectors (see Fig. 3):
- Tabular connectors are associated with data sources in table form. Such triggers will run when you create a record, update data in a table, or delete data from a record or table. Microsoft’s Dataverse is an example of such a connector.
- Functional connectors allow an event in a cloud service such as Outlook, OneDrive, Twitter, and so on, to trigger a flow.
Let’s take a look at the Dataverse connectors to see an example. Once the type of flow is selected and the flow has been given a name, you are then given a choice of triggers (see Fig. 4):
Next, you define the conditions for activating the trigger—how a record is to be modified (adding, changing, deleting, etc.), what table it applies to, and the scope of its operation (see Fig. 5):
Finally, you need a filter so the flow “knows” when to run (you only want the flow to run when it is necessary). In our example, the “When a row is added, modified or deleted” trigger has two filters that you can configure—the column filter (the flow will only run when one of the listed columns is modified) and the row filter (the filter expressions specify which rows can trigger the flow, see Fig. 6):
Power Automate: actions
Actions are the event you want to automate, and as with triggers, that determines which connector to choose. In the process of creating a flow, the connector menu will list the available choices. The more than 400 connectors provide users with an enormous range of options from various services.
Here you can see actions offered by the Dataverse connector (see Fig. 7):
If you instead choose the Office 365 Outlook connector, you have different options (see Fig. 8):
The available options are further augmented when you add in services such as Power Automate Desktop, AI Builder or Power Virtual Agents. The resulting flows can become quite complex—that is, powerful. For example, with Ai Builder, you are offered these options (see Fig. 9):
You can, for example, use the AI Builder connector to read information in an order in pdf format, which triggers Power Desktop to automatically enter the order into the ERP system, while also calling up Outlook to send you a notification that the document has been registered and to which account.
Basic computer logic—indeed, math and process logic—is central to flow function. You can branch our processes, such as approval processes (see Fig. 10):
Approval processes typically require a series of actions, including multiple actions inside a database (especially Dataverse). This requires a “Perform a changeset request” action. If the data entered leads to a positive result, all of the steps will work, while if any of the data entered leads to a negative result, all previous operational changes will roll back so that it is as if nothing were ever changed (see Fig. 11).
Power Automate: business process flows
These flows are designed as a guide for employees. The user interface is streamlined, leading each employee through the various stages of an interaction, allowing them to enter data consistently as they follow certain pre-defined steps as they work toward a particular goal. Their progress through the flow, in a Model-driven application, is displayed on screen. You may be familiar with this on shopping websites such as Amazon, for example, where each page in the process is shown as a labeled circle on a line. Further, each stage, or even an action within a stage, in a business-process flow can itself be a trigger for a cloud flow, such as populating a record with data or generating an automatic email (see Fig. 12).
Fig. 12 Model-driven app: business process flow.
To organize a flow, imagine (or take a look at) your database in the form of a table. Populating each row is the purpose of a flow, and each column is a step in that flow. If the label of a column, or the value in a cell, depends on the value in another, then it makes sense to put the dependent column or cell to the right of the determining cell, and therefore collecting that dependent information should come later in the process.
When designing a flow, you have five functions available:
- Stage gating means that each stage must be completed before progressing to the next step. It’s worth considering carefully which information is really necessary and if it may be possible to complete the process with some fields left empty, for example.
- Conditional branching introduces if-then conditions into the process, so that various approvals are available, or one approval process can proceed along multiple paths.
- Multiple tables allow one flow to populate more than one process at a time.
- Switching may be allowed so that a whole new process does not have to be started if it should turn out that the current process is not the desired one, or will not lead to approval, while a different process will.
- Security means that you can restrict which employees have permissions for certain processes, for example by requiring a login at the beginning of a process.
Power Automate: desktop flows
Even with so many connectors, there are still numerous systems for which no API exists. Some of the data needed for a process may reside on a server that is not connected directly to the internet, or there may be applications written with or for older technologies, for which no connector exists. Writing a dedicated API may be possible, but the data might not be accessed often enough to justify the cost of doing so. Robotic Process Automation (RPA) is the answer in this case, to capture and save a user’s steps for the computer to follow instead.
An important component for such flows is an on-premises data gateway: an application to be installed on the user’s computer or local servers. From then on, whenever the user triggers the relevant flow, the gateway will be like a bridge between Power Apps and Power Automate services, allowing communication with on-premises resources to support hybrid integration scenarios. Power Automate Desktop uses the record of the steps previously taken by a user to access the system or database, collects the necessary data, and presents it in the modern format. As long as the macro is accurate, such data retrieval is quicker and less prone to error than requiring an employee to be trained on the legacy system for the rare use.
It should be noted that the gateway will need its own dedicated computer, always on and connected with its data source, whether physically or via WiFi.
Even a captured process is not necessarily the end of the story. Power Automate Desktop has an extensive editor to customize registered user actions to create complex desktop flows (see Fig. 13).
You can run flows in the Power Automate Desktop service within both Power Automate Cloud and Power Virtual Agents. These services are highly integrated, such that, practically speaking, these platforms interpenetrate each other. This creates many possibilities for designers, such as uploading or downloading parameters, running specific actions, transferring information between platforms, etc.
Integration with Microsoft Teams
Teams is one of three tools—the others being Google Meet and Zoom—that saw an explosion in consumer awareness as a result of the Covid-19 pandemic. When it comes to flows, however, Teams already had advantages in 2019 and continues to march forward in terms of integration with products inside and outside the Microsoft ecosystem. Power Apps, Power Automate, and Power Virtual Agents can all be embedded into Teams, so a single-monitor user can design and create flows without minimizing their Teams window. Furthermore, triggers can originate from Teams data (see Fig. 14).
Fig. 14. Power Automate integration with Microsoft Teams
Power Automate can be used with Teams in the following ways:
- flows can be triggered by Teams messages;
- Power Automate bots can list, run, and describe flows;
- flows can involve interactive forms called adaptive cards;
- you can send, receive, manage, and share approvals with the Approvals app inside Teams.
This integration is a powerful asset for the modern working from home (WFH) or hybrid workforce. You can significantly shorten document acknowledgement time and improve document sharing control with a tool that is immediately available on computers, within browsers and on mobile devices.
Business product development continually aims toward greater automation, and Microsoft, even when not at the forefront, is a key player. You can see four goals for this automation:
- Increasing productivity by minimizing repetitive, manual and time-consuming tasks, so team members have more time for strategic, high-priority tasks.
- Automation across the organization, by empowering all users to optimize and automate their most important and/or most time-consuming processes. Users can do so immediately, rather than waiting for IT professionals to start a bespoke project.
- Improving work quality by combining the capabilities of artificial intelligence with automated workflows and business processes.
- Securely integrating automated flows in accordance with established rules. That is, the tools should meet stringent security standards so that the flows users create do not also create leaks or backdoors, and so limiting the necessity of audits by IT staff.
Microsoft plans to continue investing in key areas, including deeper Power Automate integration with Microsoft Teams to provide collaboration scenarios and allow administrators to publish solutions with flows across an organization. It is therefore highly worth considering whether more Microsoft products than the Office suite and Teams can offer your organization an increase in productivity.