Not every program offers a way to exchange data with other tools. The old management system that only accepts data through its own window, a public body's portal that can only be used from the browser, the in-house application with no export: in these cases the only interface is the one designed for a person with a mouse and keyboard. RPA, Robotic Process Automation, was created for exactly this: software that uses programs the way a user would, clicking buttons and filling in fields. On Windows the most accessible tool is Power Automate for desktop, provided by Microsoft.
What sets it apart from cloud automation
Power Automate comes in two forms. The cloud version connects online services to one another through their programming interfaces. The desktop version runs on the computer and controls installed applications and the browser. The two can also work together, but to get started the desktop version is enough on its own. On Windows 11 the application is already present or can be installed free from the store; you need a Microsoft account and, for some advanced features, a business licence.
The building blocks of a flow
A desktop flow is a list of actions dragged from a side panel and arranged in sequence. The most used categories are:
| Category | Example actions |
|---|---|
| Excel | Launch Excel, read from worksheet, write to worksheet |
| UI automation | Click UI element, populate text field, get details of an element |
| Browser automation | Open a page, fill in a web form, extract data from a page |
| Files and folders | Copy, move, rename, get files in folder |
| Flow control | If, For each, Loop, Wait |
| Variables | Set variable, increase variable |
Variables are easy to spot because they are written between percent signs, such as %InvoiceNumber%. Every action that produces a result stores it in a variable, which subsequent actions can use.
UI elements
The most important concept in RPA is the UI element. When you tell the flow to click the "Save" button, Power Automate doesn't store the screen coordinates of the click, but a selector describing the button: the window it belongs to, the type of control, its name. That way the flow keeps working even if the window is moved or resized.
Elements are captured by hovering the mouse over the desired control and pressing a key combination shown by the editor. The built-in recorder does the same automatically while you perform the task by hand: it is a good starting point, but like every recorder it produces superfluous steps that need cleaning up.
A typical example: data from Excel into a management system
Suppose you have to enter a hundred rows of an Excel sheet into an application, field by field. The outline of the flow is:
- Launch Excel, opening the file with the data.
- Read from Excel worksheet the used range, with the first row as headers: the result is a table stored in a variable.
- For each row of the table:
- bring the management system window to the front;
- populate the Customer field with
%CurrentItem['Customer']%; - populate the Amount field with%CurrentItem['Amount']%; - click Save; - wait for the confirmation message to appear. - Close Excel.
The waiting step is crucial. A human user instinctively waits for the window to be ready; the robot does not. Without explicit waits based on an element appearing, the flow tries to fill in fields that are not yet visible and fails unpredictably.
Handling errors
Every action has error-handling settings: you can choose to retry, to continue or to run an alternative block of actions. For data entry, if a row fails, it is best to write "not entered" in a column of the Excel sheet and move on to the next row. At the end of the run, the rows to check are already flagged.
Limits to be aware of
RPA is powerful but fragile by nature. It depends on how applications look: an update that renames a button or changes the structure of a window can break the flow. Moreover, while it runs the computer is effectively busy, because the robot is using the mouse and keyboard. In my work I see it as a solution for when there is no alternative: if the program offers an export, an import from file or a programming interface, that route is almost always more stable.
Finally, remember that automating access to third-party portals must respect the service's terms of use: RPA is meant to save repetitive work on your own tools, not to get around restrictions.
In short
- RPA automates programs through their graphical interface, the way a user would.
- Power Automate for desktop offers actions for Excel, the UI, the browser and files.
- UI elements make clicks independent of where the window is.
- Add explicit waits and row-by-row error handling.
- Prefer exports or programming interfaces when they exist: they are more stable.