Chapter 1. History of Automation
In this chapter, I’ll briefly explain how automation became mainstream in every aspect of our lives. I’ll review the correlation between people and automation and how it impacts us. Then I’ll define Power Automate, what it is, and the platform it belongs to. Finally, I’ll discuss what makes up a flow in Power Automate, the different automation types it provides, its correlation with Microsoft 365, and when and why to use Power Automate.
1.1 Life before automation
I reckon that a long list of things might cross your mind if someone said “life before automation,” how life used to look like before computers, mobiles, cars or even life before modern technology, but what I’d like to come across here is a couple of humanity’s milestones that were vital and relevant to automation.
In 1206, Ismail Al-Jazri invented the first crankshaft (Figure 1-1 and Figure 1-2), a piece of machinery (technology) that transforms continuous rotary motion into a linear reciprocating motion. It was fundamental to modern machinery such as the internal combustion engine, automatic controls, and the steam engine which is an essential stepping stone in the industrial revolution in the 1700s.
Humans tried to harness the power of steam ages before the industrial revolution. The first recorded primitive steam engine was the Aeolipile between 30 and 15 BC. Thomas Newcomen’s steam engine, in 1712, became the first commercially successful engine to pump water out of coal mines, the major type of steam engine used until the early 20th century. Another revolutionary engine in the 1770s was James Watt’s steam engine, which was used to power textile machinery.
From 1900 through the 1920s, relay logic was introduced with factory electrification, which is a type of control system that uses relays, switches, and other simple components to create a logical sequence of operations. It works by creating a series of circuits that are connected to relays and switches in a way that creates a specific sequence of events. And with relay logic central control rooms became common. However, most process controls were only on-off. Operators’ typical daily job was to monitor charts drawn by recorders that plotted data from instruments. They manually needed to turn switches on or off to make any corrections. Color-coded lights were also used in control rooms to send signals to workers in a plant to make certain changes manually. Automatic controllers were introduced in the 1930s, and were able to make calculated automatic changes in response to deviations from a set point rather than manual on-off control.
Reading through this brief history, you’ll notice that humans used “automation” by harnessing the available “technologies and mechanisms” to reduce human intervention in their daily routines. They wanted to be “productive” by finding a better use for their physical and mental powers. Life before automation seemed tiresome and time-consuming and needed a lot of workforce and effort.
Even though circumstances, technologies, and mechanisms were different back then - versus what we have harnessed today - the motives for automation are very much the same!
Fast forward to today, where everything has become or is becoming digitally transformed, where automation is at the heart of digitization. Automation covers a wide range of applications ranging from a household thermostat controlling the temperature of an underground heating system to a modern mega factory control system with tens of thousands of input measurements and output control signals. Automation has been achieved by various means, including mechanical, hydraulic, pneumatic, electrical, and electronic devices (including computers). Complicated systems, like modern robotic factories, airplanes, and ships, typically use all these combined techniques! Modern automation - aided by Artificial Intelligence (AI) - has dimensions beyond reducing human intervention. For instance, adding a cushion of safety, like the auto-pilot in airplanes and Teslas.
Automation has become so mainstream these days that it’s embedded in every aspect, device, system, and process we use in our lives. Therefore, if you mention automation today in its absolute form, it might be contextually and lyrically lacking, meaning that you need to specify what type of automation you are discussing.
1.2 Life Before BPA
Business Process Automation (BPA) is the automation of simple to complex business processes and functions beyond conventional data manipulation and record-keeping activities using an automation-enabler toolkit. BPA enables organizations to achieve work simplicity, productivity and efficiency in addition to, digital transformation, costs containment, and more. Some aspects of BPA consist of applications integration and Robotic Process Automation (RPA) which I’ll discuss later in this book.
So, what did life look like before BPA? Or - at least - before you automate your daily routines with a BPA toolkit? In a world swarming with data, you constantly move information from one device to another and from one “data system” to another. You receive inputs or notifications on your devices and cascade them into another routine action. You’re also using many systems, apps, and services to collaborate and organize your work and way of work. Nevertheless, you might still remember tasks across pen and paper, Excel sheets, or even by flagging emails! Like many, you might have become a great systems integrator; however, humans aren’t especially efficient system integrators! Most of these “data systems” are not designed to integrate with each other. Integration between these systems will instantly become a sophisticated IT project that could take a long time to accomplish, require extensive integration expertise, and cost a lot of money from your company’s budget.
This is where most BPA toolkits come to the rescue. You can automate routine tasks to be more efficient as a business user and to be able to use your brain cycles on real work instead of wasting it on mundane tasks. And by focusing on real work, you might also find new uses to accomplish things using BPA.
1.3 People & automation
Interestingly enough, the sole purpose of automation is to reduce - or sometimes eliminate - human intervention, not to marginalize people but to reduce the time and effort spent on repetitive routine tasks. As a result, human error reduction and quality would increase, and productivity and consistency would increase too.
Relieving humans from repetitive work means more time spent on core work and less on routines. In some industries, it means reduced direct human labor costs and expenses. In other industries, automation has relieved people of dangerous work stresses and occupational injuries. Automation has also helped remove people from being around dangerous working environments like nuclear facilities, dangerous chemical facilities, space, fire, etc.
Implementing automation also has its cons.It often comes with an initial high cost, whether it’s factory automation (production lines), BPA, the cost of licenses, or even home automation where smart home appliances (automation-enabled) are much pricier than standard ones.
Reducing or eliminating human intervention also comes with a cost, especially when automated processes are defective. Fast-automated production lines mean faster-unchecked products for defects. In the context of BPA, defective workflows could mean the loss of valuable data, documents, or files.
Implementing pre-planned automated responses for every situation is often difficult because it’s hard to anticipate every contingency. Therefore, unanticipated costs and delays may occur due to unanticipated interventions and changes.
Again, let’s take automated production lines as an example; an unanticipated input in a factory’s automated production line could result in defective products, which in turn means production has to stop for hours or days to figure out the cause of the issue. Additionally, recollecting defective products can produce unanticipated costs if they reach the market. The same applies to BPA, a workflow with certain business logic; an unanticipated input can cause delays or even the birth of a new unnecessary project to fix the issue(s) with that business logic.
Automation deployment may seriously disrupt people, especially when no similar jobs are readily available. In most mass production factories, man-powered production lines have been replaced by automated production lines requiring less human supervision. For instance, some production lines have been replaced with robotic arms requiring even less human supervision than automated ones. Though BPA doesn’t have the same immediate impact on jobs, the cumulative impact of the continuous BPA deployment can affect some traditional roles in some businesses.
Now, this is where the idea of automation is seriously misunderstood by many, who think it is putting people out of their jobs! While automation deployment could contribute to putting some workers out of their jobs, there is evidence that new industries and jobs in the technology sector outweigh the economic effect of people being displaced by automation, according to The World Bank’s world development reports.
Implementing automation also folds into using a power source, whether electricity or fuel, contributing to the CO2 emission problem. Ironically, automation is being used to help with sustainability, where automation-enabled machines are put into standby mode when idle for a certain period to reduce the amount of power used. Most BPA services run in cloud data centers with their own sustainability plans to reduce power usage.
We evolved from the crankshaft to the robotic arm, from pen and paper to BPA workflows! This evolution is more of a necessity and less of a facility where we live in a fast-paced world where we demand things immediately! Traditional man-powered production lines can no longer accommodate high demands, whether it’s food, cars, or even devices. As a result, automated production lines must replace traditional ones. The same applies to our way of work, where business processes must move at a high pace in all workplaces, and there is no room for inefficient activities like conventional Excel sheets; as a result, BPA must replace traditional time-consuming ways of work.
And this is where BPA toolkits, like Microsoft Power Automate, come in handy!
1.4 What is Microsoft Power Automate?
Microsoft Power Automate (formerly known as Microsoft Flow) is a low-code cloud-based automation service and toolkit by Microsoft for building automated workflows and business process automation to streamline businesses for simplicity. Power Automate is one of Microsoft’s Power Platform services.
Low code is not a new programming approach; it has been around for over a decade. However, the definition could slightly change if you define pro developers’ low-code platforms versus business users (non-developers). We’ll define “low-code” in the latter context, the context meant for Power Automate.
A low-code toolkit is a platform to facilitate self-service programming for business users and non-developers, enabling them to build useful functional automation (workflows), apps, or reports. You could think of some of Microsoft Excel’s features as low code. For example, you can connect to various databases and data sources in Excel without writing code. Similarly, you can connect to databases and data sources with Power Automate without writing code, allowing you to embed data in your automation (workflows).
Does that mean you are limited? No, although low-code platforms have a high amount of abstraction - for non-developers enablement - most low-code platforms allow big room for expansion in case programmers are required to step in to add more complexity to whatever non-developers have built. This facility also applies to Power Automate.
A cloud-based toolkit implies the service runs on another computer/server on the web, which indicates it’s not taking processing resources out of your computer. It also might mean that you don’t need to download special software to build your automation (workflows) or apps, whereas the design authoring experience is browser-based. Similarly, this applies to Power Automate, where the design authoring experience is browser-based. However, one of the recent additions to Power Automate (Power Automate Desktop “PAD”) requires you to install a desktop app on your machine. Nevertheless, the desktop app saves your PAD automation in the cloud. We’ll discuss PAD in chapter….
1.5 Microsoft Power Platform
Microsoft Power Platform is a low-code cloud-based line of services and toolkits by Microsoft that includes the following products:
-
Microsoft Power Automate: a service for building automated workflows and business process automation.
-
Microsoft Power Apps: a service for building custom business applications.
-
Microsoft Power BI: a service for visualizing data and building reports.
-
Microsoft Power Virtual Agents: a service for building chatbots.
-
Microsoft Power Pages: (formerly Power Apps Portals), a service for building, hosting, and managing external-facing websites.
-
Microsoft Dataverse: (formerly Common Data Service), a storage and data management service that can be used across the Power Platform.
-
Microsoft AI Builder: a service for building, customizing, and training AI models that can be consumed across the Power Platform. It also includes pre-built AI models that could be used right out of the gate!
-
Microsoft Power Fx: a low-code syntax for implementing logic across the Power Platform.
The Power Platform is a one-stop-shop for all your development needs, from business intelligence, reporting, app development, and connectivity to business process automation, storage and data, and chatbots (Figure 1-3)!
The Power Platform is under continuous development, enhancement, and expansion to accommodate the different business and technical exponential needs for building business apps. That being said, the Power Platform is subject to change at any time. Therefore, some of the information and knowledge provided as part of this book are subject to change.
1.6 Connectors
Connectors are a fundamental concept in the Power Platform, specifically in Power Automate. A connector allows you to link to an underlying service in the context of your credentials. For example, you can use the Outlook.com connector to join the Outlook.com service, in the context of your email @outlook.com and password, to send emails on your behalf from a Power Automate flow.
The connector concept is viable because almost every service has an API or multiple APIs. Application Programming Interface (API) is a piece of code or program that allows two applications to talk to each other. A good example is mobile apps, where almost every app uses an API. So, when you check the weather on your mobile, the weather app connects to the weather service provider through an API to get the weather forecast information.
A connector is a wrapper around an API that allows the underlying service to talk to Power Automate.
Each connector provides a set of operations classified as triggers and actions. Once you have connected to the underlying service - by creating a connection using your credentials on that service - you can leverage the different operations in your flows that the connector provides.
Microsoft categorizes connectors based on their licensing scheme:
-
Standard connectors, which are included in your standard Microsoft 365 subscription.
-
Premium connectors, not part of your standard Microsoft 365 subscription, require an additional license through standalone or seeded plans. Standalone plans are dedicated plans purchased individually based on what you plan to build with Power Automate. While seeded plans are rights gained to use Power Automate seeded from other purchased plans or subscriptions.
Any other grouping of connectors will fall under the above two categories. In most cases, under the latter category.
Note
To learn more about Power Automate plans and licensing, follow this link: https://bit.ly/3RxXQVX
1.7 What makes a flow?
Workflows built using Power Automate are called flows. From this point forward, we’ll call any automation or workflow in Power Automate “flow.”
Let’s illustrate the main components that make up a flow in Power Automate.
Triggers
A trigger initiates a flow, which activates the sequence of steps (actions) that comes after. The type of trigger you choose for your flow will decide the type of automation. We’ll discuss this in detail in the next section.
Some flow trigger scenarios are connector based, meaning that the flow will initiate based on an event on the service side. For example, if we want to begin a flow when we get an email from x, or initiating a flow when an item is created on some data source. However, some other trigger scenarios are not connector based. For example, initiating a weekly flow on Mondays at 10:00 AM.
Power Automate allows you to define only one trigger for each flow you build; however, some triggers can be initiated based on combined conditions, like when an item in some data source is created or modified. A few other triggers allow you to choose when to initiate the trigger.
You can add trigger conditions for any given trigger in Power Automate, by adding expressions (Excel-like formulas) in the trigger settings section.
Actions
A Power Automate flow can only have one trigger step defined. Therefore, any step(s) after the trigger step is an action (Figure 1-4).
Just like triggers, actions are classified as connector-based and non-connector-based. A connector-based action executes an operation against the underlying service, like getting items from some data source or sending an email from your Outlook.com account. While a non-connector based action doesn’t need any connection, as it executes data operations locally (on the flow level, not on the service level), like initiating or setting a variable, filtering a collection of items, or a scope action that bundles multiple actions together.
Finally, an action has its own settings section, just like triggers. One of the most important settings is the “configure run after” which we’ll tackle later in this book in chapter .
Flow of data
Flow of data is how trigger and actions outputs stream in a flow, from one step to the other. An output - from a trigger - can be used as an input in any of the following actions. Trigger or action outputs are called dynamic content in Power Automate.
As mentioned earlier, Power Automate allows you to define one trigger per flow. A trigger may have one input, multiple inputs, or not have any inputs at all, and because a trigger is the first step you need to define, no outputs are coming from a previous step. A trigger usually has multiple outputs, which will be available as inputs for the following action(s). The same applies to the first action you define (after the trigger), as its outputs will be available for the following action(s) (Figure 1-5).
Another aspect of the “flow of data” is how actions’ execution stream in a flow. Generally, actions in a Power Automate flow are executed sequentially (waterfall style). However, that doesn’t mean you are limited, as there are actions, features, and workarounds that enable you to do more than one-lined sequential flows.
Power Automate flows allow you to define parallel branches, which means that you can run several streams of actions simultaneously. This facility will impact action outputs, as the actions’ outputs will not be accessible in the other simultaneous branch(es); nevertheless, once these branches converge, all outputs from all actions will be accessible in the converging step/action onwards (Figure 1-6).
It’s important to mention that sometimes outputs are not visible. Each output has a datatype; similarly, each action input expects a specific datatype; therefore, the outputs won’t be visible if datatypes don’t match. In such a case, you need an expression to convert the output to match the action input.
Expressions
Expressions are simplified functions/formulas that perform inline data manipulations, calculations, conversions, comparisons, and more in your flow. The flow designer has a built-in help experience that shows you how to use each expression as you build your flow (Figure 1-7).
Expressions are an essential component of most flows. It’s sometimes so substantial to reformat or convert a trigger/action output before passing it into the following action as input.
In Power Automate, expressions are categorized by their general purpose:
-
String: used to perform operations on string datatypes only, like concatenation, string replacement, substring, and more.
-
Collection: used to perform operations on collections, generally arrays, strings, and sometimes, dictionaries. (first, last, contains, and more)
-
Logical: used to work with conditions, compare values and expression results or evaluate various kinds of logic. (if, and, or, and more)
-
Conversion: used to change a value’s datatype or format; you can use these conversion functions. For example, you can change a value from a Boolean to an integer. (bool, int, string, and more)
-
Math: used to perform math operations on integers and floats. (add, div, sub, and more)
-
Date and time: used to perform date and time operations on date/time datatypes. (addDays, addMinutes, dateDifference, and more)
-
Referencing & Workflow: used to perform workflow-related operations, like getting details about a workflow instance at run time, working with the inputs for instantiating flows, or referencing the outputs from triggers and actions. For example, you can reference the outputs from one action and use that data in a later action. (action, body, item, and more)
-
URI parsing: used to perform operations against uniform resource identifiers (URIs) and get various property values for these URIs. (uriHost, uriQuery, uriPath, and more)
-
Manipulation: used to perform operations with JSON objects and XML nodes. (addProperty, removeProperty, xpath, and more)
Power Automate has an abundance of expressions you can pick and choose from; however, we’re not going to discuss each one individually. Nevertheless, we’ll explain the ones used in the flow recipes of this book. Follow this link to find more about expressions [https://learn.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference]
1.8 Power Automate automation types
Automation needs differ from one case to another, and because of this, you need to have the flexibility to trigger flows based on your use case(s). This variation of needs demands that the automation tool you choose must provide different ways to initiate automation/flows, which Power Automated does offer! So, in short, the type of trigger you require to start your flow decides the type of flow you need to create.
Cloud flows
-
Automated: triggered by an event (usually on the service side). Similar to when you create a file, when you receive an email in your inbox, or when an item is added to a data source that you use.
-
Instant: these are manually (on-demand) triggered flows. Like when you push a button in your Power Automate mobile app or run the flow for a selected file.
-
Scheduled: triggered on a preplanned date and time schedule you decide beforehand; daily, weekly, monthly, etc. Like sending a weekly reminder to your team members to submit their timesheets.
Desktop flows
Cloud flows require that you create the trigger and the sequence of actions to automate a certain task. In contrast, desktop flows are UI-based (User Interface) automation, which produces the sequence of actions by recording the user conducting a task on a Windows desktop. And then executing the automation by repeating those tasks directly on that Windows desktop, meaning that you can turn your desktop manual tasks into automated workflows.
This type of automation is also called Robotic Process Automation (RPA) which utilizes the use of software robots (bots) and Artificial Intelligence (AI).
Here are two examples of what you can do with desktop flows:
-
Organize your files and documents in a dedicated folder.
-
Move data from an old legacy system (desktop app) that doesn’t have an API to a cloud data source or vice versa.
Business Process Flows (BPFs)
BPFs allow you to build tailored stage-based flows aided by a visual user experience to lead users through the predefined desired business process. That way, you can define the logic, conditions, interactions, and activities required to complete the business process. In each stage, you can define a set of steps to be fulfilled to complete that stage. The visual indicator tells people where they are in the business process. BPFs reduce the need for training because users, especially new ones, don’t have to focus on what to do as they can let the process guide them.
A good example of when to use BPFs is the onboarding process. An onboarding process is usually an established and predefined process in most organizations, and HR personnel already know its required stages and the steps to fulfill each stage. This way, all business process participants can collaborate to complete the onboarding process by fulfilling the required steps and stages.
1.9 Power Automate & Microsoft 365
Microsoft 365 is a productivity and cloud-based service suite containing online services like Outlook, OneDrive, and Teams. It also includes programs formerly marketed as Microsoft Office, such as Word, Excel, and PowerPoint. Microsoft 365 also has enterprise products and services associated with these products, such as SharePoint and Yammer. Power Automate is part of these cloud-based services under the Microsoft 365 umbrella, which gives a powerful message about the strong correlation between Power Automate and the rest of the services under Microsoft 365. (During the writing of this book, Microsoft rebranded Office 365 to Microsoft 365. So, to save you the confusion, some articles, blogs, books, and even Power Automate connectors still refer to Microsoft 365 as Office 365.)
One of the heavily used cloud-based services in Microsoft 365 is SharePoint. SharePoint is a web-based collaboration workspace that facilitates storing, managing, and sharing content, data, and information using lists and libraries. According to Microsoft, SharePoint has over two million users.
Previously, workflows in SharePoint were created using either SharePoint Designer or different third-party products. In conjunction with the announcement of the deprecation of the SharePoint Designer, Microsoft started introducing Power Automate (Microsoft Flow then) as the successor to replace SharePoint Designer workflows. Microsoft introduced Power Automate as its standard tool for workflow automation, not only for SharePoint but for everything!
The SharePoint connector in Power Automate was one of the first to be introduced in the first batch of connectors. There were fewer than one hundred connectors when Microsoft Flow was still in beta in 2016. This introduction sent SharePoint users on an adoption bonanza. As the SharePoint connector persisted in getting better and better with new actions and triggers introduced periodically, the adoption exploded exponentially, putting the SharePoint connector as one of the most used connectors in Power Automate. (Note that there has been no official report from Microsoft until now, though based on all the organizations and companies I have worked with since 2017, observations and reports always showed that the SharePoint connector is THE top-used connector among all the other connectors.)
Another heavily used service in Microsoft 365 is Microsoft Teams. Launched in 2017 as a successor to Skype for Business, a chat and videoconferencing workspace, file storage, and application integration offering from Microsoft. Throughout the COVID-19 pandemic, Teams gained heavy traction as collaboration and meetings moved to virtual platforms. According to Microsoft, Teams now has over two hundred and seventy million monthly active users.
By design, Microsoft Teams abstracts some SharePoint functionalities in its folds. For instance, every “team” you create in Teams is a Microsoft 365 group (SharePoint site basically), meaning that you can leverage SharePoint libraries (file storage) and lists (data and information storage) in Microsoft Teams. This correlation between Teams and SharePoint - among other factors - turned Teams into the “new collaboration workspace” for almost every organization, as organizations now prefer to surface their apps, documents, data, and information through Teams (instead of SharePoint). Nevertheless, that doesn’t mean that SharePoint is going anywhere; it is still being used heavily and has its own unique direct and indirect appliances.
This shift imposed its necessities, as organizations needed to implement automation as part of this “new collaboration workspace,” Teams. Microsoft Teams has its own connector under Power Automate to answer those automation needs in Teams.
Almost every service under Microsoft 365 has its unique story and use case. However, what makes things even more interesting from an automation perspective is that each of these services has its unique connector in Power Automate to accommodate all your automation needs for Microsoft 365.
1.10 Power Automate: When and Why?
Power Automate is a powerful automation service indeed! As it covers a vast area of automation use cases. Moreover, because of its native nature of integration-ability with other services and systems, it gained an integration reputation, but whether to use it as an integration service is a different question. In this section, we’ll go through use cases and when and why (and why not) to use Power Automate to automate routines and/or integrate with data and services.
Let me start by stating the obvious; Power Automate is one of the strongest tools for personal productivity. Due to its ease of use, low-code, and intuitive nature, Power Automate is an easy pick for anyone to start automating daily routines, like setting reminders, or even creating a to-do list based on items created in a SharePoint list or library.
Another example could be saving email attachments to OneDrive; your work email might be your daily workspace, and you might get hundreds of emails daily, making it hard to keep track of some attachments. Therefore, organizing your email attachments in OneDrive would definitely make things easier.
Moving data between systems and data sources is another use case for Power Automate. As mentioned, you can keep your system’s data and data sources in sync due to Power Automate’s integration-ability with systems, services, and data sources. For example, you might use Outlook calendar to organize your day at work, while you use Google calendar (with your family) to organize your personal events. Using two calendars to organize your day can be challenging, as events can easily conflict, especially when you have personal appointments during working hours. Power Automate can help in such cases, as you can create a flow that triggers when an event is created in your Outlook calendar and copy that event to your Google calendar; this way, you can keep your day in sync between two calendars. Another example could be keeping your data in sync between different sources. Say you have a tasks list in SharePoint that you collaborate with along with other team members, though you want to keep track of your tasks in another list or on a to-do list. You can create a Power Automate flow to create an item on your list (SharePoint or to-do) whenever a new task item is assigned to you.
Another use case where Power Automate can come in handy is automating (digitizing) business processes. Whether you automate it with cloud flows, a Business Process Flow, or both, that’s up to you. A good example is automating the onboarding process, where you already know its required stages and the steps to fulfill each stage. This way, all business process participants can collaborate - in a guided manner - to complete the onboarding process by fulfilling the required steps and stages using a BPF. Another example is automating the “customer leads” process, usually an established and predefined process with multiple stages and steps to fulfill.
Automating desktop routines on your local machine is yet another use case for Power Automate. For instance, say you have a folder in which you store all your documents and files; this folder might have grown over time and become a repository of hundreds of files, and sorting those documents and files is indeed time-consuming. This is where Power Automate Desktop (PAD) can help, by sorting those files with a couple of clicks without writing code. Another example where PAD can be useful is integrating with old legacy systems and apps. Such systems and apps don’t have APIs to integrate with and keeping your data in sync between new cloud apps and old legacy apps becomes manual and subject to human error when moving data back and forth between those systems. You can automate those repetitive manual chores of moving data back and forth using PAD by recording your desktop activities (mouse clicks, keystrokes, copying, and pasting) from your local machine. The workflow - once triggered - will repeat and mimic your desktop activities.
Now let’s discuss why we should not use Power Automate in some cases. But, before going into details, note that when I recommend not using Power Automate in some cases, it is - absolutely - not a try to undermine Power Automate. Though, it’s a recommendation to drive value and to use the right tool(s) for the right job. Accordingly, my golden rule is “Let the Requirements Drive the Decision”!
Let’s start by addressing the elephant in the room. Integration is a controversial topic when it comes to Power Automate, and this controversy comes from the different backgrounds and opinions around integration. Some perceive the definition of integration differently, whereas a sequence of actions connecting through APIs to apps, data sources, and databases is not integration. Instead, integration is connecting completely heterogeneous apps or systems through a queued messaging mechanism that ensures sync or async data flow between two (or more) systems, with full data tracking. The latter (for me) is the definition of advanced integration that is usually implemented in Business-to-Business (B2B) or Business-to-Consumer (B2C) integration scenarios. Amazon.com is one of the well-known and most extensive implementations of these two scenarios. Amazon (as a business) integrates with retailers and merchants to bring their merchandise to the platform (B2B). At the same time, Amazon presents the merchandise to the consumers, handles all related operations on its platform, and then integrates with its own systems back to retailers and merchants (B2C).
Power Automate has integration aspects in its folds, though you can’t use them for advanced integration scenarios. Because, you cannot control its execution consumption and capacity plans. Nevertheless, developers can use Power Automate for simple integration scenarios where the requirement is to keep data in sync between different apps and services. However, two things you must keep in mind, first, you shouldn’t implement simple integration using Power Automate for enterprise-scale or large data volumes. Second, you shouldn’t implement simple integration using Power Automate if data is time-critical. Note that some of these limitations are not a spin-off of Power Automate, though they are a by-product of the underlying APIs (connectors). On the other hand, Power Automate does stand out when integrating with old legacy systems that has no APIs through their UIs using Power Automate Desktop (PAD). It even has big leverage for its simplicity and capability over many advanced tools out there.
One of the foundational goals of the Power Platform is to enable and empower business users (citizen developers), and Power Automate aligns with this goal. Needless to say, Power Automate is the perfect tool for automation when it comes to personal productivity and self-service scenarios. These citizen developers usually spend their day working in Microsoft 365. Therefore, Power Automate should be your first pick if you are automating business processes in Microsoft 365.
Finally, approvals are a fundamental part of many BPA scenarios. Power Automate has four approval types you can choose from to create and manage approvals, enabling you to get things approved in your organization with a few clicks. I’ll talk more about approvals in chapter….
1.11 Conclusion
-
People tried continuously to implement “automation” by harnessing the available “technologies and mechanisms” to reduce human intervention in their daily routines.
-
Implementing automation impacts people. It has its cons and pros.
-
Microsoft Power Automate is a low-code cloud-based automation service by Microsoft for building automated workflows and business process automation to streamline businesses for simplicity.
-
A low-code platform is a platform to facilitate self-service programming for business users and non-developers, enabling them to build useful functional automation (workflows), apps, or reports.
-
Connectors are a fundamental concept in the Power Platform generally and in Power Automate specifically. A connector allows you to connect to an underlying service in the context of your credentials.
-
A Power Automate flow consists of one trigger, one or more actions, and might include expressions.
-
Expressions are simplified functions/formulas to perform inline data manipulations, calculations, conversions, comparisons, and more in your flow.
-
Power Automate provides various automation types:
-
Cloud flows.
-
Desktop flows.
-
Business Process Flows (BPFs).
-
-
Microsoft 365 is a suite of productivity and cloud-based services that contains online services like Outlook, OneDrive, and Teams. It also includes programs formerly marketed as Microsoft Office, such as Word, Excel, and PowerPoint. Lastly, Microsoft 365 has enterprise products and services associated with these products, such as SharePoint and Yammer.
-
Power Automate is a service under the Microsoft 365 umbrella, which gives a powerful message about the strong correlation between Power Automate and the rest of the services under Microsoft 365.
-
Power Automate is a powerful automation service and covers a vast area of automation use cases.
-
Power Automate is an easy-to-use low-code service with an intuitive nature, making it an easy pick for anyone to start automating daily routines.
Get Microsoft Power Automate Cookbook 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.