Last Updated on December 14, 2023
Need a vacation request system?
In this guide, you will learn how to create a vacation request system in SharePoint with the help of Power App and Powe Automate.
Let’s get started.
Table of Contents:
Plan the Vacation Request System
Before diving into the technical aspects of creating your vacation request system, proper planning is essential.
Think of this stage as laying down the blueprint for a house…
You wouldn’t start building without a solid plan, would you? The same principle applies here.
What does the system do?
Understanding the primary objectives and functions of your vacation request system is crucial.
This ensures that the final product aligns with your organization’s needs and expectations.
Here are some key functionalities that a typical vacation request system might include:
- Request submission: Allows employees to submit vacation requests electronically
- Automated workflow: Automatically routes requests to the appropriate personnel, such as managers or the HR department, for approval
- Status tracking: Enables employees to check the status of their vacation requests in real-time
- Notification system: Sends automatic notifications to employees and approvers at each stage of the process
The goal here is to make the process as seamless and efficient as possible.
What fields to include?
The fields you include in your vacation request system will determine what kind of data you collect and track.
It’s essential to be mindful of this as you plan your system.
Here are some commonly used fields you might consider including:
- Employee Name: To identify who is making the request
- Employee ID: For additional verification
- Vacation Start Date: The start date of the planned vacation
- Vacation End Date: The end date of the planned vacation
- Reason for Leave: Optional, but can be useful for record-keeping
- Manager’s Name: The person responsible for approving the request
- Status: To track the stage of the request (pending, approved, rejected)
- Comments: A section for any notes or additional information
By now, you should have a clear vision of what your vacation request system will look like and what it needs to achieve.
With these foundational elements in place, you’re well on your way to creating a system that not only streamlines operations but also enhances the user experience.
Sign up for exclusive updates, tips, and strategies
Part 1: Create a Leave Request List
The system we want to create can all be contained in a list, which acts as a database of the leave request system.
The idea is to create a list with the proper columns (for the data fields), configure the correct settings, set up views, and add the alerts.
Step 1: Create a leave request list
Some organizations may opt to create a new site here dedicated to leave and vacation requests.
If you already have an HR site (like I do on my demo tenant), then you can use it, which helps since HR personnel are already on the site.
From the home page’s command bar:
- Click the new button
- Select the list option

There are a lot of templates there. If there’s a template there for vacation requests, you can start from there.
Otherwise, I suggest you start from a blank list since the work is shorter that way (no need to delete the columns you won’t be using).

After that, simply give the list a name:
It can be vacation requests, leave requests, or something similar that you and the approvers can easily identify.
Click the create button after that:

Related: How to Create a Custom List in SharePoint Online (Guide)
Step 2: Add columns to the list
The next step here is to add the columns to the list.
Here are the columns I decided to add and their column type (shortened some of the names here):
- Reason (title)
- Start (date and time)
- End (date and time)
- Manager (people)
- Status (choice)
- Notes (multiple lines of text)
- Comments (multiple lines of text)
- Completed (choice)
Some notes here:
- Didn’t include name and ID here since both can be found in the submitter’s account
- Name is automatically the person behind the “created by” column (hidden by default)
- Added the completed column as a way to track whether the leave/vacation is completed or not
- If the submitter needs to explain more, he/she can use the notes section
If you don’t know how to rename the title column:
- Click the title column heading
- Go to column settings
- Click the rename option

Related: SharePoint List Title Column: The Complete Beginner’s Guide
Adding columns
Adding the columns is easy:
- Click the add column button
- Select the type of column to add
- Click the next button

This will then open the right panel.
The important fields here to fill out are:
- Name
- Require that this column contains information (click more options first)
Here’s the bottom part that shows the require option:

Setting up a default value
Another note here is the choice columns. You may want to set up a default value here.
For example, on the completed column, I set the default value to no since that is the status after the person submits the request.

Showing/hiding columns
Another one here is if you want to show who submitted the request.
For that:
- Click the add column
- Hit the show or hide columns button

On the right panel:
- Select the created by option
- Click the apply button

Step 3: Change the list’s settings
The next step is to tweak the settings and make sure that they agree with what you want to do with the system.
To access the settings:
- Click the gear icon
- Select the list settings option

The next page contains a list of settings you can configure.
The setting to change here concerns item-level permissions.
Go to advanced settings:

The idea here is to keep the requests confidential from other regular users so they can only see their own requests.
Change the settings to:
- Read items that were created by the user
- Create items and edit items that were created by the user

No need to change the other settings here.
Part 2: Use Power Automate Flow
Now that you have set up the list, it’s time to add in the approval workflow.
Previously, there were ways to set up an approval process within a list using classic features (like versioning content approval).
However, using Power Automate Flow is a better option.
Step 1: Create a flow
From the list:
- Click integrate from the command bar
- Hover over Power Automate
- Click the create a flow button

This will open the right panel with suggestions on what Microsoft flow to create.
Click the start approval when a new item is added option:

Flow needs to connect to various apps and connectors, so it might ask you to log in on any apps that you’re not logged into.
Click the continue button to proceed:

Step 2: Configure the flow
After clicking the button, you will arrive at the flow builder.
The first step here is to fill out the “assigned to” field on the start an approval box with the following options:
- If the approver/approvers aren’t the manager, enter the name of the approvers
- If it’s the manager, select the manager (dynamic content)
If it’s the first option, you can simply write the name and click on the suggested user:

If it’s the second option:
- Click the add dynamic content button
- Search for the term “manager”
- Click the manager option from the list

Step 3: Add update actions
The flow now will work.
However, we want the flow to update important fields:
- The status value, if the request is approved or not
- The comments, in case the approver left some
For this, go to the “if yes” box and click the add an action button:

On the search bar, search for “update item”.
Click on the correct result:

As the action name states, this will allow you to update the item depending on the actions of the approver.
Here’s what you need to put in the fields:
- Site address (click the dropdown for the choices)
- List name (select the list)
- Id (click the field and choose “ID”)
- Start (click the field and choose “Start”)
- End (click the field and choose “End”)
- Status Value (click the field and choose “Approved”)
- Comments (click the field and choose “Comments”)
It should look something like this:

Since we’re on the “if yes” box (if the approver approves), the status value should be “Approved”.
After that, do the same on the “if no” box:

The important bit here on the second box is to change the status value to “Rejected” since this is the rejection route of the approval workflow.
Click the save button.
Step 4: Test the flow
You will need to test the flow by creating an item on the list (filling out the request form).
After saving the request item, the approver will then receive an email informing him/her of the approval request and what your decision will be.

After the approver replies, the submitter will also receive an email containing the decision and the comment (if there’s any).
Here’s an example:

Not only that, the items in the list item will get updated depending on the approver’s response since we set up those update item actions in the flow.
It looks like this on the user’s account:

Optional: Create a Power App
Did you know that you can create an app based on the list?
The app and the list will always be connected, so items added via the app will reflect on the list, and vice versa.
Related: Power Apps in SharePoint Online: Get Started (Tutorial)
Here’s what to do:
- Go back to the list
- Click integrate > Power Apps > create an app

The right panel will open up where you can enter the name of the app.
Enter the name and click the create button:

This will then bring you to the app builder page.
The only element I want to change here is the “title” since it ignores the renamed title on the list:
- Click the title field
- Enter the renamed title

That’s it! Naturally, you’re free to customize the app as you want.
Once you’re done, test the app first and when it’s good to go, share it with your organization.
Got any questions in regards to the step? If you got stuck along the way, feel free to leave comments below.
For business-related questions, you can send me a message through the contact form here. I’ll reply to you asap.
good
I am too late, but How can we track available leave days for employees?
Available balance days
Also Where is the information related to “how the manager approves?