Connecting Microsoft 365 Exchange to Horizon

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

  1. Sign in to the Azure portal.
  2. Navigate to Azure Active Directory > App registrations and click New registration.
  3. Enter a name (e.g., Horizon Calendar Integration), leave the default account type, and click Register.
  4. On the app overview page, copy the Application (client) ID and the Directory (tenant) ID — you will need both.

Part 2: Add API Permissions

  1. In your app registration, go to API permissions > Add a permission.
  2. Select Microsoft Graph, then choose Application permissions (not Delegated).
  3. Search for and add User.Read.All and Calendars.Read
  4. Click Add permissions.
  5. Click Grant admin consent for [your organization] and confirm. The status should change to a green checkmark.

Part 3: Create a Client Secret

  1. In your app registration, go to Certificates & secrets > Client secrets and click New client secret.
  2. Enter a description (e.g., Horizon) and choose an expiry period.
  3. Click Add and immediately copy the Value — it is only shown once.
    Confusingly, in the Azure App Registration, the actual "secret" is known as Value and is not the same as Secret ID. Secret ID is not relevant.

Part 4: Enter Credentials in Horizon

  1. In Horizon, go to Admin > Calendars > Configuration.
  2. Click Edit and set the provider to Microsoft 365.
  3. Enter the Application (Client) ID, Client Secret, and Directory (Tenant) ID from the steps above.
  4. 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 ...
    • Adding Horizon ConnectWise Widgets

      Overview This article walks you through setting up the Horizon widgets in ConnectWise Manage: the Menu Link Dashboard (full Horizon panel in the sidebar) and the Ticket POD (inline ticket insights on Service Ticket pages). Prerequisites An active ...
    • Adding Horizon Autotask Widgets

      Overview This article walks you through registering and configuring the Horizon widgets in Autotask, including the Ticket Insight panel and the full-screen Dashboard Widget. Prerequisites An active Autotask helpdesk integration configured in Horizon ...
    • 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 ...