
An approval workflow in Power Automate routes a request to the right person, waits for a decision, and records what happened. The build is straightforward. What separates one that works from one people route around is handling the two failure cases: an approver who does not respond, and a requester who cannot see where their request is.
Why do email approvals break down?
Email approvals do not fail loudly. They fail by going quiet.
A request goes out, and then nobody can answer the only question that matters: where is it now? The requester asks the approver, the approver has forty other emails, and the trail is a thread somebody has to reconstruct. When a decision is finally made, the record of it is a message in one person's mailbox.
The cost is not the sending. It is the chasing, and the fact that nobody can audit it afterwards.
How to build an approval flow
- Pick the trigger. A form submission, a new record in Dataverse or SharePoint, a file added to a library. Start from the event that already exists in the process rather than adding a new step for people to remember.
- Capture the request as a record first. Write it to Dataverse or a list before the approval starts. This is the part most people skip, and it is what makes status visible later. An approval that exists only inside a running flow is invisible.
- Add the Approvals action. Choose "Approve/Reject — First to respond" for a single decision, or "Everyone must approve" when several sign-offs are genuinely required. Put enough in the request body that the approver can decide without opening anything else.
- Branch on the outcome. Update the record, notify the requester, and carry out whatever the approval was gating. Both branches need to do something, including rejection.
- Handle the silence. Add a reminder, an escalation, or a deadline. Without this, a request sits forever and the process quietly stops.
- Make failures visible. Configure error handling so a broken run raises a flag rather than disappearing. An automation nobody trusts gets worked around.
What makes an approval flow actually get used?
The requester can see status without asking. If checking on a request means messaging someone, the automation has not removed the work. It has moved it.
Approvers can decide in one place. Approvals surface in Outlook, Teams, and the Power Automate portal. Meet people where they already are rather than adding another site to check.
Rejections are as well handled as approvals. A rejection with no reason and no next step sends the conversation back to email, which is what you were trying to escape.
Escalation is defined up front. Decide what happens after three days before you build it, not after the first request stalls.
What should the approval record contain?
Enough that the decision can be audited later without anyone's memory:
- Who requested it, and when
- What was requested, in enough detail to judge
- Who approved or rejected it, and when
- Any comment they left
- What the system did next
If that lives in Dataverse rather than in the flow run history, it stays queryable and reportable after the run has aged out.
Common mistakes
Automating a process nobody agreed on. If the approval path is disputed on paper, automating it makes the disagreement faster, not resolved. Settle who approves what first.
Too many approval stages. Every stage is a place a request can stall. Three sequential approvers means three chances for it to stop.
No timeout. The single most common cause of an abandoned approval process.
Rebuilding what the platform provides. The Approvals action handles the response UI, the notifications, and the audit record. Hand-building that with emails and a status column is more work and less reliable.
Does this need premium licensing?
It depends on the connectors. Approvals, Outlook, SharePoint, and Teams sit within most Microsoft 365 plans. Dataverse and custom connectors need Power Platform licensing. Settle this before design, because it changes where you store the record and that is not a decision you want to revisit mid-build.
Where to start
Take the process that generates the most chasing. Not the most complex one, and not the most important one. The one where people are spending time asking each other where something got to.
That is usually the one where automation is felt immediately, and it is the easiest place to prove the approach before extending it.
Last updated
- Power Automate
- Approvals
- Process Automation