No doubt you’ve been hearing a lot about Robotic Process Automation lately. In my previous post, “Automating Business Processes with Power Automate,” I explained the five types of Flows you can create with Power Automate that allow you to automate your business processes. With more than 275 connectors, Power Automate enables you to connect to services like Salesforce, Docusign, Adobe Sign, Twitter, Asana, BitBucket, and so on. The ability to connect to so many services outside of the Microsoft ecosystem is amazing. But, they’re all cloud-based services. What about legacy websites or legacy desktop applications? Is it possible to automate data entry routines when there’s no connector or web service to work with? The simple answer is Yes. Let’s walk through an example of how we can collect data from a web form and enter it into an access database without the use of code.
In my previous post, I briefly described each of the 5 Flows you can leverage. One of these is called Desktop Flows (also known as UI Flows). This is Microsoft’s Robotic Process Automation solution. It lets you define a set of expected inputs and record a set of manually performed actions. The combination of input and recorded actions allows you to automate data entry tasks that previously required manual effort.
One notable difference between these types of Flows and others you may have already experimented with is that Power Automate Desktop is a desktop app that allows you to record your manual clicks and data input and automate it with data you provide.
The UI Flow editor is a departure from what you’re used to. Clicking the edit button (seen in the screenshot above) takes you to an editor with a different look and feel than the rest of Power Automate. When you record your activities, every step—from a click, to typing, and even delays—is recorded and appears as a step in the process. At the right of the screen is the Variables pane. Here, you can setup variables to store data from other sources and use those variables within the steps to make your process repeatable.
Recording the Process
Power Automate Desktop provides a web recorder and a desktop recorder. Some configuration and/or browser extensions are required to get them to work. We won’t go into those details in this post. For now, we’ll just consider the desktop recorder—which opens a new window where you can begin the recording.
Once you begin recording, you’ll see the recorder start to highlight windows, fields clicked, buttons hovered-over, and more. Each step along the way is captured, including screenshots. In addition, we can swap-out values entered as part of the recording, with variables containing test data.
In the previous screenshot, you can see that two UI elements were selected (steps 3 and 6) and each were followed by “Send keys” activities which represent the recorded text that was typed into the textboxs. We can swap those keys with the variables provided. Once the recording is completed and you’ve replaced the manual typing with variables, your Flow is ready for consumption. But we’re not done yet. We need to connect a source to pass the data.
Capturing Input Data
Now that we know about the components and how they work, how do we go about automating something like entering data into a desktop application? First, we begin by collecting the data that is to be manually entered. In the example below, I collect contact information using Microsoft Forms (available with your Office 365 subscription). But Power Automate can connect to many sources you may be collecting contact information from.
Next, we can create a Flow that runs whenever a contact form is submitted. In this example, the solution runs every time a form is submitted. But, this approach may not be appropriate for every scenario. An alternative option would be batching the process when you collect a certain amount of data, or on a set schedule. As you can see below, once the Flow is triggered by a submission, it retrieves the details from the form. The final step will start the desktop flow. If you look at that activity, it’s exposing the 3 variables we created in our recording and we’re passing-in the details gathered from the form submitted. When the desktop flow begins, you will see your mouse moving across the screen and rec-performing all the manual steps that were recorded—with one exception: the data being provided is the data that was collected.
Entering Data into a Legacy App
In my opinion, it’s better to see Robotic Process Automation at work, so let’s take a look at the end result of what we walked through. In the video, two contact forms were submitted and the desktop flow will begin to enter the details without human intervention. What you’re seeing is the robotic process going through the steps of clicking the New Contact button, filling in the fields, saving the form, closing it, and repeating the steps for each contact submitted to the form.
Power Automate has made significant strides over the years by expanding its ability to connect to non-Microsoft systems, incorporate AI services, and now include the ability to automate tasks that traditionally required manual input on “disconnected” legacy apps or apps that do not have an API that we can tap into. They help eliminate time-consuming tasks that free-up your team to work on higher value work. If you’re looking for ways to automate processes using Power Automate, or want to learn more about Robotic Process Automation in general, please feel free to reach out. We’d love to help you get started.
SharePoint/Office 365 Architect