How To Setup an Office 365 Holiday and Time Off Request App Using Power Apps

Office 365 just keeps adding value every time I go exploring for new features and this time I’ve started using the Holiday and Time off requests app template found in PowerApps. PowerApps are programs you can build and modify yourself to create awesome workflows which can be published to other users within Office 365.

As with anything customisable and based on a template there is a little bit of work to get it operational but below is my verified and fully working step by step easy to follow guide!

First ensure all of your users have a Business Premium License assigned to them.

1. When an employee submits a vacation request it needs to be approved or denied by that employees manager. The app uses the manager attribute stored in each user account in Office 365. By default this field is blank so you first have to set the manager for each employee in your business.

Log into the Exchange admin center.


Go to recipients then mailboxes.

2. For each user double click the account then click on organization and set the manager attribute. This should be set to the employees manager who will be the person who accepts or denies vacation requests.

3. Now lets start building out the app. Log into the PowerApps Portal here: https://web.powerapps.com

Click on Create.

Locate the ‘Leave Request’ template and click ‘Make this app’.

4. The app will ask for permission to your account, just click Allow here.

5. Before browsing the app click ‘Make my own app’ before it disappears from view. This will set the app up so that it stores actual data rather than use its own demo data in the app.

6. The app will now ask you where do you want to store the database. For us lets choose ‘OneDrive for Business’. This will actually create an excel file in your OneDrive. This file will later be shared with other users so the app will work when other users run it. Full instructions will follow.

7. The app will reauthorise access to your services, just click Allow here.

8. Ok first thing we need to do is modify the number of vacation and sick days allowed in your organisation. We need to do this because when a user first logs in the app will use these values to set their accounts up.

Select the ‘OnStart’ function as shown and scroll to the bottom of the code and change the default number of vacation and sick days allowed. The template also allows for jury duty and bereavement which can be updated.

9. When you create the app it puts a data.xlsx Excel file into your OneDrive. This is the apps database file and where it stores all requests and responses.

10. We need to grant access to any employee who will be using the app.

Click on the three dot menu and click Details.

11. Click on ‘Manage Access’

12. Add your employees, set to ‘Can edit’ and untick the ‘Notify People’ checkbox and click ‘Grant Access’.

13. Now you are ready to save the app.

From the App editor

Click File

Click Save as

Click The Cloud

Select a name for your application.

Click Save in the bottom right corner.

14. Next click on ‘Share this app’.

15. Next add the employees to the list so they can access the application. They will be sent an email with a link to the app.

16. Each user will receive an email with a link to open the app. Users can save the site to their favorites for quick access.

17. When a user logs in for the first time they must grant access to their services for the app to work.

18. Now at the main page employees can click ‘Login as an employee’. Here they can request vacation days.

19. From the main menu you can see the options on the left hand side. Employees can view their leave requests, see how many holiday days they have left and view company holidays.

In ‘My Leave Requests’ employees can ‘Create Request’.

20. Employees can set the type of leave they are taking, Set the number of days and give the leave a name. Employees can also see who the request will be submitted to.

21. Once a leave request has been submitted employees will see it in their leave request list along with its current status. Here we can see the request is in a Pending state.

22. Clicking on ‘My Leave Balance’ from the left menu employees can see how many days they have remaining.

23. Lets switch to Peters manager Ian. Ian receives an email saying that Peter has requested some holiday.

24. The manager can login using the ‘Login as a manager’ button on the app home screen.

25. Managers can see all leave requests and approve or decline them.

26. Clicking on Approve gives the manager a screen where they can send an email to the employee, or they can just click ‘Done’ to finish approving the request.

27. The employee now receives an email saying their leave has been approved.


Power apps are a great way to add extra functionality to your Office 365 system. There are a vast array of template applications to choose from to improve functionality, productivity and workflow tasks in your business.

Author: Ian@SlashAdmin

Share This Post On
468 ad


  1. Hi,

    Interesting article which could possible solve an issue we’re facing. How would you get around the problem of employees having different holiday entitlements based on long service; part time workers; entitlement carried over from previous year etc.

    This information can be contained within a spreadsheet or SharePoint list and updated annually…but how do then use it in the above solution?

    Post a Reply
    • Hey Iain, just wondering if you got a response/solution to this as I am encountering the same issue.

      Post a Reply
  2. When I open the app it is basically empty. What am I missing? I followed all the steps. Please help.

    Post a Reply
    • yes it will be until you add some entries into it.

      Post a Reply
  3. Hi,

    Great tutorial. However, I am missing the menu on the left hand side and the options for employees. Do I have to add them manually? Any further tips please?


    Post a Reply
  4. Hi,

    Whenever i press “make my own app” everything inside goes away. The menu on the left hand side is gone, the buttons, options, etc.

    Could you help please?

    Post a Reply
  5. Same here, making my own app brakes everything and the app is useless.
    Any tips please?

    Post a Reply
  6. Hi! I couldn’t find the “OnStart” (Select the ‘OnStart’ function as shown and scroll to the bottom of the code…)
    The only function that I can see are “OnHidden” and “OnVisible”. Am I missing something here?

    Post a Reply
    • Try clicking App rather than LoginScreen I saw on git hub about an error in the documentation

      Post a Reply
  7. Hi,
    I have created and managed to changed the details that require but when trying to send a request and the manager logged in, the manager can see the pending the requester is the name of the manager instead the requester? Could please someone help me with this?

    Thank you

    Post a Reply
  8. Hi, is there a way to add multiple layers of managers who must approve before it’s granted?


    Post a Reply
  9. How do you add multiple managers?

    Post a Reply
  10. Our vacation days are different depending on the amount of years they are with us. How do you account for that?

    Post a Reply
  11. Interesting blog on setup an office 365 holiday and time request app usiong power apps. Please keep sharing.

    Post a Reply
  12. Apart from having multiple levels of managers and different amounts of vacation entitlements, we also have the issue that our vacation entitlements are counted in hours: someone who works 10 hours on mondays and 6 hours on tuesdays and who takes six mondays of, has taken 60 hours of vacation, but if they take six tuesdays, they have only taken 36 hours. It is also possible to take a half day off.
    Is it possible to do this with this app?

    Post a Reply
    • I want to do this too – half days anyone?

      Post a Reply
  13. I got stuck by step 5 as there was no message to say make your own app and therefore no way [at least that I can see] to select OneDrive as a location to store data. This means that I can’t complete steps 9 – 12 in the way shown.

    Any suggestions or perhaps an easier way to go about setting this up?

    Post a Reply
  14. Thanks for this Article, is it possible if once they leave gets approved, then one more outlook calendar email to trigger to the team distribution and the dates should be set in outlook calendar, and the subject should be ‘Out of Office’s, if yes then how to put across this condition on workflow?

    Post a Reply
    • This is a great addition to the app – i want this too.

      Post a Reply
  15. This is a good article. This template was a great starting point. We modified it as follows and it works great:

    Connected the data to SharePoint Lists
    Added the ability to request hours off
    The holidays come from the main company calendar in SharePoint
    Added full admin role so they can update any of the data as needed from the app
    Integrated Azure AD for auto-login by role (no login screen it knows if you are an employee, manager or admin).
    Added links to the emails that go directly to approval
    Added a workflow to add approves time off to a company calendar
    Added a workflow to roll-over time off at the end of the year.

    Post a Reply
    • Louise, would you be willing to share with me how you made the modifications for changing to hours, adding more holidays, integration with AzureAD, links in the email? Sounds like you did well! Thanks.

      Post a Reply
    • Hi Louise,

      That sounds great. Are you able to share the steps you took to achieve this in more detail?

      Post a Reply
    • +1

      If you are able to share your modifications that would be helpful


      Post a Reply
    • Hi Louise,

      Would you be able to share how you’ve done the above? – I’m keen to be able to specify different days for each employee.

      Thanks in advance.

      Post a Reply
    • Sharing is caring Louise, we would also like everything you did but would be great if you gave us steps

      Post a Reply
    • @Louise Do you have the steps to add to calendar after approval?

      Also does anyone here know how to add hours?
      Example: Employee started work in the morning be felt sick after working 2 hours.
      So employee will request for PTO and need to mark they only worked 2 hours so 6 hours of PTO to be used

      Post a Reply
  16. How do you add multiple managers to approve before final.approve is sent back to the requester

    Post a Reply
    • Same here, im stuck in add multiple managers to approve

      Post a Reply
    • Same here, im stuck in add multiple managers to approve

      Post a Reply
  17. In step 5 the ‘Make my own app’ dialog box doesn’t appear!!! Can i find it somewhere else so i can store my data??

    Thanks in advance

    Post a Reply
  18. Hi, I’m not getting the ‘Make my own app’ options?

    How do we enable this?

    Post a Reply
  19. the new version doesn’t create Data.xlsx. How can I change the code to include Data.xlsx.

    Post a Reply
  20. Anyone know how to add multiple manager approval

    Post a Reply
  21. How do i combine the mobile app data source (data.xlxs) and the tablet version?

    If I use both apps, everyone has different amounts of holiday in each app…

    I tried View Data Sources and changed them to be the same source but this breaks the app currently using the source.

    What’s the point in having 2 apps anyway?

    Post a Reply
    • You can link the data source to the same excel doc, (i.e. data.xlxs) I’ve done that and it works.
      Also you say it breaks the app what the exact error you are getting. It maybe related to giving read/right to the user via OneDrive

      Post a Reply
  22. Thanks for sharing a better idea. Please upload more posts in different topics.
    Awesome post!

    Post a Reply
  23. This App simply does not work. I don’t see that there is any possibility for it to work. It has no data source so nowhere to store data that has been taken. If you click on the button to add an Excel spreadsheet it creates the spreadsheet but there is no way to link to that spreadsheet. There are still no data sources and no functionality to add a data source.

    Apart from that it assumes every user has the same leave and has the same leave every year. And the same public holidays. Or no public holidays unless it is 2018.

    In other words it is completely and utterly useless

    Post a Reply
    • It works great for us but remember this is a template so adding public holidays is something to code in. You can pull out the dates from the governments bank holiday api if in the uk, not sure if the us has something similar: https://www.gov.uk/help/reuse-govuk-content

      Post a Reply
  24. I’d also love to know how to change the company holiday section. It’s set up for American holidays but they are different in Ireland.

    Post a Reply
  25. Hi Ian. Is there a way that, when a manager approves the PTO, the employee’s PTO can automatically be posted to a dedicated PTO calendar shared by the company?

    I love this system. I’m just looking for the final step in our usual process.

    Thank you so much!

    Post a Reply
  26. Hello Ian,

    can we customize default values as our own?

    I tried but no luck, can you please help me with this case.

    Post a Reply

Leave a Reply to Angelos Pre Cancel reply

Your email address will not be published.