Power Automate approvals in depth
How the Approvals platform works under Power Automate — connector, approval types, delegation, the unified approval centre, and the operational patterns that scale.
Approvals are one of the most common Power Automate scenarios — purchase requests, expense submissions, document reviews, time-off requests. The Approvals built-in connector wraps an underlying Dataverse-backed approval engine that's more capable than the simple "yes/no" pattern most flows implement.
Approval types.
- Approve/Reject — First to respond — the first approver wins.
- Approve/Reject — Everyone must approve — all approvers must say yes.
- Custom Responses — Wait for all responses — multi-choice responses (Approve, Reject, More info), require all.
- Custom Responses — Wait for one response — multi-choice, first response wins.
The right type per scenario:
- Sequential single approver — First to respond with one approver.
- Parallel approval — First to respond with multiple approvers (escalation).
- Council/board decisions — Everyone must approve.
- Multi-option workflows — Custom responses with paths per choice.
Approval lifecycle.
- Create an approval with type, title, details, approvers.
- Wait for approval response — flow pauses; approvers receive notifications (email, Teams, mobile push).
- Response captured — outcome and comments.
- Flow continues with branching based on outcome.
The flow is idle during the wait — no resource cost until response arrives. Approvals can wait for hours, days, or months without timing out.
Notification channels.
- Email — actionable cards with approve/reject buttons.
- Teams — adaptive card; tap-to-approve.
- Mobile app — Power Automate mobile sends push notifications.
- Web — the Approvals page at make.powerautomate.com.
The approver can use any channel; all sync through the underlying Dataverse table.
Approval centre. The user's view of pending and historical approvals:
- Received — approvals awaiting their action.
- Sent — approvals they initiated (created).
- History — closed approvals.
For users with high approval volume, the centre is the working surface.
Adaptive cards. Approval notifications use Adaptive Cards — JSON-defined cards that render in Teams, Outlook, and Microsoft Loop. Custom Approvals support rich card content: tables, images, multiple action buttons, dropdowns.
Delegation. Approvers can delegate:
- In-product delegation at the user's M365 settings — "while I'm away, route my approvals to X."
- Programmatic re-assignment within a flow — if the original approver hasn't responded in N hours, escalate.
For finance leads, delegation is essential to keep approval cycles moving during PTO.
Reminders and escalations. Native reminders aren't built into the simple approval pattern. Common implementation:
- Start approval.
- Configure a parallel wait branch with a timeout.
- After timeout, send reminder email or escalate to a different approver.
For more sophisticated escalation, a "child flow" pattern triggers nudges and updates.
Multi-stage approvals. A typical purchase approval:
- Manager approves.
- If approved and amount > $5K, director approves.
- If approved and amount > $50K, CFO approves.
Build sequentially with branching, or use sub-flows per stage for cleanliness.
Audit trail. Every approval has a full record:
- Requestor.
- Approvers (assigned, responded, when, comment).
- Status changes.
- Linked documents.
The Dataverse Approvals table is queryable. For compliance reporting, a Power BI dashboard over the Approvals table shows median time-to-decision, denial rate, and bottlenecks.
Approval data structure. Each approval is a row in the Approval Dataverse table; responses are rows in Approval Response. Standard Dataverse permissions apply — solution-aware, security-roled, exportable.
Common pitfalls.
- Long-stalled approvals. No reminders, no escalation, sits forever. Always design escalation.
- Wrong type chosen. Using "First to respond" when "Everyone must" was intended; bypassed approvals.
- Sensitive data in approval details. The details show in emails to potentially unauthorised forwarders; redact sensitive content.
- Approver list hard-coded. A flow with John as approver breaks when John leaves. Look up approvers dynamically (manager from M365, role-based from Dataverse).
- Notifications missed. Approver on PTO without delegation; flow stalls. Build delegation discipline.
At scale. A company running thousands of approval flows benefits from:
- Approval templates — standardised flows for common patterns; makers reuse.
- Approval portal — a custom Power Apps page showing all pending approvals with filtering, useful for execs with high volume.
- Approval analytics — Power BI dashboard on Dataverse approval data.
Operational guidance. The Approvals connector is one of the most reliable, performant parts of Power Automate. Use it generously. The trap is treating each approval flow as a one-off; with templates and consistent patterns, approval flows become a managed asset rather than scattered code.
Related guides
- Attended vs unattended RPA in Power Automate DesktopHow attended and unattended RPA differ in Power Automate — modes, licensing, machine management, and the use cases where each fits.
- 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 child flowsHow child flows decompose Power Automate workflows into reusable pieces — definition, invocation, parameters, and the operational impact on maintainability.
- 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.