Document Approval Push Notification
When a document approval is requested in SharePoint, send an instant push notification to the approver's mobile device via Notifications.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow watches a SharePoint list of document approval requests and sends an instant push notification to the approver's mobile device the moment a new request is filed. It then opens a formal Approvals task, waits for the approver's decision, writes the outcome back to the SharePoint item (Approved or Rejected), and pushes a confirmation notification when the workflow concludes.
The flow is designed as a complete, connector-first reference implementation. There are no inline fixtures, no hardcoded credentials, and no tenant-specific values in the action definitions — everything that varies per environment is bound to a flowlibs_ environment variable so importers can re-target the flow by editing solution settings, not by editing actions.
Use Case
Document approvers spend most of their day in mobile apps and chat tools, not in their inbox. Email-based approvals get buried; SharePoint task notifications often go unread. This flow short-circuits that delay by sending a mobile push notification directly to the approver the instant a request lands, with a tap-through link straight to the document. The formal Approvals task still runs in parallel so the workflow has an auditable Approve/Reject record, and the SharePoint item gets stamped with the outcome and any approver comments.
The flow is ideal for teams that:
- Marketing collateral approvals before publication
- Procurement requests that need a manager's sign-off
- Policy or contract review where a fast SLA matters
- Any "an item arrived in a queue and someone needs to act on it now" workflow
Flow Architecture
When a new approval request arrives in SharePoint
SharePoint OnNewItems (polling 3 min)Fires once per new item in the approvals list. splitOn fans out so each item runs in its own flow run.
Init varSharePointSiteUrl / varListName / varApproverEmail / varAuditEmail
Initialize Variable (4x parallel)Capture env-var values into local variables for clean downstream references.
Compose Approval Link
ComposeBuilds the SharePoint item URL, falling back to the list's DispForm view if no DocumentLink column was supplied.
Compose Notification Text
ComposeRenders the push body: "Approval requested: {Title} — from {RequesterName}".
Send Push Notification To Approver
Notifications SendNotificationPushes an alert to the approver's mobile Power Automate app with a tap-through link.
Start And Wait For Approval
Approvals StartAndWaitForAnApproval (Basic)Creates the formal approval task assigned to varApproverEmail. Flow blocks here until the approver responds.
Check Approval Outcome
If conditionBranches on the approver's decision via equals(outcome, 'Approve').
- Update SharePoint Item Approved — SharePoint PatchItem writes Status = Approved and the approver's comments back to the list item.
- Send Push Notification Approved — Notifications SendNotification confirms the approval to the approver's mobile device.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_SharePointSiteURL | String | https://your-tenant.sharepoint.com | SharePoint site that hosts the approvals list. Reused across multiple FlowLibs flows. |
| flowlibs_DocumentApprovalListName | String | FlowLibs - Document Approvals | Approvals list name (or list GUID). New for this flow. |
| flowlibs_ApprovalAssignedToEmail | String | approver@contoso.com | UPN/email of the user who receives the push notification and the formal approval task. |
| flowlibs_NotificationEmailAddress | String | you@yourcompany.com | Fallback email used as the approval requestor when the SharePoint item doesn't carry a RequesterEmail value. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| SharePoint Online | shared_sharepointonline | GetOnNewItems (trigger) PatchItem (used twice (Approved and Rejected branches)) |
| Notifications | shared_flowpush | SendNotification (used 3x (initial push + Approved + Rejected)) |
| Approvals | shared_approvals | StartAndWaitForAnApproval (Basic approval type) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Import the solution
- Import as managed or unmanaged into the target environment.
- Update environment variables
- Point flowlibs_SharePointSiteURL and flowlibs_DocumentApprovalListName at your real approvals list. Set flowlibs_ApprovalAssignedToEmail to the approver UPN/email. Optionally update flowlibs_NotificationEmailAddress for the audit fallback.
- Authorize connection references
- Re-bind each of the three connection references to live connections in the target environment. The Notifications connection must be authorized by the approver's account so push notifications hit their mobile device.
- Configure the SharePoint approvals list
- Create columns (Internal Names): Title (Text), DocumentLink (Text), RequesterName (Text), RequesterEmail (Text), ApproverEmail (Text), Status (Choice: Pending / Approved / Rejected), Comments (Multiline Text).
- Turn the flow on and test
- Activate the flow from Solutions, then add a test item to the approvals list and confirm a push notification reaches the approver, then approve or reject from the mobile app.
- Optional: extend with Teams audit message
- Add Teams PostMessageToConversation after the outcome branches to drop an audit message into a channel.
- Optional: email fallback for non-mobile users
- Replace the Notifications fallback with SendEmailV2 for users who don't use the Power Automate mobile app.
- Optional: SLA escalation
- Wrap Start And Wait For Approval in a parallel branch that fires Send Push Notification To Approver again after a timeout.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Compose Approval Link
Prefer the explicit document URL if the list item has one; otherwise build a default DispForm link to the item itself.
EXPR.02Compose Notification Text
Builds the push notification body, using coalesce to handle items missing the requester or title.
EXPR.03Check Approval Outcome
Branches on the approver's decision string from the Approvals connector. The opposite outcome value is 'Reject'.
EXPR.04Approver comments fallback
Writes the approver's comments into the SharePoint Comments column, defaulting when the approver leaves no comment.
EXPR.05Requester email fallback
Falls back to the configured audit email when the list item doesn't carry a requester email.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.