{"id":1075,"date":"2025-11-17T23:27:51","date_gmt":"2025-11-17T23:27:51","guid":{"rendered":"https:\/\/www.techpolaju.com\/blog\/?p=1075"},"modified":"2025-11-17T23:31:32","modified_gmt":"2025-11-17T23:31:32","slug":"power-automate-approval-flow","status":"publish","type":"post","link":"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/","title":{"rendered":"\ud83d\udd25 7 Powerful Steps to Build a Power Automate Approval flow for Reliable Document Review"},"content":{"rendered":"\n<p>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.<\/p>\n\n\n\n<p>This guide is perfect for workflow designers, SharePoint users, and anyone aiming to build a scalable Power Automate Approval flow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"660\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-6-1024x660.png\" alt=\"Power Automate Approval flow\" class=\"wp-image-1103\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-6-1024x660.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-6-300x193.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-6-768x495.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-6.png 1239w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%9A%80_What_You_Will_Learn\" >\ud83d\ude80 What You Will Learn<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%A7%B1_Step_1_Prepare_SharePoint_Library_for_Power_Automate_Approval_flow\" >\ud83e\uddf1 Step 1: Prepare SharePoint Library for Power Automate Approval flow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%E2%9A%A1_Step_2_Add_Trigger_%E2%80%93_For_a_selected_file\" >\u26a1 Step 2: Add Trigger &#8211; For a selected file<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%93%84_Step_3_Add_Action_%E2%80%93_Get_File_Properties\" >\ud83d\udcc4 Step 3: Add Action &#8211; Get File Properties<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%91%A5_Step_4_Add_Action_%E2%80%93_Select\" >\ud83d\udc65 Step 4: Add Action &#8211; Select<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%93%A8_Step_5_Add_Action_%E2%80%93_Start_and_Wait_for_an_Approval\" >\ud83d\udce8 Step 5: Add Action &#8211; Start and Wait for an Approval<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%92%AC_Step_6_Add_Action_%E2%80%93_Select_Another_One\" >\ud83d\udcac Step 6: Add Action &#8211; Select (Another One)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%8F%81_Step_7_Add_action_%E2%80%93_Update_File_Properties\" >\ud83c\udfc1 Step 7: Add action &#8211; Update File Properties<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%8F%81_Test_the_flow\" >\ud83c\udfc1 Test the flow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%A7%B0_Bonus_Approval_Action_Additional_Settings\" >\ud83e\uddf0 Bonus: Approval Action Additional Settings<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%8E%89_Result\" >\ud83c\udf89 Result<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/#%F0%9F%93%88_Bonus_Resources_You_May_Like\" >\ud83d\udcc8 Bonus Resources You May Like<\/a><\/li><\/ul><\/nav><\/div>\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%9A%80_What_You_Will_Learn\"><\/span>\ud83d\ude80 <strong>What You Will Learn<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Using this Power Automate Approval flow, you\u2019ll be able to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trigger approvals directly from a selected file<\/li>\n\n\n\n<li>Dynamically load approvers from metadata<\/li>\n\n\n\n<li>Use five approval types<\/li>\n\n\n\n<li>Collect and format approval comments<\/li>\n\n\n\n<li>Save responses into SharePoint columns<\/li>\n\n\n\n<li>Automatically calculate Approved or Rejected status<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%A7%B1_Step_1_Prepare_SharePoint_Library_for_Power_Automate_Approval_flow\"><\/span>\ud83e\uddf1 <strong>Step 1: Prepare SharePoint Library for Power Automate Approval flow<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To begin, create a new SharePoint Document Library named:<\/p>\n\n\n\n<p>\ud83d\udcc1 <strong>Documents for Approval<\/strong><\/p>\n\n\n\n<p>Then add the following columns:<\/p>\n\n\n\n<p>\ud83c\udff7\ufe0f <strong>Required Columns<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column Name<\/th><th>Type<\/th><th>Settings<\/th><\/tr><\/thead><tbody><tr><td>Approvers<\/td><td>Person<\/td><td>Allow multiple selections<\/td><\/tr><tr><td>Approval Responses<\/td><td>Multiple lines of text<\/td><td><\/td><\/tr><tr><td>Approval Comments<\/td><td>Multiple lines of text<\/td><td><\/td><\/tr><tr><td>Status<\/td><td>Choice<\/td><td>Add &#8220;Approved&#8221;, &#8220;Rejected&#8221;, &#8220;Pending&#8221; as Choices<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>These fields will store everything captured through the Power Automate Approval flow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9A%A1_Step_2_Add_Trigger_%E2%80%93_For_a_selected_file\"><\/span>\u26a1 <strong>Step 2: Add Trigger &#8211; For a selected file<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Now create a new cloud flow.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to\u00a0<a href=\"https:\/\/make.powerautomate.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">make.powerautomate.com<\/a><\/li>\n\n\n\n<li>Select\u00a0<strong>Create > cloud flow<\/strong><\/li>\n\n\n\n<li>Name your flow:\u00a0<code>Approval Flow<\/code><\/li>\n\n\n\n<li>Select\u00a0<strong>For a selected file<\/strong>\u00a0as the trigger<\/li>\n\n\n\n<li>Click\u00a0<strong>Create<\/strong><\/li>\n<\/ol>\n\n\n\n<p>\ud83d\udfe6 <strong>Trigger:<\/strong> For a selected file (SharePoint)<\/p>\n\n\n\n<p>Configure the trigger parameters as shown below.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Site Address: Your site URL<\/li>\n\n\n\n<li>Library Name: Documents for Approval<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"387\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1024x387.png\" alt=\"Trigger: For a selected file (SharePoint)\" class=\"wp-image-1076\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1024x387.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-300x113.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-768x290.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image.png 1222w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p> <\/p>\n\n\n\n<p>\ud83d\udccc This lets you start the approval from the menu of each file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%84_Step_3_Add_Action_%E2%80%93_Get_File_Properties\"><\/span>\ud83d\udcc4 <strong>Step 3: Add Action &#8211; Get File Properties<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Configure the action parameters as shown below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Site Address: SharePoint site URL<\/li>\n\n\n\n<li>Library Name: Documents for Approval<\/li>\n\n\n\n<li>Id: Select <strong>ID<\/strong> from trigger<br>Sometimes the dynamic content inserts an incorrect ID. Make sure the expression is exactly:<br><code>triggerBody()?['entity']['ID']<\/code><br>You can verify it by hovering your mouse over the field and checking the tooltip.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"349\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1-1024x349.png\" alt=\"Action - Get File Properties\" class=\"wp-image-1078\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1-1024x349.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1-300x102.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1-768x262.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-1.png 1100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p> <\/p>\n\n\n\n<p>This retrieves the approvers, file metadata, name, and link required later.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%91%A5_Step_4_Add_Action_%E2%80%93_Select\"><\/span>\ud83d\udc65 <strong>Step 4: <strong>Add Action &#8211; <\/strong>Select<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Extract approver emails using the Select action. We only need their email addresses.<\/p>\n\n\n\n<p>Configure the action parameters as shown below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>From:<\/strong> Approvers (from Get file properties)<\/li>\n\n\n\n<li><strong>Map:<\/strong> First, switch it to text mode by clicking the icon next to Map.<br><strong>Value:<\/strong> Choose <strong>Approvers Emails<\/strong><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-2-1024x344.png\" alt=\"Action - Select\" class=\"wp-image-1081\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-2-1024x344.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-2-300x101.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-2-768x258.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-2.png 1095w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p> <\/p>\n\n\n\n<p>\ud83d\udd11 This prepares the list of emails required for the approval assignment.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%A8_Step_5_Add_Action_%E2%80%93_Start_and_Wait_for_an_Approval\"><\/span>\ud83d\udce8 <strong>Step 5: <strong><strong>Add Action &#8211;<\/strong><\/strong><\/strong> <strong>Start and Wait for an Approval<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Configure the action parameters as shown below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Approval type:<\/strong> Approve\/Reject &#8211; Everyone must approve<\/li>\n\n\n\n<li><strong>Title:<\/strong> Please check this file for approval<\/li>\n\n\n\n<li><strong>Assigned to:<\/strong><br>Switch to dynamic content mode and paste the following expression:<br><br><code>@{join(body('Select'),';')}<\/code><br><br>This expression retrieves all emails from the previous <strong>Select<\/strong> action and separates them with semicolons.<br><strong>Note:<\/strong>\n<ul class=\"wp-block-list\">\n<li>If you paste it directly into the field, include the <code>@<\/code> and curly brackets.<\/li>\n\n\n\n<li>If you paste it in the <strong>Expression<\/strong> textbox, remove the <code>@<\/code> and curly brackets.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Details:<\/strong> Add File Name + text like \u201cfor Approval\u201d<\/li>\n\n\n\n<li><strong>Item link:<\/strong> Use <strong>Link to item<\/strong> from Get file properties<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"489\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-3-1024x489.png\" alt=\"Action - Start and Wait for an Approval\" class=\"wp-image-1082\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-3-1024x489.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-3-300x143.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-3-768x367.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-3.png 1286w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p> <\/p>\n\n\n\n<p>This builds the core engine of your Power Automate Approval flow.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\ud83c\udfaf <strong>Quick Overview of All Approval Types in Power Automate<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83d\udcbc <strong>Approve\/Reject &#8211; Everyone must approve<\/strong>: Flow ends only when all approvers answer. One rejection = rejected.<\/li>\n\n\n\n<li>\u26a1<strong> Approve\/Reject &#8211; First one to respond<\/strong>: Stops immediately after the first response.<\/li>\n\n\n\n<li>\ud83d\udcdd <strong>Custom Responses &#8211; Wait for all responses<\/strong>: Use custom buttons like Yes, No, Needs More Work.<\/li>\n\n\n\n<li>\ud83c\udf9b\ufe0f <strong>Custom Responses &#8211; Wait for one response<\/strong>: Uses custom buttons but stops at the first response.<\/li>\n\n\n\n<li>\ud83d\udd17 <strong>Sequential Approval<\/strong>: Sends one by one in order.<\/li>\n<\/ul>\n\n\n\n<p>All these modes can be used inside a Power Automate Approval flow depending on requirements.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%92%AC_Step_6_Add_Action_%E2%80%93_Select_Another_One\"><\/span>\ud83d\udcac <strong>Step 6: Add Action &#8211; Select (Another One)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Add another <strong>Select<\/strong> action to capture and format approval comments.<\/p>\n\n\n\n<p>Configure the action parameters as shown below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>From:<\/strong> Select <strong>Responses<\/strong><\/li>\n\n\n\n<li><strong>Map:<\/strong> Switch to text mode<br><strong>Value:<\/strong> Copy the following expression (remember the <code>@<\/code> and curly brackets if pasting directly into the field, as noted above):<br> <code>@{concat(item()?['responder']?['displayName'],':',item()?['comments'])}<\/code><\/li>\n<\/ul>\n\n\n\n<p>This creates formatted lines like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Sarah Khan:Looks good to me\nJohn Ali:Please update page 2\n<\/code><\/pre>\n\n\n\n<p>Perfect for summarizing feedback inside your Power Automate Approval flow.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%8F%81_Step_7_Add_action_%E2%80%93_Update_File_Properties\"><\/span>\ud83c\udfc1 <strong>Step 7: Add action &#8211; Update File Properties<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Configure the action parameters as shown below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Site Address: Your site URL<\/li>\n\n\n\n<li>Library: Documents for Approval<\/li>\n\n\n\n<li>Id: Use the <strong>ID<\/strong> from the trigger, or you can also use the <strong>ID<\/strong> from the <strong>Get file properties<\/strong> action.<\/li>\n<\/ul>\n\n\n\n<p>Open <strong>Advanced Parameters<\/strong> and fill:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Approval Responses: Select <strong>Response Summary<\/strong><\/li>\n\n\n\n<li>Approval Comments: copy expression given below<br><br><code>@{join(body('Select_1'),decodeUriComponent('%0A'))}<\/code><br><br>This places comments on separate lines.<br><\/li>\n\n\n\n<li>Status Value: copy expression given below<br><br><code>@{if(equals(indexOf(outputs('Start_and_wait_for_an_approval')?['body\/outcome'],'Reject'),-1),'Approved','Rejected')}<\/code><br><br>\u2714 If no one rejected \u2192 Approved<br>\u2716 If any rejection \u2192 Rejected<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"714\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-4-1024x714.png\" alt=\"action - Update File Properties\" class=\"wp-image-1086\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-4-1024x714.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-4-300x209.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-4-768x536.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-4.png 1061w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p> <\/p>\n\n\n\n<p>That completes your automatic status calculation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%8F%81_Test_the_flow\"><\/span>\ud83c\udfc1 <strong><strong>Test the flow<\/strong><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Go to your SharePoint document library.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upload a file.<\/li>\n\n\n\n<li>Add approvers.<\/li>\n\n\n\n<li>Right-click the file \u2192 <strong>Automate<\/strong> \u2192 <strong>Flows<\/strong> \u2192 Select the name of your flow.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-5-1024x451.png\" alt=\"Test the flow\" class=\"wp-image-1092\" srcset=\"https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-5-1024x451.png 1024w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-5-300x132.png 300w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-5-768x338.png 768w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-5-1536x676.png 1536w, https:\/\/www.techpolaju.com\/blog\/wp-content\/uploads\/2025\/11\/image-5.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%A7%B0_Bonus_Approval_Action_Additional_Settings\"><\/span>\ud83e\uddf0 <strong>Bonus: Approval Action Additional Settings<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Inside the <strong>Start and Wait for an Approval<\/strong> action\u2019s Advanced options, you can enable:<\/p>\n\n\n\n<p>\ud83d\ude4b Requestor: Shows who requested the approval.<\/p>\n\n\n\n<p>\ud83d\udd14 Enable Notifications: Sends Teams and email alerts.<\/p>\n\n\n\n<p>\ud83d\udd04 Enable Reassignment: Approvers can forward the request.<\/p>\n\n\n\n<p>\ud83d\udcce Attachments: Include attached documents within approvals.<\/p>\n\n\n\n<p>These enhancements make the Power Automate Approval flow more user friendly and professional.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%8E%89_Result\"><\/span>\ud83c\udf89 <strong>Result<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Your final flow will:<\/p>\n\n\n\n<p>\u2728 Trigger from a selected file<br>\u2728 Dynamically assign multiple approvers<br>\u2728 Use any approval type<br>\u2728 Collect formatted comments<br>\u2728 Log responses in SharePoint<br>\u2728 Automatically calculate Approved or Rejected<\/p>\n\n\n\n<p>You now have a fully functional Power Automate Approval flow.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%93%88_Bonus_Resources_You_May_Like\"><\/span>\ud83d\udcc8 <strong>Bonus Resources You May Like<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/file-conversion-and-sharing\/\">\ud83d\ude80 5-Step Effortless Tutorial for File Conversion and Sharing<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/contract-renewal-alert\/\">\ud83d\udcc5 Powerful Automated Contract Renewal Alert in 11 Steps<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/automate-invoice-email\/\">\ud83d\udca1 5 Easy Steps to Automate Invoice Email to SharePoint<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/substring-function\/\">Ultimate Power Automate Substring Function Explained \u2013 6 Powerful Examples<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/email-attachments-to-teams\/\">\ud83d\udce5 3 Effortless Steps to Save Email Attachments to Teams<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8230; <a title=\"\ud83d\udd25 7 Powerful Steps to Build a Power Automate Approval flow for Reliable Document Review\" class=\"read-more\" href=\"https:\/\/www.techpolaju.com\/blog\/power-automate\/power-automate-approval-flow\/\" aria-label=\"Read more about \ud83d\udd25 7 Powerful Steps to Build a Power Automate Approval flow for Reliable Document Review\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1075","post","type-post","status-publish","format-standard","hentry","category-power-automate"],"_links":{"self":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts\/1075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/comments?post=1075"}],"version-history":[{"count":19,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts\/1075\/revisions"}],"predecessor-version":[{"id":1112,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/posts\/1075\/revisions\/1112"}],"wp:attachment":[{"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/media?parent=1075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/categories?post=1075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techpolaju.com\/blog\/wp-json\/wp\/v2\/tags?post=1075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}