If you're looking for a better way to gather and approve your organizations time off requests, you can automate your process and store your requests all in Office 365.
Forms are an important part of many business processes (think expense reimbursement, purchase request, maintenance request, etc.). Many forms currently use technologies that are only marginally better than paper (email, PDF, Excel, Word, etc.). Much of the issue with these technologies is that you usually still need to have a human validate, transcribe, and communicate this data. In this article, we're going to use a fictitious time off request process to show you a few different ways you can create and automate this process in Office 365.
For the purposes of this article, let’s talk about a process used to request time off. Below is a very high-level outline of what this process should look like.
Much of the work and decisions you need to make in using Office 365 is choosing the correct tools to combine and solve your problem. We are going to talk about specific tools that can be used to accomplish each of these elements and some reasons you might choose them.
The first step in any forms process is to gather data from the user. This is the “form” part of the process and largely involves presenting a user with an interface to enter the data. When gathering data, it is important to make it easy for the user to understand what they are being asked to enter and validate the data to reduce the amount of work needed once the data is submitted. Of all the steps in the process this is the one that has the most options in Office 365 and making a good choice is critical. Let's review each option in Office 365 to help you decide.
Microsoft Forms is probably the most common starting point for anyone who is trying to improve their forms with Office 365. I don’t think it is a stretch to say this is because it has the word “forms” in the product name 😊. While Microsoft Forms can be used to create forms, users will often run into limitations quickly. This is largely because Microsoft Forms features are geared for surveys and quizzes and not for a full-fledged form builder.
Given all of the weaknesses in Microsoft Forms, can we produce a viable Time Off Request form? Yes. Below are screenshots of what end users would see if you were to use Microsoft Forms for this purpose.
While it is true that Microsoft Forms can produce a form that will work for requesting time off, it is extremely rudimentary. You would be relying heavily on the user who is going to process/approve these requests to make sure things are accurate. Thus, I don’t think you will find significant benefit in using Microsoft Forms for this type of solution.
Another common tool used to create forms in Office 365 is SharePoint lists, which provide a fairly robust set of features. SharePoint lists are one of the cornerstone technologies for creating communication and collaboration sites. As a result, they are very much a “jack of all trades”, and you can use them in many ways. This means we have much more flexibility when creating forms. It also means there are sometimes an overwhelming array of options, and it can be hard to choose the correct one.
Creating a time off request form in SharePoint lists is not very difficult. The form is fairly simple, and you get a bunch of useful options that users are likely to appreciate.
SharePoint lists can be a great solution to create forms, including a Time Off Request form. It is relatively easy to use and pretty full featured. The reasons to not use SharePoint for this purpose would be scenarios where your validation or UI/UX requirements simply can’t be done in SharePoint. In this scenario you still might want to use SharePoint lists, you just need to add in the use of a Canvas App. We will get to this next.
To see what it’s like to modernize your entire organization, download our free guide.Get the Free Guide
The last major tool in Office 365 that could be used to create forms is Power Apps and specifically a Canvas App. Power Apps is a low-code tool to create applications that can be connected to many data sources and work on desktop, web, and mobile platforms. Canvas Apps are one type of app that can be created within Power Apps and is the most suitable for this specific discussion.
Canvas Apps are built on the concept of using a blank “canvas” on which you can place a wide range of components. These components can be galleries, forms, images, text, buttons, input controls, etc. You can also use a variety of formatting controls to help you make an application customized just to your needs.
For the purposes of creating forms, Canvas apps are by far the most flexible and configurable. They are also the technology that requires the most training and “thinking like a developer”.
To create a Time Off Request Canvas App, you need to start by creating specific screens that are built to support your desired UI/UX. You also need to select where your data is stored. In the example below I am using the same list from our SharePoint list example. I am just using the Canvas App as the interface to create a new request.
If you have very specific requirements for how the time off request process should work that involves custom UI/UX and business process, the only real option in Office 365 is to use a Canvas App. The main challenge with doing this is that the level of effort and type of skills needed to do this is much greater than the other options. You really need someone with some level of a developer mindset to develop and support a solution like this. Due to these risks, I would only implement this solution if you are prepared to manage/support this.
At this point you might be thinking you like the ease of use that SharePoint Lists provide and the flexibility of Canvas Apps. The good news is that you can use these two technologies together in a way that might be the best case for what you're looking for. The basic idea is that you can customize a SharePoint List form using a Canvas App. This provides you with all the configuration and built-in view, list, and SharePoint page functionality with a custom Canvas App that is used for the create and edit experience.
In most cases I would recommend considering this approach before going directly to a Canvas App only. This approach allows you to reduce many of the weaknesses in these two options and can be a good starting point before going right to a dedicated custom Canvas App.
While Office 365 has a robust set of tools to build forms, it isn’t the only game in town. There are a number of providers of dedicated forms solutions like:
The good news is that even if you choose to use a forms solution that isn’t in Office 365 you can still integrate it using Power Automate. This means that you can still bring this data into something like SharePoint Lists so that the data can be managed.
In general, I would recommend using a solution outside Office 365 only when:
The main reason for this recommendation is that there is a cost for these other tools and the integration into Office 365 won’t be as “seamless”. In other words, there is value in using a single platform.
After you have gathered the information from the end user, the next step is to do something with this data. Before this might have involved emailing the filled-out form to someone. In Office 365 we can use Power Automate to automate many of the next steps, like:
In the time off request example, we simply notify the approver and requestor at each stage of the process.
One of the big benefits of automating your forms using Office 365 is that you gain access to the data. You can use this data for several purposes.
For each tool, you will store its data in a specific location, which will affect what options you have for reporting and viewing data. I am going to go over some basics of where the data is stored depending on the tool you are using.
Data that is submitted to Microsoft Forms is stored in a custom data repository built on Azure. Microsoft also stores this data to an Excel file located in OneDrive or SharePoint. From this excel file you can use Power BI, Power Automate or other tools to report/view data. If you are looking for more advanced data storage, you can use Power Automate to make a copy of this data in something like a SharePoint list.
SharePoint lists are its own storage location, so all the data is readily available using the SharePoint interface or any number of public API’s. This makes it very convenient to access the data for reporting or other business purposes. On top of the data the user entered you can also store metadata about what has happened to the request after it was submitted. Think: status of the request, when the request was approved, and who approved it.
When you develop a canvas app data storage isn’t automatically defined. It is up to the developer of the application to choose where they want to store the data. With this said, the most common place data would be stored is SharePoint lists. This is because access to SharePoint lists does not require additional licensing, unlike SQL Server, Dataverse, Oracle or other data storage locations.
Once a user has submitted their data you will likely want to review data related to the approval process. This data is stored in the Dataverse associated with the environment where the approval was created. So technically you can access this data and report on it. However, this is not very convenient or customizable. For example, if you have a multiple step approval process getting at and showing the data will be challenging. The other challenge is that connecting to the Dataverse requires a premium license.
I recommend using SharePoint as your data storage in most cases. If you are using Microsoft Forms, you would need to use Power Automate to get that data into SharePoint. I also recommend adding auditing information to the SharePoint site so you can keep track of who did what and when related to the business process regarding the request.
Recreating a form in Office 365 isn’t hard and can really help you improve your business processes. Hopefully the example we used has given you some ideas on how you can use Office 365 in your business.