How to build a team approvals calendar with workflow in SharePoint

Calendar Event / Leave Request Approval Process

I’ve created a custom workflow that will enable managers from any number of teams to approve calendar events and most importantly holiday leave requests within a group of teams within a specific department.

Regular events have been set to be automatically approved, whereas leave requests will get distributed to the relevant line manager for approval.

Team members will be able to choose their request type (Event / Leave) and select which team they represent. The workflow will then trigger an email containing 3 step actions for the manager to follow.

Once the manager has approved or rejected the request, a reply is transmitted to the creator of the request with notification of the result.

How to create a content approval lookalike workflow using SharePoint Designer

Before we open up SharePoint Designer 2007, we need to create a ‘Task’ list and a ‘Team Site Calendar’ list within our SharePoint collaboration environment.

Team Site Calendar List Configuration

· Extend standard calendar list to include team choice, request status and request type columns

· Hide the ‘Request Status’ from forms view, we don’

· Build workflow for site to facilitate content approval based on differing options

Workflow Setup

· Open up SharePoint Designer 2007 and load the site where we can find the ‘Team Site Calendar’ (File > Open Site)

· Once the site is open, add a new Workflow by click File > New > Workflow and run through the Wizard.

· Provide a name for your workflow and set it to automatically start when new items are created and existing ones change.




This workflow will handle multiple teams and multiple types of request. In the conditions for each team you wish to add into the workflow, set a condition of:

· If Team equals ‘Teamname’ and Request Type equals ‘Leave Request’


· Now click on Actions and select ‘Collect Data from a User’

· You will now need to provide three things to the workflow.

o The data that needs to be collected

o The user that needs to provide the response, in this case the line manager

o A variable to collect


· First click on the data link and a new wizard will pop up:



We need to collect 2 things from the approving line manager:

  • Can the employee go on holiday or not?
  • Any extra comments

For each team required, click on the add button to add these two questions on the page:


First question is the status where we are going to use a choice field so that the manager can choose between Approve or Reject:



Click Finish and add another field to make it possible for the manager to add some comments:



Once you’ve added these two fields click on the Finish button to complete the data part of the action.


The next step we need to do is identify who the line manager is so a task can be assigned to that person. Click ‘this user’ and select the relevant person from your corporate directory:


Variable to collect:

What we’ve actually done is, we’ve created a task for the human resource manager (me) to approve or reject the holiday.

Because we want to use the outcome of this task we need to save the ID of the task that we’ve created. This is is the variable that we want to collect.

We are going to store the ID of the task in a new variable which we call HolidayRequestTaskID:

Once we’ve completed the first action we need to save the response from the line manage. This means capturing and change in request status and any comments made by the line manager.

To save these responses we need to create 2 variables and store the responses in these variables.

Find the Action ‘Set Workflow variable’. If you don’t find it click on ‘More Actions…’.



Set Variable: Holiday Approved Comments



Use the following workflow:



2 thoughts on “How to build a team approvals calendar with workflow in SharePoint

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