Power Automate desktop flows and RPA
Desktop flows automate UI on Windows machines — Microsoft's robotic process automation capability inside Power Automate.
Desktop flows are Power Automate's robotic process automation (RPA) capability. They automate the user interface of Windows applications — clicking buttons, typing text, navigating menus, extracting data — for systems that don't have a proper API. They're the bridge between modern API-driven automation and legacy thick-client apps that aren't going away soon.
What desktop flows can do
A desktop flow runs as a sequence of actions that operate on a Windows session:
- UI automation — click, type, drag, focus, wait for, find — against Windows apps (Win32, UWP, Java, mainframe terminals).
- Browser automation — drive Edge, Chrome, Firefox to fill forms, click links, scrape data.
- Excel automation — open files, read/write cells, run macros.
- File and folder operations — manipulate files, ZIP archives, PDFs.
- OCR and document parsing — extract data from PDFs and images.
- Email — Outlook desktop COM-level automation.
- Database queries — direct SQL connections.
- Scripting — embed PowerShell, Python, JavaScript, VBScript.
The authoring tool is Power Automate for desktop — a separate Windows app, not the browser-based cloud flow designer.
Attended vs unattended
- Attended — the flow runs interactively on the user's signed-in machine. Good for assisted scenarios where the user kicks off a flow and stays nearby.
- Unattended — the flow runs on a dedicated machine without a user signed in. Used for true RPA — overnight batch processes, hands-off automation. Requires a Power Automate Unattended RPA add-on.
Machine management
Unattended flows run on machines registered with Power Automate. The machines are typically dedicated Windows VMs in your network. Each machine signs in to the Power Automate service and accepts run requests. Machine groups distribute load across pools.
Hosted RPA
A newer option: Power Automate Hosted RPA runs unattended flows on Microsoft-hosted Windows machines — no infrastructure for you to manage. Best for low-to-medium throughput scenarios where the cost of running your own RPA VMs outweighs the per-run cost of hosted execution.
Where desktop flows shine
- Legacy systems with no API (SAP green-screen, AS400 emulators, ancient ERP).
- Excel-heavy back-office processes.
- Tools where vendors charge a fortune for API access.
- Sequences that span multiple apps with no common integration.
Where to be cautious
- Desktop flows are brittle by nature. A UI change in the target system can break the flow.
- They're single-threaded on a machine — RPA throughput scales by adding machines.
- They require monitoring because failures aren't always obvious.
- They don't replace proper integration work — they're a stop-gap.
A good principle: if the target system has an API, use a cloud flow with a custom connector. Use RPA only when there's no other way.
Licensing
Desktop flows attended mode is included with per-user Power Automate licensing. Unattended mode requires the Unattended RPA add-on or pay-as-you-go pricing. Each unattended bot is licensed separately.
For tenants with significant legacy software, desktop flows can be transformative. Treat them as the legacy-bridging tool they are.