How can I fast-track a single rejection or a single approval decision
Overview
This example demonstrates a workflow configuration where a single reviewer can reject the document and complete the approval with a Rejected decision. However, for an Approved decision, all assigned reviewers must approve the document. This setup allows for efficient decision-making, ensuring that any reviewer can stop the approval process if they identify issues, while a unanimous agreement is required for full approval.
Content reviews often require several reviewers to agree—either Approve or Reject—before the workflow transitions to another state.
However, in the case of Reject, it is often cumbersome to require everyone's agreement. If there's something wrong with the content, it needs to be rejected regardless. It is, therefore, very common to set up reviews so that only a single Reject is required for a transition to occur.
Default approval functionality – everyone must agree
This workflow has three states – Editing, Review, and Published. The default review functionality requires everyone to agree before a transition occurs.
{workflow:name=Slow rejection}
{state:Editing|submit=Review}
{state}
{state:Review|approved=Published|rejected=Editing}
{approval:Review|minimum=5}
{state}
{state:Published|final=true|updated=Editing}
{state}
{workflow}
We've used the minimum=5
parameter; at least 5 reviewers must agree to Approve or Reject before the transition occurs. However, if the content needs further edits, that is the case regardless of the number of rejections – so let's make it transition as soon as the first rejection comes in.
Fast-tracked rejection
A fast-tracked decision causing a transition can be achieved using a workflow trigger that includes a set-state action macro. You can see these at the end of the workflow markup below:
{workflow:name=Fast-tracked rejection}
{state:Editing|submit=Review}
{state}
{state:Review|approved=Published|rejected=Editing}
{approval:Review|minimum=5}
{state}
{state:Published|final=true|updated=Editing}
{state}
{trigger:pagerejected|approval=Review|partial=true}
{set-state:Editing}
{trigger}
{workflow}
Here's how it works:
The trigger listens for the pagerejected event
this event happens when someone clicks the Reject button during a review
The page rejection we are listening for is constrained as follows:
approval=Review
– specifies which review to monitorpartial=true
– process each rejection as it happens
If the trigger requirements are met, the set-state action macro immediately transitions the workflow to the Editing state.
The result is that a single Reject causes a transition to the Editing state, whereas at least five people need to Approve before a transition to the Published state occurs.
Fast-tracked approval
You can also use the partial=true
to process each approval as it happens.
This can be useful if you have a content review that allows multiple users to be assigned manually - but your practice and policy process at that milestone only requires a single approved decision.
In the above workflow popup for the Review state, all the assigned users would have to undertake the review and agree on the decision for a transition to occur.
We can fast-track the approved decision by adding a trigger for the pageapproved event and including partial=true.
{workflow:name=Fast-tracked content review}
{state:Editing|submit=Review}
{state}
{state:Review|approved=Published|rejected=Editing}
{approval:Review|assignable=true}
{state}
{state:Published|final=true|updated=Editing}
{state}
{trigger:pageapproved|approval=Review|partial=true}
{set-state:Published}
{trigger}
{trigger:pagerejected|approval=Review|partial=true}
{set-state:Editing}
{trigger}
{workflow}
A single approved decision will be used to make the transition despite three users being assigned as reviewers.
The pageapproved event trigger, including the partial=true
would also work even if
the reviewers were mandated to undertake the review
a minimum number of reviewers was required