Learn › Power Apps & Platform › 3 · Power Automate & flows

Cloud flows, desktop flows and RPA

Power Automate has two families: cloud flows that run in the service against APIs, and desktop flows that drive the UI of applications (RPA). Knowing which is which tells you where it runs, what credential it carries, and how to govern it.

Cloud flows — three trigger styles

Cloud flows run in the Power Automate service and act through connectors (APIs). They differ only by trigger:

Type Trigger Typical use
Automated An event (new email, row created, file added) Event-driven integration
Instant A manual/button press, or a call from an app On-demand actions
Scheduled A recurrence (every hour/day) Batch jobs, reminders, syncs

All three carry the same governance shape: they use connections (stored credentials), they are bounded by DLP, and they can move data between systems.

Desktop flows (RPA)

Desktop flows are robotic process automation — they drive the UI of desktop and web applications (clicking, typing, screen-scraping) via Power Automate Desktop, for systems with no API. They run on a machine (attended, alongside a signed-in user, or unattended, on a server with a stored credential), not purely in the cloud. Attended vs unattended and hosted machines have their own premium/RPA licensing.

Failure modes

  • Unattended RPA runs as a stored human credential. An unattended desktop flow logs in as a real user account to drive apps — that credential is a standing, high-value secret, and the bot inherits everything that user can do.
  • Screen-scraping breaks silently. UI automation is brittle; a layout change can make a flow do the wrong thing rather than fail cleanly.
  • Scheduled flows outlive their purpose. A recurrence set up once keeps running (and consuming) long after anyone remembers why.
  • Instant flows called from apps blur the app/flow boundary — the flow's connection permissions, not the caller's, decide what happens.

What to watch (proofs)

  • Flow inventory by type and state: Get-AdminFlow lists cloud flows per environment with enabled/suspended state; the admin center distinguishes desktop flows and machine/machine-group registrations.
  • Unattended RPA and their run-as accounts: desktop-flow machine registrations and the stored credentials behind them — the standing-secret surface.
  • Recurrence sprawl: scheduled flows and their last-run/trigger history (Get-AdminFlow + run history) — long-idle or high-frequency jobs.
  • Connector reach per flow: which connectors each flow binds (Get-AdminFlow details) vs DLP — the exfil bound.

PowerShell for this concept

  • Get-AdminFlow
  • Get-AdminFlowOwnerRole

Discussion

No messages yet — start the thread.

Sign in with your email to join the discussion — we send a one-time link, no password.