Google

03 October 2018

SharePoint Approvals in Multiple Steps

SharePoint iconIn earlier blog posts I have described different ways to manage approvals of documents in SharePoint libraries. As an example, I have used a Procedures library where new documents need to be approved by another person than the author.

But sometimes one approver is not enough. In a new article in the kalmstrom.com Tips section, I suggest a solution for SharePoint document libraries where new files must be approved by several people.

SharePoint workflow
I use a SharePoint workflow to automate the multiple approval process, and the idea behind the workflow is that each approver is given a task to approve or reject the new document. When that task is completed, the workflow goes to next approver if the document is approved. If one of the approvers reject the document, the process is stopped.
SharePoint Designer icon
This workflow is a totally custom solution. I neither use the built-in approval status column nor any of the out-of-the-box workflows that Microsoft supplies.

The benefit of using a custom approval solution is that you have total control of the process. The downside (as you will see if you watch the video) is that it is rather complex and time-consuming to create. On the other hand I am using as much as five approvers. The workflow can of course be used for less people also.

Approvers in teams
Each approver in this example workflow belongs to a team, and all teams and approvers are stored in a SharePoint list. I use the team names in the workflow, so you don't have to modify the workflow if the person that approves or rejects documents must be replaced. The workflow will continue to run as soon as a new document has been added to the library.

Follow the process stages
The approval task for each approver is represented by a workflow stage. These stages are called "Waiting for [TEAM]", and if a team approves of the document, the workflow goes to the next stage.
Approval process

When I have created all the stages, I add two more stages: the Rejected stage and the All Approved stage. These stages both ends the workflow, but under different conditions. The Rejected stage is used when someone rejects the documents. The All Approved stage is used when all stakeholders have approved the document.

The benefit of working with stages in this way, is that everything is visible in the library. The approval status column shows "Waiting for [TEAM]", "Rejected by [TEAM]" or "All Approved", and in the document's version history you can see the whole process with details on when and by whom the document was approved or rejected.

Testing and error correction
The workflow I suggest is long and rather complicated, and when recording the demo below I made a few mistakes. To make the demo shorter I copied and pasted stages, and that also gave some errors.

I have chosen to include the testing and error fixing in the demo, as it can give valuable information to someone who tries the workflow.


Tips article
I have recorded this demo about approvals in multiple steps for my book SharePoint Workflows from Scratch. I have not finished writing it yet, but for now you can read the article in the kalmstrom.com Tips section. It has the demo and also a description of prerequisites and instructions on how to create the different stages.

By Peter Kalmström
CEO and Systems Designer
kalmstrom.com Business Solutions