Anyone that has spent any time working with O365 and/or Azure APIs knows that there are thousands and thousands of how-to articles available to read. Those folks also know that most of those articles cover fairly small, easy to consume topics that cover a specific subject matter. However, after some conversations with Vesa Juvonen, it occurred to me that maybe a sample that incorporated many of those different subjects into a single line of business type application that more similarly reproduced an actual scenario might be useful. So, the Help Desk demo was born.
The idea behind the Help Desk is to provide a dashboard that a group of Help Desk Operators could utilize to manage requests from users. A user sends an e-mail to the Operations Help Desk requesting assistance. When the e-mail arrives, it’s displayed on the Help Desk dashboard to let the Operators know that there’s a new pending request. From there, the e-mail can be opened and assigned to an individual Operator, where the e-mail content is automatically converted to a Support Ticket. The Support Tickets are stored in a database. The current Operator’s screen will display the list of active Support Tickets for that particular Operator. Additionally, the dashboard will display the Operations Yammer group feed so that if any of the Operators have questions for the Operations engineers, they have an easy and collaborative place to have those conversations. Finally, any Announcements from the Operations SharePoint site is also displayed on the dashboard so that the Help Desk Operators are all up to date on any current issues.
The Help Desk demo incorporates a few cloud based technologies, including the following:
- Azure Active Directory
- Microsoft Graph (messages, mail folders, and groups)
- SQL Azure
- SharePoint CSOM via Azure AD authentication
The original white board design for the Help Desk looked like this:
And the result when it was all said and done looked like this:
Fairly close, right?
Another point that folks might notice when reading the various online articles is that the vast majority of them are based around the concept of a user authenticating directly against Azure AD and an application operating on the user’s behalf. This is a fantastic approach for some applications. However, for the sake of illustrating the concepts, the Help Desk demo operates completely on app-only permissions.
Since the Help Desk demo is fairly large and involved, the descriptions are broken down into the following parts, largely by technology used.
- The Help Desk demo, Part 1 – Creating the project
- The Help Desk demo, Part 2 – Azure Active Directory
- The Help Desk demo, Part 3 – Authentication
- The Help Desk demo, Part 4 – Microsoft Graph
- The Help Desk demo, Part 5 – SQL Azure
- The Help Desk demo, Part 6 – SharePoint
- The Help Desk demo, Part 7 – Wiring it all up
- The Help Desk demo, Part 8 – Deploying to Azure
The entire source code for the Help Desk demo can be found here https://github.com/OfficeDev/PnP/tree/dev/Solutions/BusinessApps.HelpDesk/, in the Office 365 Dev PnP GitHub repository.