Integrate your Trainers' schedules with Exchange Calendar
On this page:
- 1 👋 What do you need to know?
- 2 Is Exchange Calendar Integration right for my business?
- 3 🔄 How does the Exchange Calendar Integration work?
- 4 👩💻 What will my trainers experience?
- 5 🛠️ Technical setup
- 6 Exchange Calendar Integration - upgrade to Microsoft Graph before October 2026
- 7 🔄 How do I force a resync?
- 8 📝 When will a Course update sync to Outlook?
- 9 📅 What happens when an Outlook appointment changes?
- 10 Frequently asked questions
- 11 🆘 Something isn't working?
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
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 |
|---|---|
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:
A Trainer is assigned to a Course in accessplanit
The Course is automatically added to their Outlook calendar
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:
A Trainer adds a personal appointment to Outlook
The appointment is brought into accessplanit as an ‘Unavailability’
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:
TitleTraining: [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.
Webinar Courses
The appointment includes:
TitleTraining: [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.
🌍 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 |
|---|---|---|
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:
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 guideConfigure 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.Allfull_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
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:
Have full access over the Exchange accounts for the Trainers being synchronised
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:
Open Outlook
Select File
Select Account Settings
Select Delegate Access
Select Add and find the master Exchange account that will be used by accessplanit
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.
In New Outlook:
From the navigation pane, select Calendar
From the Home tab, select Share Calendar
Select the Calendar you’d like to share
In the Sharing and permissions page, type the name / email address of the master account.
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.
Enter the master Exchange account details into the Exchange Information form.
If you are using Office 365, use:
outlook.office365.comfor 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
For each Trainer:
Select the Trainer's Exchange account in 'Service'
Check 'Calendar'
Choose the required ‘Direction’
In: Outlook → accessplanit
Out: accessplanit → Outlook
Both: Outlook ↔ accessplanit
Enter the Trainer's Outlook email address (if it isn't already populated)
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 |
|---|---|---|
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.
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