A SharePoint approval workflow is a Power Automate cloud flow that watches a list or document library, sends the item to the right approver, records the decision in a status column and writes an audit entry. Modern approvals replaced SharePoint 2013 workflows, which Microsoft retired for all tenants on April 2, 2026. The flow below handles rejections, absent approvers and duplicate runs, and names an owner.
This guide follows on from our SharePoint setup guide, which covers sites, libraries and sharing, and pairs with the SharePoint permissions audit worksheet, because an approval only means something if the people who can edit the document are the people you think. NetSys builds and supports flows like this through Power Automate consulting, and designs the library and metadata behind them in SharePoint consulting.
What is a SharePoint workflow?
A SharePoint workflow is an automated sequence of steps that runs when something happens to an item in a list or library: a file is added, a field changes, a person clicks a button. In SharePoint Online today that sequence is a Power Automate cloud flow using the SharePoint connector and the Approvals connector. Microsoft's own guidance describes the typical cases plainly: "Send an email when a new item is created in a list" and "Start approval when a new file is added in a library" (Migrate from classic workflows to Power Automate flows, Microsoft Learn, checked on November 7, 2026).
Which SharePoint workflows are retired, and what replaced them?
Two older engines are gone. SharePoint 2010 workflows were retired in November 2020. SharePoint 2013 workflows, the ones built in SharePoint Designer, "were turned off for new Microsoft 365 tenants on April 2, 2024, and were fully retired for existing tenants on April 2, 2026," and Microsoft's instruction is to "Use Power Automate or another supported solution" (Microsoft Learn, checked on November 7, 2026). Microsoft's Message Center notice for the change added that there would be no option to extend 2013 workflows beyond that date.
If a tutorial tells you to open SharePoint Designer, it is describing something that no longer runs. The modern replacement is a Power Automate flow, and Microsoft notes that SharePoint's built-in page approvals, document approvals and hub association approvals are themselves powered by Power Automate flows. Two things do carry over conceptually: the library's content approval setting ("Require content approval for submitted items"), which gives each document an Approval Status, and version history, which keeps the draft that was approved.
How do you create an approval workflow in SharePoint Online?
The worked example is a policy library: staff upload a revised policy, the department head approves it, and only approved versions are visible to everyone. Build it in this order.
- Prepare the library. Add a choice column named Review status with the values Draft, Submitted, Approved and Rejected, defaulting to Draft. Add a person column named Approver and a text column named Approval reference. Turn on versioning so the approved version is kept.
- Create the audit list. Make a separate list named Approval log with columns for the document link, requester, approver, decision, comments and the date and time of the decision. Only the flow's connection account should have edit rights to it.
- Add the trigger. In Power Automate, create an automated cloud flow with the SharePoint trigger When a file is created or modified (properties only) on the policy library. Add a trigger condition so the flow runs only when Review status equals Submitted; this is the first duplicate-run control.
- Set the status to In review. As the first action, update the file properties to a status the trigger condition does not match, so a second edit during the approval does not start a second run.
- Start the approval. Add the Approvals action Start and wait for an approval. Microsoft documents five approval types: "Approve/Reject - Everyone must approve," "Approve/Reject - First to respond," two custom-response types and "Sequential approval," where "Approvals are requested one at a time, in a specific order" (Get started with Power Automate approvals, Microsoft Learn, checked on November 7, 2026). For a single department head, use First to respond with the Approver column as the assignee and a backup approver as a second assignee. Put the document link in the request details.
- Branch on the outcome. Add a condition on the approval outcome. On Approve, update the file properties to Approved and, if the library uses content approval, set the content approval status to Approved so readers can see the file. On Reject, set Review status to Rejected and write the approver's comments to a column the requester can read.
- Write the audit entry. In both branches, create an item in the Approval log with the requester, approver, decision, comments and timestamp, and put the log item's ID into the document's Approval reference column so the two records point at each other.
- Notify. Send the requester a message with the decision and comments, by email or in Teams, and stop. Do not put the notification before the audit entry; if the flow fails, you want the record, not the message.
- Test every path. Submit a document and approve it. Submit another and reject it. Submit a third and leave it. Edit a document while it is in review. Each case should end with one audit entry and the right status.
Give the flow a name that says what it does and which library it belongs to, and record the owner in the flow description.
How does a document approval workflow handle rejected requests?
A rejection is a normal outcome, not a failure. Set the status back to a state the requester can act on (Rejected), carry the approver's comments onto the document so the fix is clear, and let the requester resubmit by setting the status to Submitted again, which starts a fresh run with a new audit entry. Keep rejected versions in version history; deleting them removes the evidence of what was asked and refused.
What happens when the approver is out of the office?
Four controls, used together. First, assign a backup approver on every request and use First to respond, so either person can decide. Second, approvers can reassign a request they have received to someone else from the approval itself. Third, add a timeout: Power Automate lets you set a run-after branch when the approval action times out, so after an agreed number of days the flow can remind the approver or escalate to the backup. Fourth, respect the platform limit: Microsoft's guidance notes that "flows have a 30 day lifespan" (Microsoft Learn, checked on November 7, 2026), so an approval nobody answers must be escalated or canceled well inside that window, with the outcome written to the audit log.
How do you stop duplicate approval runs?
Duplicates come from the trigger firing on every property change. Three settings prevent them: the trigger condition on Review status, the immediate status change to In review in the first action, and the flow's concurrency control set to one run at a time for the library. Add a fourth for safety: before starting the approval, check the Approval log for an open entry with the same document ID, and end the run if one exists. When a duplicate does slip through, the audit log is what tells you which approval counts.
How do you build a multi-stage approval workflow?
Use the Sequential approval type, which asks each approver in order and only continues when all have responded, or chain two Start and wait for an approval actions when the second stage needs different content, for example a legal review after the department head. Write the stage into the status column (Department review, Legal review) so people can see where a document sits, and log each stage separately. Parallel approvals, where several people must all agree, use Everyone must approve. Resist a third stage unless the business already runs one on paper; every stage adds a place for a document to wait.
Can the approval notify people in Teams?
Yes. Approvals started from a flow appear in the Approvals app in Microsoft Teams, and Microsoft documents that an assignee "can respond directly from an Outlook email, a Microsoft Teams adaptive card, or the Power Automate action center" (Microsoft Learn, checked on November 7, 2026). The Approvals app also lets people create simple approvals straight from a chat without a flow (Approvals in Microsoft Teams, Microsoft Learn), but those have no status column or audit list behind them, which is why a document process still needs the flow. To post the result into a channel, add a Teams action after the audit entry.
Who owns the flow, and what permissions does it need?
A flow runs under the connections of the person who created it. If that person leaves and the account is disabled, the flow stops. Create the flow with a dedicated service account, or add at least one co-owner from the team that runs the process, and record both in the flow description. The connection account needs edit rights on the library and the Approval log and nothing more; it does not need site ownership. Approvals are stored in Dataverse, and Microsoft notes that when approval flows are created in the default environment "the Dataverse database is created for you automatically" (Microsoft Learn, checked on November 7, 2026). Finally, check who can edit the library: an approval on a document that anyone can overwrite afterward proves little, and the permissions worksheet is the place to settle that.
What does a SharePoint approval workflow cost to run?
The SharePoint and Approvals connectors are standard connectors, and Microsoft states that "any license that grants access to Power Automate and the ability to use standard connectors is sufficient to create approval flows," listing Office 365 among them (Microsoft Learn, checked on November 7, 2026). Premium connectors, such as a connection into an accounting system, change that; our Power Automate consulting page explains the entitlement in Microsoft 365 plans and when a separate plan applies.
Frequently asked questions
Are SharePoint workflows still supported?
SharePoint 2010 workflows were retired in November 2020 and SharePoint 2013 workflows were fully retired for existing tenants on April 2, 2026. Microsoft's supported path for new and replacement workflows is Power Automate, which is what this guide uses.
Can SharePoint approve documents without Power Automate?
A library's content approval setting gives each document an Approval Status that an approver changes by hand, with no routing, reminders or audit list. That is enough for a tiny team. Once more than one person approves, or anyone asks who approved what and when, the flow earns its place.
What is the difference between a SharePoint approval and a Teams approval?
A Teams approval is created by a person in the Approvals app and lives there. A SharePoint approval workflow is started by a change to a document, updates the document's status and writes an audit record, and its request still shows up in Teams for the approver. Use the flow when the document is the thing being approved.
How much does it cost to have NetSys build an approval workflow?
It depends on the number of stages, the systems involved, the exception handling and the testing you want evidence of. We quote a scoped pilot against agreed requirements and separate Microsoft licenses from our fees. Bring one real process and its exceptions to a Power Automate scoping call.
Sources
Checked on November 7, 2026.
- Guidance: migrate from classic workflows to Power Automate flows, Microsoft Learn: 2010 and 2013 workflow retirement dates, the 30-day flow lifespan and the approval capabilities compared.
- Get started with Power Automate approvals, Microsoft Learn: approval types, Dataverse, licensing and where approvers respond.
- Approvals in Microsoft Teams, Microsoft Learn: the Teams Approvals app.
- Enable and configure versioning for a list or library, Microsoft Support: content approval and draft item security.
Discuss microsoft power automate consulting for your business.
Tell us about your current systems, the result you need and your timeline. We will discuss the work, responsibilities and pricing before you decide on an engagement.



