Power Automate for desktop · Public preview · July 2026

Stop faking attended automation with pop-up windows

Attended flows have always had an interface problem: the only way to ask a person something mid-run was a stack of modal input dialogs. The new run Power App action replaces that with an actual app — and a two-way channel back into the flow.

The workaround everyone built

Every mature attended automation eventually hits the same wall. The flow gets to a point where a human has to decide something — which of these three matching customer records is the right one, is this invoice actually a duplicate, does the quantity on the scanned form look correct — and the flow needs to ask.

The options up to now were all compromises. Display input dialog chains work but scale badly: five sequential modals, no validation beyond a text box, no way to show the person the document they're being asked about. Picture-in-Picture run mode, introduced back in 2024, keeps the automation out of the user's way but doesn't give you a place to put a real interface. And the most common workaround of all — build a Power App separately, then use UI automation to click into it — is exactly as fragile as it sounds. A selector changes, the app takes 400ms longer to load, and the flow is clicking on nothing.

What was missing wasn't a UI toolkit. It was a supported channel between two runtimes that were always meant to work together.

THREE WAYS TO ASK A HUMAN A QUESTION MID-FLOW 1 · INPUT DIALOG CHAIN no context, no validation, no going back 2 · UI AUTOMATION AGAINST AN APP Desktop flow CLICKS PIXELS Power App breaks when the selector or timing shifts 3 · RUN POWER APP ACTION a declared contract, in both directions
The first two are workarounds for a missing integration point. The third is the integration point.

What actually shipped

The run Power App action arrived in Power Automate for desktop build 2605, and it does three things: it can create, open and run a Power App that integrates directly with the desktop flow. The integration is the part that matters — the action establishes a native communication channel between the two experiences rather than just launching a URL.

That channel carries three kinds of traffic:

  • Inputs. The flow passes values into the app when it opens — the record it just scraped, the file path, the three candidate matches it found.
  • Outputs. The app hands values back into flow variables when the user is done, so the rest of the flow can branch on what they chose.
  • Events. Actions in the app can trigger callable subflows. A button press in the app runs a piece of desktop automation and the user stays where they are.

That third one is the genuinely new capability. Inputs and outputs replicate what you could already fake; event-driven subflow invocation lets you build a proper front end where the desktop automation becomes something the app calls, not the other way round.

DESKTOP FLOW POWER APP reads the source system OPEN APP + INPUTS operator reviews APP EVENT → CALLABLE SUBFLOW looks up the customer CONFIRM → OUTPUTS writes the result
The dashed line is the direction that was previously impossible without hacks: the app driving the automation.

Where it earns its keep

Microsoft calls out guided forms, app front ends for desktop automations, and event-driven experiences. In practice, three shapes come up repeatedly.

Exception handling that needs eyes

The flow processes 400 invoices unattended and 12 fail a validation rule. Instead of writing those to a spreadsheet for someone to work through tomorrow, the attended run opens an app showing the invoice image beside the extracted fields, and the person fixes them in place. The outputs go straight back into the flow.

Disambiguation

Fuzzy matching against a customer master returns three candidates. A dialog box can only list them as text. An app can show the address, the recent order history and a confidence score, which changes the decision quality — not just the aesthetics.

A front door for a legacy system

The desktop flow is the only way to write to an ancient thick client. The app becomes the interface staff actually use, and the automation becomes a service it calls. This is the inversion that the callable-subflow support unlocks, and it's the one worth designing around.

The testIf a screenshot of your current dialog chain would embarrass you in front of the business sponsor, it's a candidate. If the person only ever answers yes or no, leave it alone — a modal is the right tool for a modal question.

Choosing between the options

SituationReach for
One yes/no confirmation, no context neededDisplay input dialog, or the Confirm function if you're already in an app
Two to four simple typed valuesInput dialogs — the migration cost isn't worth it
The person needs to see a document, image or record to decideRun Power App
Decision depends on data from a second systemRun Power App, with the lookup as a callable subflow
The automation should run without blocking the user's screenPicture-in-Picture run mode, unchanged
No human involved at any pointUnattended run — don't add an app to a flow that doesn't need one

Before you build anything

This is a preview feature, which carries the usual caveats and a few specific ones.

  • Version floor. Power Automate for desktop 2.68 or later. Mixed estates are the usual failure mode here — a flow authored on 2.68 that lands on a machine running 2.61 will not behave.
  • Preview means preview. Behaviour and the action's parameters can change before general availability, and preview features are generally excluded from production support commitments. Build the pilot, don't migrate the estate.
  • Licensing. The person running the attended flow now also needs to be a licensed user of the app you're opening. Check that before you demo it to a team of forty.
  • It's still attended. Nothing here makes an unattended flow interactive. If your run schedule assumes nobody is at the machine, an app that waits for a click is a hang, not a feature.
  • Version it. The same release added side-by-side version comparison to desktop flows. Publish a stable version before you start restructuring an attended flow around an app — you will want the diff.
Worth knowingBuild 2605 also introduced co-presence in the flow designer, so you can see who else is editing the same flow, and a dedicated action for testing an individual subflow in isolation. Both are useful while you're refactoring: test the callable subflow on its own before wiring it to an app event.

A sensible first project

Pick one attended flow with a dialog chain longer than three steps. Rebuild only the interactive middle — leave the reading and writing exactly as they are — and follow this order:

  • List what the flow currently asks and what it does with each answer. That list is your app's input and output contract, and writing it down usually reveals two questions nobody needed to ask.
  • Build the app screen first, with hard-coded sample data, until it's genuinely faster for the operator than the dialogs were.
  • Wire the inputs, then the outputs, then events last. Each of the three is independently testable, and the subflow testing action makes that cheap.
  • Time the operator on ten real records, old way and new. If it isn't faster or more accurate, you've built a nicer-looking bottleneck.

The full action reference lives in the Power Platform actions documentation, and the announcement is in the June 2026 feature update.

Discussion

Comments