Multi-Step Approval Chaining in Power Automate
Set up a sequential approval process that sends documents to reviewers one after another, with automatic status tracking and audit logs in SharePoint.
Sequential approvals are ideal when a document or request must be reviewed by multiple people in a fixed order – for example, a junior manager first, then a senior director. Power Automate’s built-in sequential approval action makes this pattern surprisingly straightforward, while also tracking each approver’s decision and timeline. In this walkthrough, you’ll build a production-ready flow that updates a SharePoint list with the final status and a full audit trail.
Scenario: Purchase Contract Approval
Imagine a procurement department where every contract over $10,000 needs approval from two managers in sequence: first the procurement manager, then the finance director. Only after both have approved is the contract considered final. The requestor must be able to see the current status and, once completed, the entire approval history.
To support this, we’ll use a SharePoint list named Contracts with the following columns:
| Column Name | Type |
|---|---|
| Title | Single line of text |
| Vendor | Single line of text |
| ContractValue | Currency ($) |
| StartDate | Date only |
| EndDate | Date only |
| SubmittedBy | Person or Group |
| FirstApprover | Person or Group |
| SecondApprover | Person or Group |
| ApprovalStatus | Choice: Pending, Approved, Rejected |
| ApprovalHistory | Multiple lines of text |
A new item might look like this:
- Title: Cloud Services Agreement
- Vendor: Acme Corp
- ContractValue: 45,000
- SubmittedBy: Sarah Chen
- FirstApprover: John Okafor (Procurement Manager)
- SecondApprover: Linda Rossi (Finance Director)
- ApprovalStatus: Pending
Enabling the Sequential Approval Action
At the time of writing, the sequential approval option is still in preview. To make it available in your environment, go to the Power Platform admin center, create or select an environment, and turn on Get new features early. Once this setting is active, the sequential approval action appears in the Approvals connector.
Building the Flow
Start a new automated cloud flow with the SharePoint – When an item is created trigger. Choose your site and the Contracts list.
1. Mark the Item as Pending
Directly after the trigger, add a SharePoint – Update item action. Configure it to set the ApprovalStatus column to Pending. This instantly signals that an approval workflow has started.
2. Add the Sequential Approval Action
Insert an Approvals – Start and wait for an approval action. Change the Approval type to Sequential (Preview). You’ll see two steps labeled Approval Step 1 and Approval Step 2.
- In Approval Step 1 – Assigned to, enter the email of the first approver:
FirstApprover Email. - In Approval Step 2 – Assigned to, enter the email of the second approver:
SecondApprover Email.
Fill in the Title and Details with dynamic content from the trigger (e.g., Contract: Title, Value: …). Use the Requestor field to capture who submitted the request – this allows the approvers to reply with comments that are forwarded back to the requestor.
To display the contract value as formatted currency, use this expression in the Details field:
formatNumber(triggerOutputs()?['body/ContractValue'], 'C2')
3. Capture the Outcome
After the approval completes, add a Condition action to check whether the outcome equals Approve. The Outcome of a sequential approval is a comma-separated string (e.g., Approve, Approve or Approve, Reject). Use the dynamic value Outcome as the left side and enter Approve as the right side.
In the If yes branch, add another Update item action to set ApprovalStatus to Approved and ApprovalHistory to the Response Summary dynamic value (which includes each approver’s name, response, request date, and response date).
In the If no branch, set ApprovalStatus to Rejected and also log the Response Summary in ApprovalHistory.
Testing the Flow
Create a new item in the Contracts list using real approvers from your organization. Within moments, the first approver receives an approval request in email and in the Power Automate approvals center. After the first approver responds, the request moves to the second approver. Once both have acted, the SharePoint list is updated with the final status and the full history.
You can view the history by opening the list item and reading the ApprovalHistory field – it contains a plain-text log similar to:
John Okafor - Approve - 2026-06-04 10:15 Linda Rossi - Approve - 2026-06-04 14:32
Special Considerations
Preview limitations: Because this feature is in preview, avoid using it in critical production workflows unless you have tested thoroughly and accepted the risk of potential changes. Monitor the Power Automate release notes for general availability.
Approver identity: Always use the Email field of the person column, not the Display Name. Power Automate resolves the email automatically, but if you use a text field, you must supply a valid email address.
Reassignment: The sequential approval action does not natively support reassignment. If an approver is out of office, consider using a parallel branch with a delay or a manual override.
SharePoint permissions: The account running the flow must have permission to update the list. The approvers themselves do not need direct access to the list – they only interact via the approval action.
Common Pitfalls
- Forgetting to enable early features – the sequential approval type simply won’t appear.
- Mixing approval types – using “Anyone” or “All” instead of “Sequential” will not enforce order.
- Using the wrong dynamic value – the Outcome field is a string; comparing it directly with “Approve” works because it contains the word for each step. However, if any step rejects, the outcome will include “Reject”. The condition “equals ‘Approve’” will only be true when all steps approved. This is exactly what we want in this scenario, but be aware that more complex logic may require parsing.
- Not testing with multiple users – always test the flow with different approvers to confirm the sequence is respected.
Conclusion
The sequential approval action in Power Automate is a powerful way to enforce an ordered review process without writing custom code. By combining it with a SharePoint list, you get both a clear status indicator and a complete audit trail. Start with the simple pattern shown here, then extend it with timeouts, reminders, or conditional branches as your process evolves.
References
- Original article by Matthew Devaney: Easiest Power Automate Sequential Approval Flow Pattern
- Microsoft Learn: Introduction to approvals in Power Automate
- Microsoft Learn: Create a sequential approval flow