As a SharePoint site owner, you need to control how documents move from draft to final approval. Without an automated approval flow, team members rely on email chains and manual sign-offs, which leads to version confusion and delays. SharePoint offers a built-in Approval flow through Power Automate that triggers when a document is added or modified. This article provides a practical checklist for setting up that flow correctly from start to finish.
Key Takeaways: Approval Flow Setup Checklist for SharePoint
- Library settings > Versioning settings: Enable major versioning with a minimum of 2 versions to track document history and restore previous drafts.
- Power Automate > Create flow > Approval: Select the built-in “Request sign-off for a selected item” template to start with a tested workflow.
- Flow trigger > When a file is added or modified (properties only): Use this trigger to avoid running the flow when content changes inside the file.
- Approval action > Assignee: Set the approver to a specific person or a Microsoft 365 group to avoid broken assignments when team members leave.
- Condition action > If approved: Configure a condition to move the document to a “Final” folder or set a status column to “Approved” after sign-off.
What the SharePoint Approval Flow Does and What You Need Before Starting
The SharePoint Approval flow is an automated workflow built on Power Automate. When someone uploads or edits a document in a specific library, the flow sends an approval request to one or more people. The approver can approve, reject, or request changes directly from email or the Power Automate approval center. After the decision, the flow can update the document status, move the file, or notify the requestor.
Before you create the flow, verify these prerequisites:
- You have at least Edit permissions on the SharePoint site. Owners and members with Edit access can create flows.
- The document library has versioning enabled. Go to Library settings > Versioning settings and set “Create major versions” to “Yes.” Set “Keep the following number of major versions” to at least 2.
- You know who the approver will be. This can be an individual, a group, or a manager from Azure AD.
- You have a Power Automate license. Most Microsoft 365 Business and Enterprise plans include Power Automate. Check your plan at admin.microsoft.com > Billing > Your products.
The flow you create will run in the context of the SharePoint site. If you leave the site, the flow continues to work as long as the flow owner has an active license.
Step-by-Step Checklist to Create the Approval Flow in SharePoint
Follow these steps in order. Do not skip any step. Each step builds on the previous one.
Step 1: Open the Document Library and Start Power Automate
- Navigate to the document library
Go to your SharePoint site. In the quick launch bar, click the document library where you want the approval flow. For example, “Shared Documents” or “Contract Reviews.” - Open Power Automate
Click the Automate button on the library toolbar. From the dropdown, select “Create a flow.” A new browser tab opens showing Power Automate. - Choose a template
In the Power Automate gallery, click the “Approval” category. Select the template named “Request sign-off for a selected item.” This template is preconfigured for SharePoint approvals. Do not use the blank “Instant cloud flow” unless you have advanced Power Automate experience.
Step 2: Configure the Trigger – When a File Is Added or Modified
- Set the trigger action
In the flow editor, locate the first action card labeled “For a selected file.” Click on it. A settings panel opens on the right. - Choose the site and library
In the “Site Address” dropdown, select your SharePoint site. In the “Library Name” dropdown, select the library you opened in step 1. Leave “Folder” blank to include all folders. - Set the trigger condition
Click the “…” menu on the trigger card and select “Settings.” Under “Trigger Conditions,” add this expression:@equals(triggerOutputs()?['body/{_ModerationStatus}'], '0'). This ensures the flow runs only for documents that are not already approved. Click “Done.”
Step 3: Add the Approval Action
- Add the “Start and wait for an approval” action
Click the “+” icon below the trigger. Search for “Approval” in the action list. Select “Start and wait for an approval.” This action pauses the flow until the approver responds. - Set the approval type
In the “Approval type” dropdown, select “Approve/Reject – First to respond.” This sends the request to all approvers but stops after the first response. If you need all approvers to sign, select “Approve/Reject – Everyone must approve.” - Define the approver
In the “Assigned to” field, enter the email address of the approver or the name of a Microsoft 365 group. To use the manager from Azure AD, click the “Add dynamic content” link and select “Manager.” - Customize the approval message
In the “Title” field, type “Approval request for: ” and then click “Add dynamic content” and select “Name” (the file name). In the “Details” field, type the instructions for the approver, such as “Review the document and approve or reject.”
Step 4: Configure the Condition for Approved vs. Rejected
- Add a condition action
Click the “+” icon below the approval action. Search for “Condition” and select it. - Set the condition
In the left “Choose a value” box, click “Add dynamic content” and select “Outcome” from the approval section. In the middle dropdown, select “is equal to.” In the right box, type “Approve.” - Define the “If yes” branch
Inside the “If yes” branch, add an action to update the document status. Click “Add an action,” search for “Update item,” and select it. In the “Site Address” and “Library Name” fields, select the same site and library. In the “Id” field, add dynamic content “ID.” In the “Approval Status” field, type “Approved.” - Define the “If no” branch
Inside the “If no” branch, add the same “Update item” action. In the “Approval Status” field, type “Rejected.” Optionally, add a “Send an email” action to notify the requestor.
Step 5: Save and Test the Flow
- Save the flow
Click the “Save” button at the top of the Power Automate editor. Give the flow a name, such as “Document Approval – Contracts Library.” - Test the flow
Click “Test” in the top-right corner. Select “Manually” and then “Test.” Upload a new document to the library. The flow should trigger within a few minutes. Check the approver’s email inbox for the approval request. - Verify the outcome
After testing, return to the library. The document’s “Approval Status” column should show “Pending” while waiting and “Approved” or “Rejected” after the approver responds.
Common Mistakes and Limitations to Avoid
The flow does not trigger when I upload a document
The trigger condition might be blocking the run. Check the flow’s run history. Go to Power Automate, click your flow, and select “Run history.” If the run shows “Skipped,” the trigger condition evaluated to false. Review the expression in step 2. Ensure the library has versioning enabled. If the library uses content approval, the _ModerationStatus field might be “2” instead of “0.” Adjust the condition accordingly.
The approver does not receive the approval request
The “Assigned to” field must contain a valid email address or group name. If you used a group, verify that the group has members. If the approver uses a shared mailbox, the request might go to the mailbox’s inbox but not trigger a notification. Use a user mailbox or a Microsoft 365 group with email enabled.
The flow updates the wrong document
The “Update item” action in step 4 must use the dynamic content “ID” from the trigger. If you used a static value, the flow updates the same document every time. Remove any hardcoded ID and replace it with the dynamic content “ID” from the “For a selected file” trigger.
The flow stops working after the flow owner leaves the company
Power Automate flows run under the owner’s account. If the owner’s license is removed or the account is deleted, the flow stops. To prevent this, assign a co-owner. Go to the flow in Power Automate, click “Share,” and add another user as “Co-owner.” The co-owner must have a Power Automate license.
| Item | Built-in Approval Flow Template | Custom Power Automate Flow |
|---|---|---|
| Setup time | 10 to 15 minutes | 30 minutes to 2 hours |
| Approval types | Approve/Reject only | Approve/Reject, custom multi-stage, parallel |
| Custom conditions | Limited to one condition | Unlimited conditions, loops, parallel branches |
| Integration with other apps | SharePoint only | SharePoint, Teams, Outlook, SQL, third-party APIs |
| Maintenance effort | Low – template updates automatically | Medium – you must update connectors and actions manually |
The built-in template is best for standard single-approver workflows. Custom flows are needed when you require multi-level approval, conditional routing based on metadata, or integration with external systems.
You now have a working Approval flow for your SharePoint document library. The flow handles the entire request-to-decision cycle automatically. Next, add a “Request change” option in the approval details so approvers can send feedback. For advanced control, create a parallel approval branch that notifies a backup approver if the primary approver does not respond within 24 hours.