Attended vs unattended RPA in Power Automate Desktop
How attended and unattended RPA differ in Power Automate — modes, licensing, machine management, and the use cases where each fits.
Power Automate Desktop (PAD) automates desktop applications via robotic process automation — driving Windows UIs, web browsers, terminal applications programmatically. Two execution modes shape how PAD runs: attended (with a user) and unattended (lights-out, no user). The choice has licensing, infrastructure, and operational implications.
Attended RPA. A user is present:
- User starts the automation; bot runs alongside.
- User may interact between bot steps.
- User sees and can intervene if needed.
- One execution per user session.
Unattended RPA. No user present:
- Bot runs on a dedicated machine.
- Scheduled or triggered automatically.
- Runs through a queue.
- Many automations across many machines possible.
Choosing between modes.
- Attended — for tasks where the user benefits (data lookup, form-fill assistance, side automation while doing other work). User-pace.
- Unattended — for tasks running outside user's day (overnight reports, weekend processing, scheduled tasks). Machine-pace.
Licensing.
- Attended — bundled in Power Automate per-user plans or per-bot.
- Unattended — separate Power Automate "unattended bot" SKU; per concurrent bot per machine.
Unattended is materially more expensive because it's running 24/7 capacity.
Machine management. Each unattended bot needs a Windows machine:
- Power Automate machine — Windows VM registered with the Power Automate service.
- Machine groups — pool of machines for load balancing.
- Connection persistence — agents stay connected to the cloud service.
For unattended at scale, machine fleet management becomes infrastructure work.
Setup for unattended.
- Provision Windows VM with PAD agent installed.
- Register the machine with Power Automate.
- Configure user account that bot will run as.
- Test connectivity to PAD cloud service.
- Schedule or queue the desktop flow.
The VM runs continuously; bots execute as scheduled.
Power Automate desktop machine groups.
- Multiple machines pooled.
- Cloud service distributes work.
- Provides redundancy.
- Scales horizontally.
For organisations with high unattended bot volume, machine groups are essential.
Triggers for unattended.
- Scheduled — cron-style.
- Event-based — Dataverse event, SharePoint event, etc.
- Manual — admin triggers ad hoc.
- From cloud flow — Power Automate cloud flow invokes desktop flow.
The cloud flow → desktop flow pattern is the most common: orchestration in cloud, desktop bot for the UI work.
Bot account. Bot runs as a specific Windows user:
- Dedicated service account.
- Stored credentials.
- Permission to applications being automated.
The bot's permissions = the user's permissions; respect least-privilege.
Concurrency.
- One bot per machine at a time — typically; some scenarios allow parallel sessions.
- Multiple machines for parallelism.
- Queueing — work waits in queue; processed FIFO.
Comparison patterns.
- High-volume back-office — unattended scale.
- User-assistive — attended.
- Periodic batch — unattended scheduled.
- On-demand desktop tasks — attended on user trigger.
Reliability considerations.
- Application UI changes break bots.
- Windows updates can affect bot behaviour.
- Network blips disrupt unattended runs.
Bots in production need monitoring and recovery patterns.
Common pitfalls.
- Treating attended as unattended. Running long-running automations on user's machine; user productivity blocked.
- Bot account credentials in plain text. Security violation; use Key Vault references.
- No exception handling. Bot fails halfway; partial state.
- No idempotency. Re-running breaks data.
- Single bot for all work. Bottleneck; queue grows.
- No monitoring. Bot runs daily; one day fails; nobody notices for a week.
Production-grade RPA.
- Machine groups for redundancy.
- Monitoring dashboards.
- Alerting on failures.
- Idempotent bot design.
- Exception handling at every step.
- Documented runbooks for common failures.
- Periodic UI regression checks — automation tested when target apps update.
Reconciliation. After unattended runs:
- Did each scheduled run complete?
- Did each record process correctly?
- Are there discrepancies vs source system?
Bots can silently fail; reconciliation surfaces it.
RPA vs API. Always prefer API when possible:
- API more reliable than UI scraping.
- API faster.
- API less brittle to UI changes.
Use RPA when API isn't available — legacy applications, terminal-based systems, web apps without APIs.
Strategic positioning. Unattended RPA is genuine automation at scale; attended is user-assistive productivity. Both have places. The licensing and infrastructure for unattended is material; weigh against the labour savings. For high-volume, repetitive desktop tasks where no API exists, RPA pays back; for lower-volume or where APIs are available, alternatives often win. Plan capacity, monitoring, and process discipline before scaling RPA broadly. The technology works; the operational maturity around it is what determines success.
Related guides
- Power Automate Desktop and RPAHow Power Automate Desktop automates legacy applications with RPA — attended vs unattended, machine groups, AI Builder integration, and where to use it.
- Error monitoring patterns for Power AutomateHow to monitor Power Automate flows in production — Run History, alerts, Application Insights integration, and operational patterns for catching failures fast.
- Machine management for Power Automate DesktopHow to manage RPA machines at scale in Power Automate — machine groups, sizing, health monitoring, and the operational discipline that production bot fleets need.
- Power Automate approvals in depthHow the Approvals platform works under Power Automate — connector, approval types, delegation, the unified approval centre, and the operational patterns that scale.
- Power Automate child flowsHow child flows decompose Power Automate workflows into reusable pieces — definition, invocation, parameters, and the operational impact on maintainability.