Power Automate is Microsoft’s low-code automation platform for building workflows, called flows, that connect cloud services, business data and desktop applications without conventional programming. Among automation platforms it sits alongside Zapier, Make and n8n, but it is distinguished by its deep integration with Microsoft 365, Dataverse and Azure and by combining API-based cloud flows with desktop robotic process automation in one product.
The service was launched as Microsoft Flow and renamed Power Automate in 2019, when it became part of the Power Platform together with Power Apps, Power BI and Copilot Studio. In the wider field of automation, it is typically chosen by organizations that already manage identity, documents and collaboration in the Microsoft ecosystem.
How a Power Automate flow is built and executed
Every cloud flow consists of one trigger followed by a sequence of actions. The trigger starts a run, for example when a new email arrives, a SharePoint item changes or a schedule fires. Each action then calls a connector operation, transforms data or controls the logic with conditions, switches, loops and scopes.
Under the hood, cloud flows run on the same engine as Azure Logic Apps, and each flow is stored as a JSON document written in the Workflow Definition Language. Data moves between steps as dynamic content: outputs of earlier steps become tokens that later steps reference. When the visual designer is not enough, authors write expressions such as formatDateTime(), coalesce() or json() to reshape values.
Each execution is recorded in the run history with the inputs and outputs of every action, which is the primary debugging tool. The table below shows the trigger families that start a cloud flow and where each one fits.
| Trigger type | How it starts a run | Typical use |
|---|---|---|
| Automated trigger | A connector event delivered by webhook or polling | New form response, updated record |
| Instant trigger | A button, a Teams message or a Power Apps call | Approval request started by a user |
| Scheduled trigger | A recurrence at a fixed interval | Nightly report, weekly cleanup |
| HTTP request trigger | An inbound call to a generated endpoint | Integration with an external system |
Flow types, connectors and desktop automation
Power Automate groups its capabilities into several flow types that differ in where they run and what they automate. Choosing the wrong type is a frequent design error, because a task that has a usable API should almost always be a cloud flow rather than a desktop flow.
| Flow type | Runs on | Automates | Licensing note |
|---|---|---|---|
| Cloud flow | Microsoft cloud | APIs exposed through connectors | Standard connectors included in many Microsoft 365 plans |
| Desktop flow | A Windows machine with Power Automate for desktop | User interfaces of applications without APIs | Unattended runs need a process or hosted license |
| Business process flow | Model-driven apps on Dataverse | Guided stages for human users | Requires Dataverse |
| Process mining | Cloud analytics | Discovery of real process paths from event logs | Licensed as a separate capability |
Connectors are wrappers around APIs that expose triggers and actions with typed inputs. Microsoft classifies them as standard or premium; premium connectors such as SQL Server or the generic HTTP action require a premium license. When no prebuilt connector exists, teams create a custom connector from an OpenAPI definition.
Desktop flows grew out of the acquisition of Softomotive in 2020 and provide UI automation with recorders, UI element selectors, image recognition and scripting. They run either attended, on the user’s own session, or unattended, on a dedicated machine or machine group without a signed-in person.
Power Automate compared with other automation platforms
Power Automate competes with general integration platforms and with developer-oriented orchestrators, and the right choice depends mainly on where the data and users already live. The comparison below summarizes the practical differences.
| Platform | Hosting model | Main strength | Typical limitation |
|---|---|---|---|
| Power Automate | Microsoft cloud plus Windows machines | Microsoft 365 integration, governance, desktop RPA | Complex licensing, Windows-only desktop flows |
| Zapier | Vendor cloud | Very large app catalog, fast setup | Mostly linear logic, task-based pricing |
| Make | Vendor cloud | Visual branching and data transformation | Operation-based costs at high volume |
| n8n | Self-hosted or vendor cloud | Code nodes and full data control | Operational effort when self-hosted |
| Node-RED | Self-hosted, often on edge devices | Event and IoT message flows | Few enterprise governance features |
| Airflow | Self-hosted or managed service | Scheduled data pipelines defined in Python | Not designed for event-driven business tasks |
The decisive factor is usually the existing identity and data estate. An organization that runs on Entra ID, SharePoint, Teams and Dynamics 365 gets authentication, connectors and administration largely included, while a team built around other SaaS tools often adopts Zapier or Make faster. Where legacy desktop software has no API, the built-in RPA gives Power Automate a clear advantage over purely cloud-based tools.
Governance, environments and service limits
Flows live inside environments, which are containers with their own data, permissions and policies. Administrators apply data loss prevention policies that sort connectors into business, non-business and blocked groups; a single flow cannot combine business and non-business connectors, which prevents, for example, copying customer records to a personal storage service.
Professional teams package flows in solutions and use connection references and environment variables so that the same flow can move from development to test to production without manual editing. The platform also enforces limits that shape design decisions, summarized below.
| Limit | Typical value | Practical effect |
|---|---|---|
| Maximum run duration | 30 days | Long approvals must finish or be redesigned |
| Apply to each concurrency | Sequential by default, up to 50 parallel | Parallelism speeds loops but breaks ordered logic |
| Do until loop | Default 60 iterations or one hour | Loops stop at the limit unless it is raised |
| Daily request allocation | Depends on the license | Heavy flows are throttled when it is exceeded |
| Polling trigger frequency | Minutes, depending on plan and connector | Event handling is not real time |
Common pitfalls in Power Automate solutions
Most production incidents come from a small set of recurring design mistakes rather than from platform failures. Experienced makers check for the following issues before a flow goes live.
- Personal ownership: a flow owned by one employee stops when that account is disabled, so business-critical flows need co-owners or a service account.
- Self-triggering loops: a flow that updates the same item that triggers it can run endlessly; trigger conditions prevent this.
- Missing error handling: without configure run after settings and try-and-catch scopes, a failed action ends the run silently.
- Ignored pagination: list actions return a limited first page of results unless pagination is enabled.
- Per-item API calls in large loops: they consume the request allocation quickly; server-side filter queries reduce the load.
In plain words
Power Automate is a tool that lets people tell their computer systems: when this happens, do that. When an email with an invoice arrives, save the file, notify the manager and wait for approval. Instead of writing code, the user arranges ready-made steps on a screen, much like assembling a recipe from cards.
It can work with online services through their official connections, and it can also operate old desktop programs by clicking and typing like a person would. The key idea is that repetitive office work moves from people to flows, while people keep the decisions that need judgment.
A real-world example
A mid-sized manufacturer receives about 400 supplier invoices a month in a shared mailbox. A cloud flow triggers on each new message with a PDF attachment, saves the file to a SharePoint library and uses document extraction to read the supplier, amount and due date. Invoices above 5,000 euros generate an approval request in Teams for the cost center manager.
The company’s older accounting system has no API, so an unattended desktop flow runs every evening on a dedicated virtual machine and types the approved invoices into its screens. A scope with run-after settings sends failures to a shared queue for review. The accounts payable team now handles only the exceptions instead of keying in every document, and every step remains visible in the run history for auditors.