Create a Vacation Approval Workflow with SharePoint Online, Forms and Microsoft Flow.

Do your staff waste hours performing the same repetitive tasks, over and over? You could save your business time, effort and money, by using Microsoft Flow to automate all of your most commonly-performed processes.


In this article, I’ll show how to take the pain out of submitting, reviewing and approving your staff’s’ annual leave, by building an automated vacation approval platform.

What we'll be building

By the end of this article, you’ll have created the following:

1. A Microsoft Forms document where employees can submit their holiday requests.

2.  An email that’s automatically sent to the employee’s manager, team leader, HR department, or any other designated contact. The recipient can then approve or deny this holiday request, with the click of a button.

3. A SharePoint Online list that records all approved vacation requests.

4. A confirmation email that the employee receives automatically, when their vacation request is approved.

Create a holiday request form

Let’s start by creating the Microsoft Forms document where your employees can submit their holiday requests:

  • Sign into your Office 365 account.
  • Select the “App launcher” icon in the upper-left corner of your web browser.
  • Select “All apps.”
  • Choose the “Forms” application.
  • When prompted, select “Create a new form.”
  • On the subsequent screen, make sure the “Questions” tab is selected.
  • Give this document a distinctive name; I’m using “Vacation Request.”

  • ​​ Select “Add New,” followed by “Text.”
  • ​In the text field, type “Please enter your first and last name.”
  • ​To make this field mandatory, push the “Required” slider into the “On” position.
  • ​Next, click “Add new.”
  • ​When prompted, select “Date.”
  • ​In the text field, enter “First day of holiday.”
  • ​Select the “Required” slider.
  • ​Click “Add New,” followed by “Date.”
  • ​In the text field, enter “Last day of holiday.”
  • ​Select the “Required” slider.

Microsoft Forms saves your documents automatically, so this form is now ready to use.

Create a SharePoint Online list

Next, we need to create a SharePoint Online list that records all approved holiday requests. This document will feature the following columns: Full Name, First day of holiday, Last day of holiday, and Approved, which will have a yes/no value.

This SharePoint Online list will provide a centralized location where you can view all upcoming staff holidays. Alternatively, you could use this document as the starting point for subsequent Microsoft Flow workflows, for example feeding all the SharePoint data into a calendar for easier viewing, or triggering reminder emails every time someone from your department is about to head off on annual leave.

To create your SharePoint Online list:

  • In your Office 365 account, select the “App launcher” icon in the upper-left corner.
  • Choose “SharePoint.”
  • Select the “cog” icon from the toolbar, which will open a “Settings” side menu.
  • ​Choose “Site contents.”
  • ​Select “+New,” followed by “List.”
  • ​When prompted, give this list a distinctive name; I’m using “Vacation requests.”
  • ​Click “Create.”
  • ​Once your list has loaded, give the “Add column” button a click.
  • ​In the subsequent dropdown menu, choose “Single line of text.”
  • ​Name this column “Full name.” This is the column where each employee’s full name will be recorded.
  • ​Click “Save.”
  • ​Select “Add column” again, but this time choose “Date.”
  • ​Give this column the name “First day of holiday,” and then click “Save.”
  • ​Select “Add column,” followed by “Date.”
  • ​Name this column “Last day of holiday,” and then click “Save.”
  • ​Select “Add column,” followed by “Yes/No.”
  • ​Name this column “Approved?” and then click “Save.”

Microsoft Flow: Notifying your HR department

Now, we need to create the approve/deny email that’ll be generated every time an employee completes the vacation request form.

This email will contain details about the vacation request, and can be sent to any contact, such as your CEO, HR department, or the employee’s manager or team leader. This email will contain “Approve” and “Deny” buttons, which will allow the recipient to process the vacation request with the click of a button.

The easiest way to create this workflow, is to use Microsoft Flow’s “Send form responses for approval” template. Note that this is a multi-step process, so assume that we’re editing the same Microsoft Flow workflow, unless explicitly stated otherwise.

  • In your Office 365 account, select the “App launcher” icon in the upper-left corner.
  • Select the “Flow” application.
  • In Microsoft Flow’s left-hand menu, select “Templates.”
  • Search for the "Send form responses for approval” template, and select it when it appears.
  • ​Read the onscreen information, and if you’re happy to proceed then click “Continue.”
  • ​Click to place your cursor inside the “When a new response is submitted” field. When “Vacation Request” appears, select it.
  • ​Scroll to the “Get response details” section. Click to select the “Form id” field, and then select “Vacation Request” when it appears.
  • ​Scroll to the “Start and wait for an approval” section, and give it a descriptive title; I’m using “Vacation Request.”
  • ​Under the “Title” field, select the “Add dynamic content” link.
  • ​In the right-hand box, select “Please enter your first name and last name.”
  • ​The “Please enter your first name….” item should now have been added to the “Title” field. To complete our subject line, type “has requested vacation time.” This will give us the subject line “(full name) has requested vacation time.”
  • ​In the “Assigned to” field, enter the email address of the person who needs to approve or deny all of your organization’s vacation requests, such as your CEO or head of HR.
  • ​Click to select the “Details” field, and then give the “Add dynamic content” link a click.
  • ​In the right-hand box, select “Please enter your first name and last name” item to add it to the “Details” field.
  • ​Inside the “Details” field, type “has requested vacation time from”
  • ​Click the “Add dynamic content link” and select “First day of holiday.”
  • ​Back in the “Details” field, type “to”.
  • ​Click the “Add dynamic content ”link and select “Last day of holiday.” Your “Details” field should now look something like this:

Recording information in SharePoint Online

At this point, the named contact will receive an email every time someone completes the vacation request form. Next, we need to automatically record each approved vacation request in our SharePoint Online list:

  • Scroll to the Flow’s “Condition” section, and edit the three fields to read “Response / is equal to / approve.”
  • Scroll to the “Yes” section, and click to open the “Site address” dropdown. Select your SharePoint address when it appears.
  • Open the “List name” dropdown and select the name of your SharePoint Online list, which in my instance is “Vacation requests.”
  • Click to place your cursor inside the “Title” field, then select its accompanying “Add dynamic content” link.
  • In the right-hand box, select “Approval ID.”
  • Click to select the “Full name” field, and then click its accompanying “Add dynamic content” link.
  • Select “Please enter your first and last name.”
  • Click to place your cursor inside the “First day of holiday” field, and then select “Add dynamic content.”
  • In the right-hand section, select “First day of holiday.”
  • Select the “Last day of holiday” field, and then click “Add dynamic content.”
  • ​In the right-hand box, select “Last day of holiday.”
  • ​Give the “Approved?” field a click, and then select “Yes” from the subsequent dropdown menu.

Notify your employees: Building an approval email

At this point, each authorized holiday will be automatically logged in your SharePoint Online document - but how does the employee know when their request has been approved?

In this final step, we’ll automatically send each employee an email notification when their request is accepted.

  • ​Scroll to the workflow’s “If yes - Create item” section, and then select “Add an action.”
  • ​In the subsequent “Choose an action” field, start typing “Send an email notification…” and then select this option when it appears.

​You’ll now have access to a form where you can build your email.

To send this email to the person who originally completed the form:

  • Click to place your cursor inside the “To” field.
  • Select the accompanying “Add dynamic content” link.
  • Start typing “Responders’ email” and then select this option when it appears.

Next, we’re going to create a subject line for our email. You can add dynamic text, but to help keep things simple, I’m using a static subject:

  • Click to place your cursor inside the “Subject” field.
  • Enter your text, I’m using “Your holiday request has been approved.” To personalize this email, we can address the recipient by name:
  • Click to place the cursor inside the “Email body” section.
  • Type the start of your greeting; I’m using “Hi”.
  • To insert the recipient's name, click the “Add dynamic content” link.
  • Start typing “Full name” into the right-hand box, and select it when it appears.

We can add more personalized touches to our email, for example I’m inserting the dates of the approved holiday, and signing off with the name of the person who approved this request:

  • To insert the start of the approved holiday, select “Add dynamic content,” followed by “First day of the holiday.”
  • To add the end of the approved holiday, select “Add dynamic content > Last day of the holiday.”
  • To insert the name of the person who approved this request, select “Add dynamic content > Approver name.”

I’ve also added some static text in between these dynamic inserts, to create a more coherent message. Here’s the finished email:

Your vacation approval platform is now ready to use!


When you’re happy with the information you’ve entered, click “Save” and your workflow will be ready to use!

Now, every time an employee completes your “Vacation Request” form, the named contact will receive an email asking them to approve or deny this request. If the request is approved, then it’ll be added to the SharePoint Online document and the employee will receive an email informing them that their holiday has been authorized.




Claim Your One Month FREE Trial of Microsoft 365 E5 Today.

Speak to a member of our team today 0114 292 2911 or email sales@systemsassurance.com if you need any assistance.

Share this article on social media

If you found this article useful, please share it on social media. 

Subscribe to our blog...

We will only use your email to send you new blog posts.