← All notes

Automating SharePoint Approval Workflows with Power Automate and Microsoft Graph

2 min read

A surprising amount of document approval in small and mid-sized organizations still happens over email: someone attaches a file, a manager replies “approved,” and nothing about that exchange is searchable or auditable six months later. Power Automate, backed by Microsoft Graph for anything the built-in connectors don’t cover, fixes this without needing a separate platform.

Model the approval as metadata, not email

Add status columns to the SharePoint document library instead of relying on an email thread:

Column Type Purpose
ApprovalStatus Choice Pending / Approved / Rejected
ApprovedBy Person Who approved it
ApprovalDate Date When
ApprovalNotes Multiple lines of text Why, if rejected

This alone makes the approval state visible in any view or dashboard, without opening a single email.

Trigger on upload, approve in Teams

A standard “Start and wait for an approval” action in Power Automate, triggered when a file is created in a specific library, sends the approver a card directly in Teams or Outlook — they approve or reject without leaving their inbox, and the flow writes the result back to the metadata columns above.

Reach for Microsoft Graph when the connector runs out

The built-in SharePoint connector covers most of this, but a few things — like setting fine-grained item-level permissions after approval, or looking up a user’s manager for multi-stage approval — need a direct Graph call from an HTTP action:

GET https://graph.microsoft.com/v1.0/users/{user-id}/manager
PATCH https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items/{item-id}/driveItem/permissions/{perm-id}

Wiring a Graph HTTP call into a flow that’s otherwise built from standard connectors keeps the whole thing maintainable — one or two HTTP actions for the edge cases, instead of rebuilding the entire flow as custom code.

Keep a record, not just an outcome

The real win isn’t the automation itself — it’s that six months later, someone can open the document library and see exactly who approved what and when, without digging through anyone’s inbox.