Workflow Conductor Use Case: Document Approval with Multiple Approvers

By now, hopefully you’ve already read about Workflow Conductor’s advantages over SharePoint out-of-the-box workflows, SharePoint Designer, and Visual Studio, and have downloaded your free 30-day trial of Workflow Conductor. So once you have Workflow Conductor installed, what’s next? It’s time to dive into some actual workflow examples. Since this is our very first sample workflow, let’s start off with something you’re probably already familiar with: requesting document approval.

I know what you’re thinking…“Doesn’t SharePoint already have a workflow that does this?” Well, yes, it does – but there are limits to what it can do. Workflow Conductor adds some bells and whistles that the SharePoint Approval and Three-State workflows don’t have. We’ll be highlighting some of those features in this example, and also throw in two bonus widgets: Set Approval Status and Copy Item.

Since this is our first workflow example, there will be lots and lots and lots of screenshots to help you follow along. So if you plan to print this out, you might want to replace that ink cartridge!

THE SCENARIO

Your department has a SharePoint document library where employees store drafts of documents prepared for customers. When a document is finished, two people from the department must approve it, and then the document gets published to another document library for customers.

BUILDING THE WORKFLOW

Step One – Set up SharePoint
Make sure you have two document libraries for this scenario – one called Draft Documents, and another called Published Documents. Add at least one document to the Draft Documents library.

Step Two – Launch Conductor Studio
Launch Conductor Studio from your Draft Documents library by clicking Settings > Create or Edit Workflows. Note: You need Design or Full Control permissions to see this menu item.

Step Three – Create the Workflow
We’ll be using three widgets in this workflow. After configuring each widget, click the Apply button at the bottom of the Widget Properties tab to save its settings.

1.  Request Approval

First, drag and drop the Request Approval widget from the widget list on the left to the Studio diagram. This widget has a lot of properties to help you customize it to your requirements, and you can read more about each property in the Online Application Notes. The screenshot below shows the set of properties we’re using for this scenario. Enter them using the Widget Properties tab on the right, and then click Apply. The critical pieces for our scenario are:

  • The Expand Groups property is set to Yes, since we’re using a group in the Approvers property and want all members of the group to get an individual task.

  • Approval Type is set to Multiple Approvers Required, with the Number of approvers set to 2.

  • The Send Email property is set to Yes so the Approvers and workflow initiator get e-mail about their tasks.

Other highlights: There's a custom Task Description that uses Workflow Conductor lookups in the content, and we're giving the Approvers three days to get around to approving the document.

2.  Set Approval Status

Next, add a Set Approval Status widget in critical places in the workflow to update the “Approval Status” field in the document library. This isn’t mandatory, but it’s a nice touch and it only takes a minute. Don’t have an “Approval Status” column in your document library? Don’t worry, Conductor will add one for you when the widget runs. There’s not much configuration required, just choose the Approval Status value you want for each instance of the widget. Don’t forget to click Apply!

3.  Copy Item

Now for the final piece of the puzzle, publishing the approved item to the Published Documents library. To accomplish this, drag the Copy Item widget to the Approved branch of the Request Approval widget. This is another simple configuration. Just pick the Source Item and Target List, as shown below. When you’re finished, make sure to click Apply.

That’s all there is to configuring the workflow – no coding required. Here’s what the completed workflow looks like in Conductor Studio:

Step Four – Deploy the Workflow
Go to Publish > Deploy in the Conductor Studio menu, give your workflow a name and an optional description, and click Save. Your workflow gets deployed and is now available for your Draft Documents library.

RUNNING THE WORKFLOW

When you’re ready to run the workflow, select the Workflows option in the item’s drop down list, and click the workflow name – just like you would the native SharePoint workflows.

Tip: You can also start the workflow from Microsoft Office: With the document open, click the Office jewel, then click Workflows. Find your Conductor workflow in the list and click Start.

When our sample workflow runs, here’s what will happen:

  1. The workflow creates an Approval Status column in your Draft Documents library, and sets it to Pending.
  2. An approval task is created for each member of the Customer Support group, and each person receives a task notification e-mail with a link to the item and a link to complete the task.
  3. At this point, the workflow just hangs out and waits for your approvers to complete their tasks. The easiest way to do this is for the approver to click on the Edit this task… button at the top of the task e-mail. A task form opens that allows the approver to enter comments and Approve or Reject the document.
  4. We said we needed two approvers for this workflow. Once two people Approve the document, the Approval Status is set to Approved, the item is copied to the Published Documents library, and the workflow ends. The workflow initiator gets an e-mail saying the document is approved, along with any comments. Because I just know you want to see what all of this looks like, here's some more pictures:

If all members of the group complete their tasks but the document doesn’t get two approvals, the workflow goes down the Rejected path – the Approval Status is set to Rejected, the workflow ends, and the workflow initiator gets an e-mail saying the document was rejected, along with any comments. (No pictures here…see above and imagine the word "Rejected" anywhere you see "Approved". You'd also notice the distinct lack of a document in the Published Documents library.)

IN SUMMARY

That’s it! You’ve just created your first Workflow Conductor workflow. It took a lot of pictures to explain it, but go try it – you'll see that it only takes a few minutes. In this example, I’ve hopefully shown that you’re able to do some things the native SharePoint workflows can’t:

  • Do something with the item other than just mark it “Approved” or “Rejected”.

  • Define a specific number of people who must approve the item.

  • Customize your Request Approval task description with lookups to values associated with the workflow, item, library, or site.

Have a question or a tip for improving this workflow? Post your comments below or on the Workflow Conductor forum. Stay tuned for more sample workflows and tips for using Workflow Conductor to its fullest potential.