In every organization there is a need for approvals on certain types of requests. For instance, gaining approval for vacations. In this blog post I will demonstrate how to create an approval workflow using SharePoint designer 2013. I using a sample of a vacations approval workflow for this example.
Approval workflow in SharePoint involves three things:
- List/Library on which workflow will execute
- Tasks list, where the tasks created during the course of workflow will be saved
- Workflow History List: this list will store all the logs that are generated during the course of workflow
Step 1: Requestor creates a vacation request in the SharePoint.
Step 2: Request goes to her/his manager for approval.
Step 3. Manager Approves the request.
Step 4: Mail is triggered to all stakeholders required. Workflow closes.
The diagram below depicts the workflow:
Creating Custom list
For this workflow, first we will create a Custom List “Vacation Request” in SharePoint. You can have as many columns as you need per your requirement. However, in this workflow I created a list with the columns below:
- Department Name (Choice Field)
- Vacation Start Date (Date and Time Field)
- Vacation End Date (Date and Time Field)
- Manager Name (People Picker)
- Backup Resource (People Picker)
- Emergency Contact Number (Text Field)
Here is my custom list with the fields mentioned above:
Now, let’s go to SharePoint Designer to create an approval workflow.
Creating Workflow in SharePoint Designer
Below are the steps for creating an approval workflow in SharePoint Designer:
1. Open SharePoint Designer and SharePoint Site.
2. Click on Workflows option in the left Panel.
3. Click on List Workflow from the ribbon in top and select the “Vacation Request” List.
4. Provide the Name and Description of the workflow and keep Platform type as SharePoint 2013 in the Create New Workflow Pop up. Then click the OK button.
5.Workflow designer will open. By default Stage 1 is created. Rename it to Manager Approval by clicking over it.
6.In the ribbon, click on Action and select Set Workflow Status. This will add a new action in the workflow.
7. Click on this message link in the action and provide text as “Pending Manager’s Approval”.
8. Add a log message to workflow history action in the next step. This will add logs in the workflow history list which will be helpful in debugging and audit trail.
9. Create a workflow variable Due Date and add an action in order to add 3 days from current date to due date.
10. Insert “Assign a Task” in the workflow. This will create an approval task in Tasks List and will be assigned to specified person for Approval.
11. Now we need to assign a task to the manager specified in the request. For this, click on This User link in the “Assign a Task” action à. Click on “…” against Participants à, from a popup click on “Workflow lookup for user…” à in Lookup for Person or Group. Then select data source as Current Item and Field from source as Manager Name. Click OK on all popups.
12. In Task Title provide “Please approve vacation request”.
13. In Description provide vacation details as described in the image below.
14. Provide Due Date as a variable we have created in previous steps.
15. In the Task Option section, select Wait for task completion.
16. In Outcome Options keep the current selection as it is.
17. Add a condition in the next step, check if outcome of the task is Approved or Rejected.
18. If Outcome is Approved then send mail to Requestor, CC HR and Manager.
19. If Outcome is Rejected then send mail to Requestor and CC Manager.
20. In the Transition to Stage section, select the Go To stage action and configure it to go to End of Workflow.
21. Below is the screenshot of a complete workflow.
22. Go to the workflow design page by clicking on the workflow name.
23. In the start Options, select second option “Start workflow automatically when an item is created”.
24. Now the workflow is complete, click on the save button and then click on Publish.
Now you are ready to send a vacation request for your manager’s approval.