Power Automate Approval flow is one of the most effective ways to automate document review processes inside SharePoint. In this detailed tutorial, you will create a complete approval system that collects multiple approvers, sends automated approval requests, supports several approval types, stores responses and comments, and updates status directly inside SharePoint.
This guide is perfect for workflow designers, SharePoint users, and anyone aiming to build a scalable Power Automate Approval flow.

π What You Will Learn
Using this Power Automate Approval flow, youβll be able to:
- Trigger approvals directly from a selected file
- Dynamically load approvers from metadata
- Use five approval types
- Collect and format approval comments
- Save responses into SharePoint columns
- Automatically calculate Approved or Rejected status
π§± Step 1: Prepare SharePoint Library for Power Automate Approval flow
To begin, create a new SharePoint Document Library named:
π Documents for Approval
Then add the following columns:
π·οΈ Required Columns
| Column Name | Type | Settings |
|---|---|---|
| Approvers | Person | Allow multiple selections |
| Approval Responses | Multiple lines of text | |
| Approval Comments | Multiple lines of text | |
| Status | Choice | Add “Approved”, “Rejected”, “Pending” as Choices |
These fields will store everything captured through the Power Automate Approval flow.
β‘ Step 2: Add Trigger – For a selected file
Now create a new cloud flow.
- Go toΒ make.powerautomate.com
- SelectΒ Create > cloud flow
- Name your flow:Β
Approval Flow - SelectΒ For a selected fileΒ as the trigger
- ClickΒ Create
π¦ Trigger: For a selected file (SharePoint)
Configure the trigger parameters as shown below.
- Site Address: Your site URL
- Library Name: Documents for Approval

π This lets you start the approval from the menu of each file.
π Step 3: Add Action – Get File Properties
Configure the action parameters as shown below:
- Site Address: SharePoint site URL
- Library Name: Documents for Approval
- Id: Select ID from trigger
Sometimes the dynamic content inserts an incorrect ID. Make sure the expression is exactly:triggerBody()?['entity']['ID']
You can verify it by hovering your mouse over the field and checking the tooltip.

This retrieves the approvers, file metadata, name, and link required later.
π₯ Step 4: Add Action – Select
Extract approver emails using the Select action. We only need their email addresses.
Configure the action parameters as shown below:
- From: Approvers (from Get file properties)
- Map: First, switch it to text mode by clicking the icon next to Map.
Value: Choose Approvers Emails

π This prepares the list of emails required for the approval assignment.
π¨ Step 5: Add Action – Start and Wait for an Approval
Configure the action parameters as shown below:
- Approval type: Approve/Reject – Everyone must approve
- Title: Please check this file for approval
- Assigned to:
Switch to dynamic content mode and paste the following expression:@{join(body('Select'),';')}
This expression retrieves all emails from the previous Select action and separates them with semicolons.
Note:- If you paste it directly into the field, include the
@and curly brackets. - If you paste it in the Expression textbox, remove the
@and curly brackets.
- If you paste it directly into the field, include the
- Details: Add File Name + text like βfor Approvalβ
- Item link: Use Link to item from Get file properties

This builds the core engine of your Power Automate Approval flow.
π― Quick Overview of All Approval Types in Power Automate
- πΌ Approve/Reject – Everyone must approve: Flow ends only when all approvers answer. One rejection = rejected.
- β‘ Approve/Reject – First one to respond: Stops immediately after the first response.
- π Custom Responses – Wait for all responses: Use custom buttons like Yes, No, Needs More Work.
- ποΈ Custom Responses – Wait for one response: Uses custom buttons but stops at the first response.
- π Sequential Approval: Sends one by one in order.
All these modes can be used inside a Power Automate Approval flow depending on requirements.
π¬ Step 6: Add Action – Select (Another One)
Add another Select action to capture and format approval comments.
Configure the action parameters as shown below:
- From: Select Responses
- Map: Switch to text mode
Value: Copy the following expression (remember the@and curly brackets if pasting directly into the field, as noted above):
@{concat(item()?['responder']?['displayName'],':',item()?['comments'])}
This creates formatted lines like:
Sarah Khan:Looks good to me
John Ali:Please update page 2
Perfect for summarizing feedback inside your Power Automate Approval flow.
π Step 7: Add action – Update File Properties
Configure the action parameters as shown below:
- Site Address: Your site URL
- Library: Documents for Approval
- Id: Use the ID from the trigger, or you can also use the ID from the Get file properties action.
Open Advanced Parameters and fill:
- Approval Responses: Select Response Summary
- Approval Comments: copy expression given below
@{join(body('Select_1'),decodeUriComponent('%0A'))}
This places comments on separate lines. - Status Value: copy expression given below
@{if(equals(indexOf(outputs('Start_and_wait_for_an_approval')?['body/outcome'],'Reject'),-1),'Approved','Rejected')}
β If no one rejected β Approved
β If any rejection β Rejected

That completes your automatic status calculation.
π Test the flow
Go to your SharePoint document library.
- Upload a file.
- Add approvers.
- Right-click the file β Automate β Flows β Select the name of your flow.

π§° Bonus: Approval Action Additional Settings
Inside the Start and Wait for an Approval actionβs Advanced options, you can enable:
π Requestor: Shows who requested the approval.
π Enable Notifications: Sends Teams and email alerts.
π Enable Reassignment: Approvers can forward the request.
π Attachments: Include attached documents within approvals.
These enhancements make the Power Automate Approval flow more user friendly and professional.
π Result
Your final flow will:
β¨ Trigger from a selected file
β¨ Dynamically assign multiple approvers
β¨ Use any approval type
β¨ Collect formatted comments
β¨ Log responses in SharePoint
β¨ Automatically calculate Approved or Rejected
You now have a fully functional Power Automate Approval flow.
π Bonus Resources You May Like
- π 5-Step Effortless Tutorial for File Conversion and Sharing
- π Powerful Automated Contract Renewal Alert in 11 Steps
- π‘ 5 Easy Steps to Automate Invoice Email to SharePoint
- Ultimate Power Automate Substring Function Explained β 6 Powerful Examples
- π₯ 3 Effortless Steps to Save Email Attachments to Teams