Improve document approvals with SharePoint workflows

imageA common problem I see again and again on projects is the drama involved in getting a project document reviewed and approved. Typically signing off a document confirms that the document contents is correct and has been accepted, this can have commercial implications or be a formal stage gate in the project management process. Many organisations use a manual approval process, sending copies of the document around by email, or worse a printed copy that jumps from in-tray to in-tray which is incredibly inefficient and is nearly impossible to track the progress of. Therefore, anything that can be done to streamline the approval process should be considered.

Enter another great feature of SharePoint, workflows. Through the use of workflows, the whole approval process can be automated, storing the document centrally in SharePoint and sending tasks and associated email alerts to the various approvers and tracking the status automatically.

In this post, I am going to demonstrate how easy it is to use this workflow capability, specifically by attaching a document approval workflow to a document library that will kick off whenever a user publishes a major version of a document.

The Prerequisites

Firstly, check that the out of the box Workflow Feature has been turned on for the site collection you will be working in via Site Collection Admin > Site Collection Features.

site collection feature

Secondly, check that the versioning for the document library is set up and set to Major / Minor versioning via the Library Settings > Versioning setting.


Set up the workflow

Choose the document library you want to add the workflow to and select ‘Add a Workflow’ from the  Workflow settings.

Workflow Options

Select which content types for the document library you want the workflow to be applied to, if you are unsure of the content type, choose All.

Workflow Content Type

SharePoint 2010 comes complete with a number of prebuilt workflows that users can choose from. Should these not meet your requirements, new workflows can easily be built using SharePoint Designer or Visual Studio.  Luckily Document approvals are one of the out of the box workflows available, so choose ‘Approval – SharePoint 2010’.

Document Approval - Major Version

Give the workflow a meaningful name in the name field which will be used to identify the workflow once it has been created. Workflows in SharePoint use Task lists to store the tasks assigned to people and also the workflow history, you have the option to choose which lists are used to store these tasks. Finally you need to decide on when the workflow will be started, in this example we are going to kick it off whenever a major version of the document is published, so choose the  ‘Start this workflow to approve publishing a major version of an item’ option.

Next you will need to set up the workflow settings, including:

  • who you want to approve the document;
  • whether you want the approvers to approve it sequentially or in parallel;
  • what information you want included in the task / email sent to them;
  • how long you want the task assigned to them to last (Duration); and
  • how you want the workflow to terminate.

completed workflow settings

Now the workflow has been set up and is ready to use.

Use the workflow

The workflow we added to the library will be kicked off when a user chooses to publish a major version of a document in the workflow enabled library.


The first step of the workflow will bring up a settings screen for the user to have a chance to update some the workflow settings like the approvers and text sent in the request.

Start Workflow

On clicking ‘Start’, the workflow will generate the relevant tasks and assign them to the approvers, in this example, Amy Strande first, then Dan Jump. Amy will be assigned a task and receive an email alert linking to the task, like the one below.

Workflow task

Notice that the workflow task include a link to the document to review and details from anyone that has been involved in prior steps of the workflow. Amy can then choose to Approve or Reject the task or a few other options including reassigning to another person if relevant.

    Once the task is approved, the next task will be generated, in this case for Dan Jump, as seen below.


Once Dan approves the task, the workflow will be completed and the document will be approved.

Approved Document

Of course the real benefit of the workflow is that you have an status screen trail that will show you the status of the workflow at any time and once it’s completed, a full audit trail of when a document is approved, by whom and when, giving you an electronic sign off record for the document as can be seen below.

Workflow Information 2

In addition, through the introduction of Visio Services in SharePoint 2010, the status of the workflow can also be seen visually which is a welcome addition.

Workflow Information 1


As you can see, the process of adding a workflow to a document library is incredibly simple to configure, and once in place makes the process of approving a document very simple and streamlined. Through the workflow status screen the status of the approval can be seen at a glance, seeing who has approved the document , and more importantly, who hasn’t looked at it yet.

I challenge you to implement document workflows on your next project and not see an improvement in sign off times!

9 thoughts on “Improve document approvals with SharePoint workflows

  1. Pingback: Tweets that mention Improve document approvals with SharePoint workflows « EPMSource --

  2. Alex,

    I assume that the content approval feature in SharePoint has some bearing on the visibility of documents approved by the document approval workflow you have described. Is there any way of alerting members of a SharePoint site to the fully approved documents status? I know members can subscribe to alerts but that assumes people have subscribed – perhaps a webpart on the home page is one route to achieving this.

    • Hi,

      The only way I could think of to advise members of the site that the documents have been approved fully would be to create a workflow and have a step following the approval to alert the site members. You should be able to achieve this easily with SharePoint Designer or something like Nintex Workflow. Using a webpart will still suffer from the problem that people need to go to the site to see the approval status, which of course they could simply do by looking in the document library in the first place.

  3. Pingback: Sharepoint - Setting Up Alerts

  4. Is the above “workflow” site collection feature something available only in SharePoint Server licenses? I am not seeing that option on my SharePoint Foundation sites.

  5. Excellent post – very detailed.

    Question: How does one ‘kick off’ a subsequent SP custom workflow following the Approvals workflow (whether it be an Accept or Reject)?

    I’ve got a very simple workflow I’d like to run following an Acceptance from an Approvals workflow. At the start of this workflow, I simply have ‘Wait for CAB Approvals to equal 16’ (CAB Approvals is the name I gave my reusable Approval workflow). That’s not working – it just stays in a pending mode. If I change that to ‘Wait for CAB Approvals to equal Approved’, same problem.

    Any words of wisdom would be most appreciated! :)



  6. I need to setup a workflow that copies a document to a different library upon approval, can anyone point me to a resource where it shows how that can be achieved. I have this link ( which tells me how to copy a document for on doc library to another, but I want to add a approval before it gets copied to the second folder. Any help is much appreciated.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s