Power Automate cloud flows — a deep dive
By Emil Björk · Microsoft ecosystem consultant, Gothenburg
The architecture, triggers, actions, and patterns of cloud flows — and the licensing rules that catch many users out.
3 min read
Share as imagePNGCloud flows in Power Automate are the bread and butter of low-code workflow automation in Microsoft 365. Beyond simple "when email arrives, post to Teams" scenarios, they support sophisticated orchestration — parallel branches, error handling, approvals, child flows — that can replace a surprising amount of custom development.
The three trigger types
- Automated — fires on an event (new email, new SharePoint item, file upload, message in Teams). The most common type.
- Instant — triggered manually by a button (in Power Automate mobile, from Teams, from a Power App).
- Scheduled — runs on a timer (every hour, every Tuesday at 09:00).
Each cloud flow has one trigger.
Actions and connectors
After the trigger come actions: connector calls that read, write, or transform data. Microsoft ships hundreds of connectors for Microsoft 365 services, Azure, Dynamics 365, SAP, Salesforce, ServiceNow, Twilio, Stripe, and so on. Custom connectors let you call any REST API.
Connectors are split into standard (in-suite, included with Microsoft 365) and premium (Dataverse, SQL, HTTP, custom). Premium requires Power Automate or Power Apps premium licensing.
Control flow
Cloud flows support the usual control structures:
- Conditions with if/then branches.
- Switch on a value.
- Apply to each loops.
- Do until loops with explicit exit conditions.
- Parallel branches for independent steps.
- Scope blocks for grouping and error handling.
- Run after configuration on any action — run only if the previous failed, succeeded, was skipped, or timed out.
Error handling is where many flows fall down. Configure Run after on key actions so failure paths log to a SharePoint list, post to Teams, or escalate to a human.
Child flows
A child flow is a flow that another flow can call. They live in solutions (a packaging unit), accept parameters, and return values. Use them to factor out reusable patterns — "send a notification," "create a ticket" — once and call them everywhere.
Approvals
The Approvals action triggers an approval request that the recipient can act on from Outlook, Teams, or the Power Automate mobile app. Approvals can be sequential or parallel, with multiple approvers and configurable response options. Built on a shared Dataverse table behind the scenes.
Licensing gotchas
The licensing model has changed several times:
- Standard connectors in-suite are included with Microsoft 365, with a fairly generous per-user run allowance.
- Premium connectors (SQL, HTTP, the on-premises data gateway, Dataverse) require Power Automate Premium licensing. The on-premises data gateway is the small Windows service that lets a cloud flow reach an on-prem SQL Server, file share, or internal API without exposing it to the internet — install it on a server with reliable connectivity (not a laptop that sleeps), and for anything beyond a single-user proof of concept use standard mode, which supports multiple users and data sources through one gateway rather than the single-user personal mode.
- Per-flow licensing is available for flows shared by many users where buying per-user doesn't fit.
- Pay-as-you-go through an Azure subscription is increasingly the pragmatic answer.
The most common surprise: a flow that uses a premium connector consumes premium runs from anyone who invokes it — and they all need licensing.
Patterns that work
- Use scope blocks for error handling.
- Send a Teams adaptive card for approvals instead of email — better UX, richer responses.
- For long-running flows, prefer state in Dataverse over flow variables.
- For high-volume scenarios, child flows with parallel runs scale better.
- Always log to a known place so flow failures are visible.
Cloud flows are how a tenant's Microsoft 365 quietly becomes much more automated. Treat them as code: version-controlled in solutions, tested, monitored.
Was this useful?
Spot something wrong or want a topic covered? Send it through the contact form.