Halo Service Desk Guides
Documentation to assist with the setup and configuration of the Halo Service Desk platform
Syncing Exchange Calendars using the Microsoft Graph API
Topics Covered in This Guide
- Video on the connection to a signle account which has delegate access to each Agent's calendar and also adding microsoft teams appointments in Halo and syncing them to exchange
- Teams Meeting Appointment Type
- For Connection Type: Use an Azure application with application permissions
- For Connection Type: Each Technician connects to their Exchange account individually
- For Connection Type: Connect to a single account which has delegate access to each Agent's calendar
Teams Meeting
In addition to the above you can also send Teams Meeting invites by checking the below setting on any Appointment Types that this applies to.
For Connection Type: Use an Azure application with application permissions
This option is recommended as it gives permissions to the application (This may be a security issue for the company, so the next connection type may be more suited), which stops the need to have delegate access to every user. This is an application permission.
Azure App Registration
Firstly, you will need to set up an App Registration in Microsoft Azure. This can be done by navigating to the App Registrations tab of Azure and selecting new registration. The only thing you will need to set up here is the access type (single tenant) and name. Once this registration is complete you should keep this window open as you will need to refer back to the App registration when setting up your Calendar Integration.
To get into the new app registration, head to https://portal.azure.com then click into the microsoft entra area:
Then create a new registration
Give the app a name
create a new secret (copy the secret "value" and make sure you store it somewhere safe as it will dissapear after you click off the screen, for security reasons)
API Permissions: remove user.read
Add the following API Permissions:
Calendars.ReadWrite (make sure to grant admin consent)
Add in the following Application (Client) ID, Tenant ID and secret value (NOT the Secret ID) into the corresponding fields in Halo
NB: The secret value will only be available to copy right after creation, once clicking off the screen it can't be copied and is starred out. Make sure to copy the secret and store it somewhere safe.
Add the credentials into the corresponding fields in Halo, and now your appointments will be synced.
Then click *Authorise Application*
Access is to be for all agents calendars, click on the "Enable for All Agents" button
For Connection Type: Connect to a single account which has delegate access to each Agent's calendar
Important Notes:
An Administrator must connect to the single account below. Meeting invites will be sent from the connected account's email address. The azure account used when authorising the application from inside Halo needs to have delegate or "Full Access Permission" to each of the accounts (Mailbox Folder Permission) that you are connecting to for editing/adding appointments.
Azure App Registration
Firstly, you will need to set up an App Registration in Microsoft Azure. This can be done by navigating to the App Registrations tab of Azure and selecting new registration. The only thing you will need to set up here is the access type (single tenant) and name, redirect URI is necessary. Once this registration is complete you should keep this window open as you will need to refer back to the App registration when setting up your Calendar Integration.
To get into the new app registration, head to https://portal.azure.com then click into the microsoft entra area:
Then create a new registration
Give the app a name and a redirect URI i.e. https://*yourhaloinstance.com*/azure/auth, the platform dropdown should be set to "Web"
create a new secret (copy the secret "value" and make sure you store it somewhere safe as it will dissapear after you click off the screen, for security reasons)
API Permissions: remove user.read
Add the following API Permissions:
User.Read.All
Calendars.ReadWrite
Calendars.ReadWrite.Shared
offline_access
(make sure to grant admin consent for all of them)
Add in the following Application (Client) ID, Tenant ID and secret value (NOT the Secret ID) into the corresponding fields in Halo
NB: The secret value will only be available to copy right after creation, once clicking off the screen it can't be copied and is starred out. Make sure to copy the secret and store it somewhere safe.
Add the credentials into the corresponding fields in Halo:
Then click *Authorise Application*
If you receive redirect URI errors, make sure the redirect is set up correctly i..e choose "Web" from the platform dropdown and use the following convention for the uri: https://*yourhaloinstance.com*/azure/auth
If the access is to be for all agents calendars, then click on the "Enable for All Agents" button
For Connection Type: Each Technician Connects to Their Exchange Account Individually
If using the method where each technician connects to their own exchange account, you will need to ask your agents to navigate to the Calendar module and scroll down to find the "Exchange Calendar" section where you can connect or disconnect your account. If this does not show up immediately, you will need to clear your cache and log out and back in.
Common Errors
Description | Cause | Resolution |
When testing which calendars the connected account has access too, an error is given saying "The specified object was not found in the store" | Either the connected account does not have the required level of access to the user’s calendar, or they have only just been granted the correct level of access. Sometimes granting delegate permissions can take up to an hour to take effect. | Ensure the connected account has delegate access to read/edit the user’s calendar. There are multiple ways of doing this, but here is a short guide we've used before. |
Popular Guides
- Asset Import - CSV/XLS/Spreadsheet Method
- Call Management in Halo
- Creating a New Application for API Connections
- Creating Agents and Editing Agent Details
- Departments, Teams and Roles
- Halo Integrator
- Importing Data
- Multiple New Portals with different branding for one customer [Hosted]
- NHServer Deprecation User Guide
- Organisation Basics
- Organising Teams of Agents
- Step-by-Step Configuration Walk Through
- Suppliers