Connecting Microsoft 365 Exchange to Horizon
Overview
This article walks you through registering a Microsoft 365 app in Azure and entering its credentials in Horizon so that Horizon can read your technicians' Exchange calendar events for scheduling purposes.
Prerequisites
- Global Administrator or Application Administrator access to your Microsoft Azure portal
- A Microsoft 365 tenant with Exchange Online
- Administrator access to Horizon
Steps
Part 1: Register an Application in Azure
- Sign in to the Azure portal.
- Navigate to Azure Active Directory > App registrations and click New registration.
- Enter a name (e.g., Horizon Calendar Integration), leave the default account type, and click Register.
- On the app overview page, copy the Application (client) ID and the Directory (tenant) ID — you will need both.
Part 2: Add API Permissions
- In your app registration, go to API permissions > Add a permission.
- Select Microsoft Graph, then choose Application permissions (not Delegated).
- Search for and add
Calendars.Read. - Click Add permissions.
- Click Grant admin consent for [your organization] and confirm. The status should change to a green checkmark.
Part 3: Create a Client Secret
- In your app registration, go to Certificates & secrets > Client secrets and click New client secret.
- Enter a description (e.g., Horizon) and choose an expiry period.
- Click Add and immediately copy the Value — it is only shown once.
Part 4: Enter Credentials in Horizon
- In Horizon, go to Admin > Calendars > Configuration.
- Click Edit and set the provider to Microsoft 365.
- Enter the Client ID, Client Secret, and Tenant ID from the steps above.
- Click Test Connection to verify, then Save.
Result
Once saved, Horizon will begin syncing your technicians' Exchange calendar events every 15 minutes. These events are used in scheduling to avoid booking conflicts with existing appointments.
Related Articles
Connecting Autotask to Horizon
Overview This article walks you through creating an Autotask API user with webhook access and entering its credentials in the Horizon onboarding wizard. Prerequisites Administrator access to your Autotask account The Horizon onboarding wizard open ...
Connecting Zoho Desk to Horizon
Overview This article walks you through creating a Zoho Desk OAuth application and entering its credentials in the Horizon onboarding wizard. Prerequisites Administrator access to your Zoho Desk account The Horizon onboarding wizard open and on the ...
Connecting ConnectWise Manage to Horizon
Overview This article walks you through creating a ConnectWise Manage API member and entering its credentials in the Horizon onboarding wizard. Prerequisites Administrator access to your ConnectWise Manage account The Horizon onboarding wizard open ...
Connecting Google Workspace Calendar to Horizon
Overview This article walks you through creating a Google Cloud service account with domain-wide delegation and entering its credentials in Horizon so that Horizon can read your technicians' Google Calendar events for scheduling purposes. This ...
How Inbound Webhooks Work in Horizon
What Are Inbound Webhooks? Inbound webhooks let external systems — like your PSA, Zapier, or n8n — send data to Horizon in real time. When something happens in an external tool (a ticket is updated, a form is submitted, a rule fires), that tool sends ...