How to Create a SharePoint Vacation Request System (Manual)

How to Create a SharePoint Vacation Request System (Manual)

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.

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
    create a new list from the home page

    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).

    the blank list option is better

    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:

    name the list with something that you can easily identify

    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
    rename the title from the column settings

    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
    add a new date and time column

    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:

    require that this column contains information

    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.

    set the default value of the column to no

    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
    the option to show or hide columns

    On the right panel:

    • Select the created by option
    • Click the apply button
    show the created by column

    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
    go to the list settings

    The next page contains a list of settings you can configure.

    The setting to change here concerns item-level permissions.

    Go to advanced settings:

    advanced settings below general 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
    the option to specify which items users can read and edit

    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
    integrate power automate and create a flow

    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:

    Pick the start approval 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:

    this flow will connect to different apps and services

    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:

    1. If the approver/approvers aren’t the manager, enter the name of the approvers
    2. 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:

    write the approver's name and select 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
    indicate the manager as the assigned to

    Step 3: Add update actions

    The flow now will work.

    However, we want the flow to update important fields:

    1. The status value, if the request is approved or not
    2. The comments, in case the approver left some

    For this, go to the “if yes” box and click the add an action button:

    the button will allow you to add another action

    On the search bar, search for “update item”.

    Click on the correct result:

    select the update item sharepoint option

    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:

    1. Site address (click the dropdown for the choices)
    2. List name (select the list)
    3. Id (click the field and choose “ID”)
    4. Start (click the field and choose “Start”)
    5. End (click the field and choose “End”)
    6. Status Value (click the field and choose “Approved”)
    7. Comments (click the field and choose “Comments”)

    It should look something like this:

    refer to the list above for the right input

    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:

    refer to the list above for the right input

    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.

    approver receives an email of the leave request

    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:

    email that states the request is rejected and the comment

    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:

    the list item gets updated with the approver's decision

    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
    create an app from the list

    The right panel will open up where you can enter the name of the app.

    Enter the name and click the create button:

    name the app and make it sensible

    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
    rename the title in the power app

    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.

    About Ryan Clark

    As the Modern Workplace Architect at Mr. SharePoint, I help companies of all sizes better leverage Modern Workplace and Digital Process Automation investments. I am also a Microsoft Most Valued Professional (MVP) for M365 Apps & Services.

    Subscribe
    Notify of
    guest
    1 Comment
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments

    mohamed nabil
    mohamed nabil
    4 months ago

    good

    1
    0
    Would love your thoughts, please comment.x
    ()
    x
    Scroll to Top