Cloud Flow or Desktop Flow? The Decision in 5 Questions
Cloud flow or desktop flow? Here is how to decide in Power Automate when a legacy ERP without an API is involved.
How to trigger a desktop flow directly from a cloud flow in Power Automate, including mode, variables, and connection.
A cloud flow in Power Automate runs entirely in the cloud and can talk directly to systems like SharePoint, Outlook, or Dataverse. But as soon as a classic Windows application without an API comes into play, an old ERP system, for example, or an Excel sheet with organically grown logic, the cloud layer alone is no longer enough. This is exactly where the action Run a flow built with Power Automate for desktop comes in. It builds the bridge between cloud automation and the RPA layer on the desktop, so a cloud flow can trigger a desktop flow and then process its result further.
This article shows how to build that bridge, what a machine needs to meet the requirements, and how data flows in both directions, following Microsoft's official Power Automate documentation. As of: July 2026.
According to the documentation on triggering desktop flows from cloud flows you need four things before the first connection works:
The actual setup always follows the same pattern:
Desktop flows can define input and output variables so the cloud and desktop layers can actually talk to each other. Input variables pass data from the cloud flow to the desktop flow, for example a customer number or a file path. Output variables run the other way and return, for instance, a result from a legacy application back to the cloud flow, so it can continue working with it, say to send an email or update a record in Dataverse. As soon as a desktop flow has input variables, they automatically appear as separate fields in the action in the Power Automate portal. Two points worth keeping in mind:
Whether a desktop flow runs attended or unattended largely determines the architecture behind it. With attended, the automation runs while someone is sitting at the computer, is usually started manually, and may also include human decision points along the way. With unattended, according to the documentation on running unattended desktop flows, Power Automate runs the entire process on its own, without any human involvement, and automatically signs in to the target machine using the credentials stored in the connection. There are a few specifics to keep in mind:
Important for planning: attended and unattended should not be mixed on the same machine, since attended automation requires an already signed-in session, while unattended automation instead requires a signed-out or disconnected state.
Before a desktop flow can even be started from the cloud, the connection to the machine has to be in place. The documentation on desktop flow connections describes two basic approaches for this:
Important for governance: according to the documentation, a desktop flow connection cannot be shared with other people, and before you make a machine available for cloud-driven desktop flows at all, you should make sure it is secured and its administrators are trustworthy.
For production use, it is worth taking a look at the documented limits before they catch you off guard in operation:
This bridge between the cloud and desktop layers is therefore not a side issue, but often the crucial piece that makes an automation complete. You retain control over which steps run in the cloud and which on the Windows interface, and can cleanly connect both worlds via input and output variables.
A cloud flow runs entirely on Microsoft's servers and talks to services via APIs and connectors. A desktop flow, on the other hand, runs on an actual Windows computer and controls applications there just as a human would, via clicks, keyboard input, or screen recognition. The action for running a desktop flow connects both worlds, with the cloud flow triggering the desktop flow and waiting for its result.
According to the official documentation, Power Automate currently supports up to 70 desktop flow runs per minute for each individual connection. For larger volumes of parallel runs, it is worth using several connections or a machine group to distribute the load.
Technically, this is not advisable, because both modes require different session states. Attended automation needs an already signed-in, active session, while unattended automation needs a machine from which all users are signed out. On Windows 10 and Windows 11, an active session even actively prevents an unattended run from starting. Plan for a consistent mode per machine or machine group instead.
By default, the desktop flow keeps running in this case, provided the Asynchronous Pattern setting is disabled in the action. The cloud flow and the desktop flow are therefore not necessarily tightly coupled. If you want to make sure that cancelling on the cloud side also ends the desktop flow, you should account for this specifically when designing the flow.
Yes. For unattended runs, in addition to the regular Power Automate license, an unattended add-on or the Power Automate process plan is required. This license must be held by the person who created the desktop flow connection, not necessarily by the person designing the cloud flow. If the right entitlement is missing, the cloud flow is automatically locked when saved until the add-on is assigned.
Founder of NordFlux. Spent four years automating processes at enterprise scale at Dräger, and now brings that depth to the mid-market — pragmatic and with full data sovereignty.
Certifications
Cloud flow or desktop flow? Here is how to decide in Power Automate when a legacy ERP without an API is involved.
How to start a Power Automate flow directly from a SharePoint list item using the "For a selected item" trigger.
Attended, unattended, and hosted RPA compared: which Power Automate license is needed for which desktop flow use case.
Between cloud flow and desktop flow, execution mode, connection type and variable handoff have to match exactly, or the automation breaks right at that interface. We set up this connection for your processes and choose the right mode between attended and unattended. That way the handoff stays reliable, even as processes grow.