Integrate your Trainers' schedules with Exchange Calendar

Integrate your Trainers' schedules with Exchange Calendar

On this page:


Download the Exchange module brief:


Please note

accessplanit’s Exchange Calendar integration is an additional, chargeable module. Please speak to your Customer Success Manager to see if this is already included within your accessplanit package or to find out more information!


Related Help Guide Pages

Integrate your Trainers' schedules with Google Calendar

Trainer - View my upcoming Courses on a calendar

What's new: August 2026

What's New: January 2023

Keep your trainers' accessplanit and Outlook calendars in sync

The Exchange Calendar Integration connects your trainers' accessplanit calendars with their Exchange/Outlook calendars.

You can choose to:

  • Send courses and accessplanit unavailability to your trainers' Outlook calendars

  • Receive appointments from trainers' Outlook calendars into accessplanit as unavailability

  • Do both, keeping calendars synchronised in both directions!

This helps your team see trainer availability in accessplanit while giving trainers an easy-access view of their courses and commitments in Outlook.


👋 What do you need to know?

Choose the section that best matches what you’d like to learn:

💼 I'm deciding whether to use it

Find out what the integration does, the benefits for your business and whether it could save your team time.

Is Exchange Calendar Integration right for my business?

👩‍💻 I'm an accessplanit Administrator

Understand what the integration does, how it affects your trainers, and what you need to know to manage it day to day.

How does the integration work?
What will my trainers see?
What will my trainers ask me?

🛠️ I'm the Technical Contact

Find the prerequisites, Exchange/Azure setup, and accessplanit configuration steps you need to get the integration working.

Technical setup
Update to Microsoft Graph (due end September 2026)


Is Exchange Calendar Integration right for my business?

What problem does it solve?

Without an integration, trainers and administrators typically need to manage availability across both accessplanit and Outlook.

For example:

  • Trainers check accessplanit for their upcoming Courses

  • Administrators communicate schedule changes to trainers

  • Trainers manually add personal commitments to accessplanit

  • Administrators cross-check Outlook and accessplanit when scheduling Courses

For each Trainer you work with, these activities can add up to approximately 2 hours of administration each week.

With two-way calendar synchronisation, the integration removes this admin by:

  • Automatically sending allocated Courses to Trainers' Outlook calendars

  • Bringing Trainers' Outlook commitments into accessplanit as unavailable time

  • Reducing scheduling conflicts and double bookings

  • Improving visibility of Trainer availability

  • Reducing manual administration for Trainers and Administrators

  • Keeping schedule changes aligned between the two systems, automatically

We estimate that this represents 100+ hours saved per Trainer annually!

When is it likely to be useful?

Exchange Calendar Integration may be particularly useful to you if:

  • Your Trainers use Outlook as their main calendar

  • Trainers have personal or external commitments that need to be considered when scheduling Courses

  • Administrators currently cross-reference Outlook and accessplanit when assigning Trainers

  • You have a large number of Trainers to manage

  • You want Courses automatically added to your Trainers' familiar calendar environment

When might you not need it?

You may not need the integration if:

  • Trainers manage all of their availability directly in accessplanit

  • Outlook isn't used as a source of Trainer availability

  • Your team has very few Trainers and manual calendar management isn't creating a significant administrative burden


🔄 How does the Exchange Calendar Integration work?

The integration can work in one or both directions.

Direction

What happens

Direction

What happens

In

Appointments from the Trainer's Outlook calendar are brought into accessplanit as 'unavailability'

Out

Courses and accessplanit unavailability are sent to the Trainer's Outlook calendar

Both

Information is synchronised in both directions (In & Out)

None

Calendar synchronisation is turned off for that Trainer

Example: sending a Course to Outlook

Here is how the integration works when a Trainer is assigned to a Course in accessplanit:

  1. A Trainer is assigned to a Course in accessplanit

  2. The Course is automatically added to their Outlook calendar

  3. The Trainer can then see their Course alongside their other Outlook appointments

Example: bringing availability into accessplanit

Here is how the integration works when a Trainer is allocated to an appointment in Outlook:

  1. A Trainer adds a personal appointment to Outlook

  2. The appointment is brought into accessplanit as an ‘Unavailability’

  3. This means administrators can see that the Trainer isn't available without needing the Trainer to manually create an unavailable period in accessplanit


👩‍💻 What will my trainers experience?

Courses appear as calendar appointments in the Trainer's Outlook calendar.

 

Classroom Courses

The appointment includes:

Title
Training: [Course name]

Start and end time
The Course's scheduled start and end time.

Location
The venue name and address, where a venue has been assigned.

Body
The Course name, date range, status, venue details and a link to view more information about the Course.

A classroom course sent to Outlook where there is a venue assigned
A classroom course sent to Outlook where there is a venue assigned
A classroom course sent to Outlook where there is not yet a venue assigned
A classroom course sent to Outlook where there is not yet a venue assigned

 

Webinar Courses

The appointment includes:

Title
Training: [Course name]

Start and end time
The Course's scheduled start and end time.

Location
This is left empty.

Body
The Course name, date range, status, the Trainer's webinar joining details, and a link to view more information about the Course.

 

Cancelled Courses

If a Course is cancelled, the existing calendar appointment is retained but "Cancelled" is added to the beginning of the appointment title.

This makes sure that the trainer is aware that their course has been cancelled.

Cancelled course displayed in Outlook
The details available when viewing a cancelled classroom course

🌍 What happens with time zones?

Courses are displayed in the Trainer's Outlook calendar using the appropriate time based on their Outlook time zone.

For example, if a UK-based Trainer views their Outlook calendar in British Summer Time and is assigned to a Course running in Central European Time at 9:00am, Outlook will display the Course at the corresponding UK time of 8:00am.

 

❓ What will my trainers ask me?

Here are a collection of commonly asked questions from trainer, about the integration:

 

"I deleted a Course from my Outlook calendar. Can I get it back?"

Yes. accessplanit periodically synchronises with Outlook and can recreate Course appointments that have been accidentally deleted.

To trigger a Course to sync again, make a change to the Course, such as changing its label.

 

"Will my personal appointments appear in accessplanit?"

If the Trainer's calendar is configured to sync In or Both, appointments in Outlook can be brought into accessplanit as unavailability.

 

"Can accessplanit see the details of my private appointments?"

Private appointments are included in the synchronisation so that accessplanit can identify that the Trainer is unavailable.

However, the details of the private appointment, such as its name and description, are not passed into accessplanit.

The "Delegate can see my private items" permission on the Exchange setup should remain unchecked for trainers, this is to prevent the integration from overwriting private appointment details in Outlook with the blank values stored in accessplanit.

 

"Why hasn't my Outlook appointment appeared in accessplanit?"

Check that the appointment isn't set to Show As: Free.

Appointments marked as ‘Free’ do not sync into accessplanit.

 

"How often does the calendar update?"

Appointments are synchronised between accessplanit and Outlook every 15 minutes.

Some changes to Courses and unavailability can also trigger a sync when the relevant item is updated.

 

"Can recurring Outlook appointments sync?"

Yes, recurring appointments in Outlook can be sent to the Trainer's accessplanit calendar.

 

"Can I stop the integration for just me?"

Yes, an individual Trainer's calendar synchronisation can be disabled from their Exchange Integration settings by an Admin, by changing the ‘Direction’ to ‘None’.


🛠️ Technical setup

Technical Contact? Start here!

The Exchange Calendar Integration requires configuration by your internal IT team as well as configuration within accessplanit.

In this section:

Before you start

You will need:

  • An Exchange account for your organisation

  • A master Exchange account

  • The master account on the same domain as your Trainers' Exchange accounts

  • Full access for the master account over the Trainers' Exchange accounts

  • The required authentication and API configuration

  • Access to your accessplanit Exchange Integration settings

  • The Exchange email address for each Trainer you want to synchronise

Authentication

The Exchange Calendar Integration needs to authenticate with your organisation's Exchange environment so that accessplanit can read and update calendar information.

The setup you need depends on whether your organisation uses Exchange Online (Microsoft 365) or Exchange Server on-premises.

Which authentication method do I need?

Your Exchange environment

Authentication method

What you need to do

Your Exchange environment

Authentication method

What you need to do

Exchange Online / Microsoft 365

OAuth 2.0

Register the accessplanit application in Microsoft Entra ID (Azure), configure the required permissions and provide the application details in accessplanit.

Exchange Server on-premises

Basic Authentication

Configure the Exchange connection using your organisation's Exchange credentials and connection details.

 

Option 1: Exchange Online / Microsoft 365 (OAuth 2.0)

If your Trainers' mailboxes are hosted in Exchange Online / Microsoft 365, the integration uses OAuth 2.0 to authenticate with Microsoft.

OAuth 2.0 allows accessplanit to authenticate through Microsoft Entra ID rather than requiring you to provide and store a Trainer's Microsoft 365 password. Microsoft recommends OAuth for Exchange Online integrations.

Your Microsoft 365 administrator will need to:

  1. Register the accessplanit application in Microsoft Entra ID (Azure)
    See here for Microsoft’s developer guide for this process: Register the application, please note that you only need to action the linked section of the guide

  2. Configure the required Exchange permissions for the application
    Microsoft’s developer guide for this process: Configure your application only authentication, please note that you only need to action the linked section of the guide

Required Microsoft permissions

For the current Microsoft Graph version of the integration, add:

Microsoft Graph → Application permissions

  • Calendars.ReadWrite (Application - Admin consent is required for this permission)

If you are migrating an existing Exchange Online integration from the older EWS version to Microsoft Graph, remove the previous EWS permissions:

  • EWS.AccessAsUser.All

  • full_access_as_app

Then change the integration Version in accessplanit to Graph.

Why is OAuth 2.0 required?

OAuth 2.0 is Microsoft's modern authentication method for applications connecting to Exchange Online. Microsoft Graph uses application permissions to allow an application to access Exchange data without requiring a user to be actively signed in.

Microsoft Graph also provides more granular permissions than the older EWS model, allowing an application to be granted access specifically to calendar data rather than using EWS's broader access model.

 

🔒 (Optional) Restricting access to a specific group of Trainers

By default, granting the Microsoft Graph application permission Calendars.ReadWrite applies across all mailboxes in your Microsoft 365 tenant.

If your IT security policy requires scoping access strictly to the Trainers being synchronised, your Microsoft 365 / Exchange Administrator can restrict the App Registration using an Exchange Online Application Access Policy

Create a Mail-Enabled Security Group in Microsoft 365 (e.g., accessplanit-Trainers-Sync) and add only the trainers' accounts to this group Connect to Exchange Online PowerShell: Connect-ExchangeOnline Create the Application Access Policy using your registered accessplanit Application (Client) ID and the security group: New-ApplicationAccessPolicy -AppId "<Your-accessplanit-App-ID>" -PolicyScopeGroupId "accessplanit-Trainers-Sync@yourdomain.com" -AccessRight RestrictAccess -Description "Restrict accessplanit integration to sync group only" Test the policy to verify that access is permitted for group members and denied for non-group users: Test-ApplicationAccessPolicy -AppId "<Your-accessplanit-App-ID>" -Identity "trainer.email@yourdomain.com" For more details, see Microsoft's documentation on scoping application permissions.

 

Option 2: Exchange Server on-premises

If your organisation runs Exchange Server on-premises, the integration uses the authentication method supported by your on-premises Exchange environment.

The existing accessplanit configuration supports Basic Authentication for on-premises Exchange.

Important

Basic Authentication should not be confused with Microsoft 365 authentication. Microsoft has already disabled Basic Authentication for Exchange Online, so this option applies to organisations using an on-premises Exchange Server environment.

Your Technical Contact will need to provide the relevant Exchange connection details and credentials when configuring the master Exchange account in accessplanit.

 

1. Set up the master Exchange account

If you do not yet have one, your internal IT team must first create or identify the master Exchange account.

The master account is used to:

  • Read appointments from Trainers' Outlook calendars

  • Create appointments in Trainers' Outlook calendars

The master account must:

  1. Have full access over the Exchange accounts for the Trainers being synchronised

  2. Be on the same domain as the Trainers' Exchange accounts

Access permissions

The access required by the master Exchange account can be managed through Outlook using Delegate Access.

Your internal IT team will need to grant the master account the required permissions over each Trainer's Exchange calendar before the integration can synchronise their calendars.

Top tip!

If you have a large number of Trainers, your IT team may be able to grant the master Exchange account access to multiple Trainer calendars centrally rather than configuring each Trainer individually in Outlook.

In Classic Outlook:

  1. Open Outlook

  2. Select File

  3. Select Account Settings

  4. Select Delegate Access

  5. Select Add and find the master Exchange account that will be used by accessplanit

  6. Select the master account and configure the Delegate Permissions as shown in the screenshot below

In our example, the accessplanit master account is called "ap exchange". Your organisation will have its own master account name, so select the account that your IT team has created for the Exchange Calendar Integration.

image-20260902-100118.png
The settings in Outlook (classic)

In New Outlook:

  1. From the navigation pane, select Calendar

  2. From the Home tab, select Share Calendar

  3. Select the Calendar you’d like to share

  4. In the Sharing and permissions page, type the name / email address of the master account.

image-20260902-100518.png
The settings in Outlook

Private appointments

When configuring Delegate Access in Outlook, leave "Delegate can see my private items" unchecked to prevent accessplanit overwriting the details of these appointments.

Private appointments will still block the Trainer's availability in accessplanit, but their private details will not be shown.

 

2. Configure the master account in accessplanit

In accessplanit, go to:

Profile → Administration → Exchange Integration

If you have multiple Training Providers, select the appropriate Training Provider from the Active Account dropdown.

image-20260902-100942.png

Enter the master Exchange account details into the Exchange Information form.

image-20260902-101124.png
The Exchange Information form
  • If you are using Office 365, use: outlook.office365.com for the Server field.

  • Make sure ‘User Impersonation’ is selected

  • Click ‘Save’ to enable the integration!

accessplanit will check whether the synchronisation has been successful.

If the connection is unsuccessful, accessplanit will provide a log that can help diagnose the problem.

 

3. Configure each Trainer

Once the master account has been successfully configured, configure the Trainers you want to synchronise.

Go to:

Resources → Manage → find the Trainer → right-click → Edit → Exchange Integration

image-20260902-101445.png
The Exchange settings for each trainer

For each Trainer:

  1. Select the Trainer's Exchange account in 'Service'

  2. Check 'Calendar'

  3. Choose the required ‘Direction’

    • In: Outlook → accessplanit

    • Out: accessplanit → Outlook

    • Both: Outlook ↔ accessplanit

  4. Enter the Trainer's Outlook email address (if it isn't already populated)

  5. Click ‘Update’ to apply your changes!

Repeat these steps for each Trainer.

 

4. Make sure your ‘Sync Engine’ is enabled

The Sync Engine must be enabled by accessplanit for automatic calendar synchronisation to take place.

If you're ready to start using the integration, contact the accessplanit Support team to confirm that the Sync Engine is turned on.

Once the Sync Engine is running, Trainers configured with Calendar enabled and a direction of In or Both can have Outlook appointments synchronised into their accessplanit calendars.


Exchange Calendar Integration - upgrade to Microsoft Graph before October 2026

Important: please upgrade before October 2026

Microsoft has announced that Exchange Web Services (EWS) will be retired for Exchange Online on 1 October 2026.

The accessplanit Exchange Calendar Integration has therefore been upgraded to use Microsoft Graph, Microsoft's modern API for Exchange Online.

If you use Exchange Online, we strongly recommend switching your integration to Microsoft Graph before the October 2026 deadline.

On-Premise Exchange

Microsoft Graph only supports OAuth 2.0 authentication. If you are currently using Basic Authentication (on-premise Exchange) this change does not apply to you, your setup remains unchanged for now.

If you are unsure which version you are using, please check your Exchange Integration settings in the Administration menu. If your server contains ‘office 365’ and your Application (client) ID, Directory (tenant) ID, Client Secret are filled in - you are on Exchange Online and need to make the updates.

What is changing?

The functionality of the integration remains the same.

Your Trainers' calendars will continue to synchronise between accessplanit and Outlook.

The change is to the underlying technology used to perform the synchronisation.

 

Existing EWS setup

Microsoft Graph

 

Existing EWS setup

Microsoft Graph

Calendar synchronisation

✓

✓

Sync frequency

Every 15 minutes

Every 15 minutes

Push triggers

Unchanged

Unchanged

Azure App Registration

Required

Required

OAuth 2.0

Required

Required

Master account

Required

Required

Per-Trainer setup

Required

Required

API permissions

EWS permissions

Microsoft Graph permissions

Microsoft Graph: what does IT need to change?

Your IT team needs to update the API permissions on your existing Azure App Registration.

Add

  • Microsoft Graph → Calendars.ReadWrite

  • Type: Application

  • Admin consent: Required

Remove

  • Office 365 Exchange Online → EWS.AccessAsUser.All

  • Office 365 Exchange Online → full_access_as_app

Your existing Client ID, Tenant ID and Client Secret do not change.

Only the API permissions need to be updated.

Once IT has updated the permissions, an Administrator can switch the integration to Microsoft Graph in accessplanit.

Go to:

Administration → Exchange Calendar Integration

Select Graph from the Version dropdown and save.

Important

Switching to ‘Graph’ starts a full resynchronisation of all Trainer calendars using the Exchange Integration. We recommend making this change outside your core office hours.

Once you switch to Graph, you cannot switch back to the previous Exchange version.

Please get in touch with a member of the accessplanit team if you have any questions about this update.


🔄 How do I force a resync?

The ‘Resync’ function forces accessplanit and Exchange calendars to synchronise.

image-20260902-103040.png
The ‘re-sync’ option available when editing a Trainer’s Exchange settings

However, please use this carefully.

A resync:

  • Deletes existing appointments

  • Creates new appointments based on the current schedule

  • Applies to every calendar for every User and Trainer using the Exchange Integration


Contact Our Team

If you can't find what you're looking for, access our Support Portal, and our team of experts will be happy to help!

Follow Us

Facebook|height=20 LinkedIn|height=20 Instagram|height=20 Twitter|height=20

Copyright © 2025 accessplanit.

Social media icons by icons8.com