Creating a Help Desk App with PowerApps
If your business needs a help desk app and you currently have a subscription to Office/Microsoft 365, I’m going to walk you through a simple and free solution to get up and running in minutes. I’ll talk about what requirements are needed for this solution, walk you through a demo of the basic tool, offer customization ideas, and then share links at the end to get it setup.
IMPORTANT ERROR WORKAROUND!!! Downloading the Power Apps package (zip file) from the template gallery may throw an error after importing when trying to edit the app (due to changes in PowerApps sometime after this blog was made). If it does, please use this modified zip file instead which should work without error. You can follow the full instructions here: https://www.bulb.digital/blog/how-to-set-up-a-help-desk-app
This solution uses three different Office 365 apps: Power Apps, Power Automate, and SharePoint. Most Office/Microsoft 365 subscriptions come with these apps, but to double-check, you can go to www.office.com, click on `All Apps` in the lower-left corner, and make sure you can see each app in your list.
In regards to SharePoint permissions, you’ll need the ability to create a list (and also a site if you want your list on its own site) and to grant member status (at the site level) to anyone who will be using the app.
First of all, as you’ll see in these screenshots this app is built for mobile by default, but reconfiguring it for desktop is an option. When you open the app in Power Apps, you’ll get a login screen to choose whether you’re a user or admin (which affects what you see).
If you sign in as a user, you’ll have the ability to create a new ticket with a title, category, priority, and description.
After clicking `Create`, you’ll be taken to a list of all the tickets you’ve previously created.
From here you can edit or delete your tickets, as well as see any changes made by admins to their “status” and “assigned to” fields. Speaking of admins, let’s take a look at the app from their side. While their list of tickets looks very much the same (with the exception being they see all tickets instead of their own), they get a lot more editing power than a user with the ability to update “status”, “percent complete”, and “assigned to” (as well as the fields a user can edit).
As admins and users update tickets, changes will be seen immediately by the other party.
Let’s take a look at the SharePoint list where the ticket data is being stored. It’s pretty basic with columns for each of the properties a ticket has – “title”, “description”, “category”, “percent complete”, etc.
The final component of this app is email notifications triggered by a Power Automate flow. Notifications are sent to admins when a new ticket is created by a user, and to the user when tickets are updated by admins. The email includes basic information about the event, as well as a link to view the ticket info in SharePoint.
The flow that powers these notifications is pretty simple – it triggers from Power Apps when a ticket form is created or edited, finds the data for that ticket in SharePoint, looks at the ticket’s status, and sends an email based on that status. Here’s what the email step looks like for a newly created ticket.
Here are some ideas for easy customizations to make this app fit your exact use case.
When you want to change the data structure, you make the changes in SharePoint, and then they will sync up to Power Apps.
- Add or remove any fields you want to see in your ticket – for example, you might not care about “Priority” and delete that while adding fields for “Department”, “Due date”, and “Tags”.
- Change choice options for your fields – for example, you might want the “Category” field to have the options “Windows Issue”, “Office 365 Issue”, “Need new hardware”, etc.
Power Apps is where the greatest potential lies to customize the user experience to exactly what you want – all the way from how things look to how things function.
- In the screen where you see the list of tickets, you can change how the ticket card looks/what information is displayed on it, as well as add functionality to search, filter, and sort the ticket list
- In the screen where you create/edit a ticket, you can change how each field looks, and can even add new functionality like the ability to have a conversation thread between user and admins instead of both communicating in one description box
- For admins, you can add filters to sort tickets by those assigned to you, status, or priority, as well as add the functionality to assign tickets to multiple admins instead of just one
In Power Automate, you can customize exactly how the email notification experience works.
- You can include more information in the emails like a ticket’s priority, category, and who it’s assigned to
- You can change the link in the email from taking you to the ticket in SharePoint to taking you to the ticket in Power Apps (which seems much handier to me)
- You can also change exactly when/who receives certain emails – for example, it would be nice for an admin to get an email when something is assigned to them
If this solution seems like a good fit to meet your need for a basic help desk ticketing app, it’s worth implementing as it's free with a Microsoft 365 subscription and only takes 15-20 minutes to get up and running. If you’re interested, here are the links to get started.
Check out our full writeup + video for the setup process: https://www.bulb.digital/blog/how-to-set-up-a-help-desk-app
If you have any questions about Power Apps licensing, here’s documentation you can review on that.
If you need help implementing any of my customization ideas or want to explore other ways to make it work exactly right for you, feel free to reach out – we’d love to hear from you.
Lastly, if Power Apps is a new tool to you, I’d encourage you to check out all the amazing templates they offer to get you up and running with simple apps (like the help desk app). There’s possibly one or even several of these things that you currently have a clunky manual or paper trail system for that you could easily streamline with a Power App.