Multi-Stage Approval Workflow (Pro)
Multi-Stage Approval Workflow (Pro)
This feature requires the Dantian Policy Management Pro add-on.
The Free plugin provides a single-stage version approval workflow: one approver signs off, and the new version goes live. The Pro add-on extends this with multi-stage approval chains, where a new document version must be approved by several parties, in order, before it is published.
Approval chains need an active Pro licence.
When to use multi-stage approval
Multi-stage approval is appropriate when a single reviewer is not sufficient for governance or regulatory reasons. Common scenarios:
- Legal review + executive sign-off — A new HR policy requires legal to review the content, then the CEO to formally approve before publication.
- Department manager + Safety Officer — A procedure change requires the line manager and the safety function to both sign off.
- Sequential subject-matter expert review — Each stage in a technical procedure is reviewed by the appropriate expert before moving to the next.
- Compliance committee approval — A regulated organisation requires every committee member to approve before changes to controlled documents are published.
How approval chains work
An approval chain is an ordered sequence of stages. Each stage has:
- A Label (e.g. “Legal Review”, “Executive Approval”)
- A Mode — Any one (a single approval completes the stage) or All must (every approver in the stage must approve)
- Approvers — one of:
- Document Owner — the document’s assigned owner
- Owner Role — the user currently assigned to a named owner position (for example “Quality Manager”)
- Named Users — specific people you pick
- Any with role — every user with a chosen WordPress role
- An SLA in days (default 5, from 1 to 365) — how long approvers have before a reminder is sent
When a new version is submitted for approval:
- Everyone in stage 1 receives an approval email at the same time.
- Once stage 1 is complete (one approval, or all of them, depending on its mode), stage 2 starts and its approvers are emailed.
- This continues through all configured stages.
- When the final stage is approved, the new version is applied and published automatically.
- If a stage has no approvers at the time it starts (for example, no document owner is set), that stage is skipped automatically.
To reject a version, an administrator uses Reject on the Pending Version Approvals screen (see below). Rejecting ends the chain; a revised version goes through the chain again from stage 1.
Each approval is recorded against its stage with the approver, time and any note.
Setting up an approval chain
Approval chains are configured per document.
Before you start: switch on Enable Version Approval under Policy Management → Settings → Features. Until it is on, the document editor shows a small Approval Chain box explaining that version approval must be enabled first.
Building a chain for a document:
- Open the document in the editor and find the Approval Chain panel below the content.
- Click + Add Stage.
- Enter a Label for the stage.
- Choose the Mode — Any one or All must.
- Choose the Approvers — Document Owner, Owner Role, Named Users (search for users by name) or Any with role.
- Set the SLA in days.
- Repeat for each stage. Use Remove to delete a stage.
- Update the document to save the chain.
Leave the panel empty to use the standard single-approver flow for that document.
While a version is going through the chain, the panel is locked and shows the progress instead — for example “Approval in progress: Legal Review (stage 1 of 3)” — with each stage’s status (Pending, Approved, Skipped or Waiting). You can edit the chain again once that approval is resolved.
Per-document-type chains: there is no setting to define a chain once for a whole document type or for the whole site. Set up the chain on each document that needs one.
The approver experience
Approvers receive an email, Approval Required: [document] — [stage], when their stage is reached. The email contains:
- The document title and version number
- The stage name and position (for example “stage 2 of 3”)
- Who submitted the change
- An Approve this version button
- A View document in admin link
Approvers don’t need to log in to approve. Clicking Approve this version opens a Confirm approval page showing the document and version; clicking Confirm approval records the approval. This two-step confirmation stops email security scanners that follow links automatically from approving by accident. If the approver is logged in to WordPress, they are taken back to the document in the editor with a confirmation message.
Approval links expire after 30 days. If a link has expired or has already been used or replaced, the approver sees a message asking them to contact the document owner or an administrator. The email has no reject link — rejections are made from the admin.
SLA reminders
The plugin checks for overdue stages twice a day. If an approver hasn’t responded by the end of their stage’s SLA, they receive one Reminder — Approval Required email with a fresh approval link. The new link replaces the one in the original email. Only one reminder is sent per stage. There is no automatic escalation to the document owner.
Monitoring approval chain progress
Go to Policy Management → Pending Approvals (the Pending Version Approvals screen) to see every version awaiting approval. It shows the Document, Version, Approval Stage (the current stage’s label and “Stage X of Y”), Change Type, Description, Submitted By and Submitted date.
The menu item shows a count badge when versions are waiting. You need the Manage settings capability (administrators have it by default) to use this screen.
From this screen, an administrator can:
- Approve (bypass chain) — approve and publish the version immediately, skipping any remaining stages. Useful when an approver is unavailable.
- Reject — reject the version and end the chain.
To see which approvers have already approved in the current chain, open the document and check the Approval Chain panel.
You can also place the Please log in to view pending approvals. Log in shortcode on a front-end page. Logged-in document owners see the pending versions for the documents they own; it does not show chain stage progress.
Settings and limits
| Item | Default | Allowed values / notes |
|---|---|---|
| Mode (per stage) | Any one | Any one, All must |
| SLA (per stage) | 5 days | 1–365 days |
| Approval link lifetime | 30 days | Fixed for chain approvals. The Approval Link Expiry (Days) setting under Settings → Version Approval applies to the standard single-approver flow, not to chain stages. |
| SLA reminders | One per stage | Checked twice a day; no escalation |
| Where chains are defined | Per document | No site-wide or per-document-type chain |
Chain approval emails and reminders need Enable Version Approval switched on and an active Pro licence. While the licence is inactive, versions use the standard single-approver flow.
Troubleshooting approval chains
An approver didn’t receive the email. Check that WordPress can send email (see Troubleshooting). For an Owner Role stage, check that a user is assigned to that owner title under Settings → User Management. For Any with role, check the role actually has members.
A stage was skipped. A stage is skipped automatically if it has no approvers when it starts — for example, a Document Owner stage on a document with no owner set. Fix the approvers, then reject the version and resubmit it if the skipped stage matters.
The approver sees “Too many attempts. Please try again later.” After 10 failed approval attempts from the same device for the same document, approval links for that document are paused on that device for 5 minutes. This protects against link guessing. Wait 5 minutes and use the most recent email — a reminder link replaces the original one.
The link says it has expired or has already been used. Approval links last 30 days and stop working once the stage is completed or a reminder issues a new link. An administrator can use Approve (bypass chain) on the Pending Version Approvals screen if needed.
I can’t edit the chain. The Approval Chain panel is locked while a version is going through it. Approve or reject the pending version first.
Worked example: a three-stage policy sign-off
A community health service requires every clinical policy change to be checked by the policy owner, then the Clinical Governance Committee, then the CEO.
- The quality coordinator opens the Medication Management Policy and, in the Approval Chain panel, adds three stages:
- Owner review — Mode Any one, Approvers Document Owner, SLA 3 days.
- Clinical Governance — Mode All must, Approvers Named Users (the three committee members), SLA 7 days.
- CEO approval — Mode Any one, Approvers Owner Role “Chief Executive”, SLA 5 days.
- She updates the document to save the chain, then edits the policy content and submits the change for approval.
- The Director of Nursing (the document owner) receives Approval Required: Medication Management Policy — Owner review, clicks Approve this version, then Confirm approval. Stage 2 starts and all three committee members are emailed.
- Two members approve within a day. The third is on leave, and after 7 days receives one Reminder — Approval Required email. He approves on his return, and the CEO is emailed.
- The CEO approves, and the new version is applied and published automatically.
- Throughout, the coordinator tracks progress on Policy Management → Pending Approvals, which shows “Clinical Governance — Stage 2 of 3” while the committee is deciding.
Was this helpful?
Thank you for your feedback!