In this article, we'll explain how Kallidus Learn's Exchange Connector streamlines event management by enabling seamless, bi-directional integration between the Learn LMS and Microsoft Exchange.
This powerful connection ensures calendar invitations are automatically sent and kept up to date, while also capturing attendee responses directly from Outlook. As a result, learner attendance statuses are updated in real time within Learn, eliminating the need for manual tracking by LMS or Event Administrators.
By automating calendar syncing and response tracking, the Exchange Connector saves time, reduces administrative overhead, and minimizes the risk of errors. This article provides an overview of the Exchange Connector’s capabilities, including how bi-directional updates work.
Key benefits include:
Automated event syncing between Kallidus Learn and Microsoft Exchange
Accurate and up-to-date schedules for learners
Reduced administrative effort and minimized scheduling errors
Learners can cancel their place in Learn automatically by declining the Outlook invitation (without logging into Kallidus and declining/cancelling in two systems)*
Fewer unknown no-shows for instructor-led training sessions
*The attendee list in Learn will be automatically updated with the status 'Cancelled' for the User
Example Event booking confirmations
With Exchange switched off:
With Exchange switched on:
How the Exchange integration operates
The Exchange integration operates in two key parts:
Learn → Exchange: Kallidus uses Exchange Web Services (EWS) with a service account to create an appointment in the service account’s calendar and send invites to attendees.
Exchange Connector → Learn: The Kallidus Exchange connector connects to the mailbox via EWS, monitors responses to invites, and updates the attendee status in Learn accordingly.
Key considerations for using the Exchange connector
IT Support Required: Setup requires a Service Account with an Exchange User Mailbox licence, along with configuration in Microsoft Exchange and Microsoft Entra ID (Azure AD).
Outlook Integration: The integration is explicitly designed for Outlook and may not function as expected with personal email services or non-Outlook mail clients.
No Retroactive Application: The integration applies only to new events created after the initial connection.
User Emails: The integration overrides the ‘Process but do not Send’ email setting.
Response Handling: Learn updates the attendee status only if the response is shared in Outlook. (e.g. Accept and Send the Response Now.) Learners who Decline the meeting invitation are immediately marked as 'Cancelled'. Learners who reply as ‘Tentative’ remain booked onto the Event.
Exchange versions supported
Kallidus supports the following versions of Microsoft Exchange:
Exchange 2013 (+SP1)
Exchange 2016
Exchange Online (Office 365)
Steps to enable the Kallidus Exchange Connector
Four key steps must be followed to configure the Connector:
The Exchange connector requires a Service Account on the Microsoft Exchange system with the following configuration:
A mail-enabled account with an Exchange mailbox.
A non-expiring password to ensure uninterrupted service.
An appropriate display name and email address. (Both will be visible on calendar invites sent to users.)
No enhanced permissions are required. (To avoid integration issues, this mailbox should be used exclusively for the connector and not for other purposes.)
The service account mailbox must be configured with the following automatic processing settings:
Automatically place new meeting requests on the calendar as Tentative.
Delete meeting requests and updated responses.
Automatically process requests and responses from external senders.
Only one user account needs to be set up as the service account. You might use a format such as: ServiceAccount@<yourdomain>.com. The provided credentials and permissions apply only to this specific mailbox, ensuring controlled access.
Complete Authentication
The Exchange connector connects to your Exchange server using Exchange Web Services (EWS). EWS must be accessible from the Internet over an SSL connection (HTTPS) on Port 443. EWS must be configured to use:
Basic Authentication for Exchange 2013 and Exchange 2016
OAuth 2.0 for Exchange Online (Office 365)
For Microsoft Exchange Online (Office 365), OAuth 2.0 is the required authentication type. Open Authorization 2.0 is an authorization protocol that allows third-party applications to access a user's resources on a server securely using tokens.
To set up OAuth 2.0, your IT team must register the Learn application in Microsoft Entra ID and provide the following additional details: Client ID, Client Secret, and Tenant ID.
Register the Learn application in Microsoft Entra ID (For Exchange online)
Step 1: Create an App Registration
Go to Microsoft Entra ID: Log in to your Azure portal and open Microsoft Entra ID.
Create an App Registration:
Click on Manage then App Registrations in the menu on the left.
Select New Registration.
Enter a unique name for the Kallidus integration, then select Register.
Note down important IDs:
Once the app registration is created from the Overview page, write down the Application (client) ID and Directory (tenant) ID. You’ll need these for the integration later.
Step 2: Update the App Manifest
Open the Manifest:
In your app registration, find Manage, and click Manifest in the left-hand menu.
Update Permissions:
Look for the section called requiredResourceAccess.
Confirm the permission full_access_as_app has been added.
Grant Admin Consent:
Click on Grant admin consent for {your domain} to finalise the permissions:
Step 4: Create a Client Secret
Go to Certificates & Secrets:
In the app registration, click on Certificates & Secrets in the left-hand menu.
Create a New Client Secret:
Click New Client Secret.
Choose how long the secret should last (Shorter expiration means you’ll need to update it more often).
Click Add.
Copy the Secret Value:
A secret value will be generated. Copy it immediately! (You won’t be able to see it again.)
Make note of the Application ID, Directory ID, and Client Secret Value you saved earlier to complete the Exchange integration within Kallidus Learn.
Configure Exchange settings in Learn LMS
Overview of settings in Learn LMS:
LMS Administrators can switch on the Exchange Connector functionality by going to Admin > Settings > Email. Complete the required fields for your chosen Exchange version. Test Connection, and Submit at the bottom of the screen.
Kallidus Exchange Online (Office 365) example:
Information required for Exchange Online:
Exchange URL
https://outlook.office365.com/EWS/Exchange.asmx
Exchange version
Exchange Online (Office 365)
Authentication type
OAuth2 (recommended)
Event organiser email address
This will be the user assigned to the mailbox that will contain all events created within Learn.
Client id
Should be the Application (client) ID that you previously noted down – This can be retrieved from the Overview page of the app registration created.
Client secret
This will be the secret created against the app registration that was noted down.
Authority base url
https://login.microsoftonline.com/
Tenant id
This will equate to the Directory (tenant) ID that was previously noted down - This can be retrieved from the Overview page of the app registration created.
User agent
Leave blank
Set up mailbox monitoring service
Kallidus will automatically install and run a service that will monitor the mailbox configured and process responses to the Events in Learn. After processing the meeting responses, the mailbox monitor deletes the item from the Inbox.
Troubleshooting tips
When submitting my credentials within Learn, I receive an error message stating that the credentials could not be saved?
These messages are normally displayed when there’s an issue with Learn attempting to connect to the configured Exchange server. A quick thing to check would be to ensure that the credentials provided are correct (For example, the Client Secret has been copied correctly from Azure, and it isn’t the client secret Id instead). If, after the brief check above has been completed, the error messages remain upon submission, then please raise a support ticket through the usual channels with relevant information to help us identify the problem.
The required permissions seem a bit excessive to me. Are there any alternatives that can be used instead?
We use the EWS API to communicate fully using Exchange Integration within Learn. For Learn to communicate with Office365 instances, we require the use of the ‘full_access_as_app` permission to communicate with the account specified in the integration configuration only.
Due to our usage of EWS API, we are severely limited regarding the permissions we can request for a specific mailbox. To ensure that Learn will only access the required mailbox, you can implement a solution to restrict the configured app registration to only communicate with a chosen mailbox.
This mailbox would have to be linked to the email address specified within the `Event organiser email address` box in Learn settings. For more information on how this can be implemented, please read the information provided by Microsoft via this link.
Further useful information
Timing the switch-on of the Exchange connector
Any events that exist in the system prior to setting up the Exchange connector will not use the Exchange connector. Therefore, it is essential to create all of your new training events after completing your Exchange integration so that all events are synchronised with Exchange.
Time zones and use of UTC
Coordinated Universal Time (UTC) UTC is the Universal Clock used to synchronize clocks all over the world. It is the most accurate time setting as it is based on International Atomic Time. As a result, UTC is a default setting in Exchange that Kallidus has no control over. This is a Microsoft setting managed by the Exchange server.
You will see UTC appear in all calendar invites when exchange is integrated with LMS/Learn. This will appear alongside local time for outlook. So, for example, if you have an event on the 22nd July 2025 at 10:00 am in the UK, this will appear as follows:
UTC : 22nd July 2025 09:00 AM – 11:30AM
BST: 22nd July 2025 10:00 AM – 12:30 AM
System Emails
Some Kallidus emails do not use the Exchange connector. For these emails, you may wish to set up your Event organiser Email address to match the “From” email address you intend to use for the LMS. If not, Exchange integration emails will come from a separate email address, which can be confusing for your learners.
Testing Exchange Web Services (EWS)
EWS is fundamental to the Kallidus Exchange connector and needs to be configured as described in the compatibility section. For further advice on how to configure EWS please refer to Microsoft documentation online. Please note that, unfortunately, Kallidus cannot provide guidance on specific configuration settings of EWS.
You can check EWS is responding by using free tools such as EWSEditor.
Need help? If you need help with any of these changes please don’t hesitate to contact us.
If I cancel an event in Learn (delete the event) and have Exchange integration enabled, will learners’ calendar events be cancelled?
Yes. When you delete an event in Learn, the corresponding calendar event in Outlook is also cancelled. Learners receive a new notification informing them of the cancellation and providing an option to remove the event from their calendar.
If I change the time or date of an event in Learn and have Exchange integration enabled, will learners’ calendar appointments be updated?
Changing the time: If you update the time of an existing event and click Save, Learn triggers an updated Outlook invite, which replaces the previous one in learners’ calendars.
Changing the date: If you change the date, you must create a new event and delete the old one. Learn handles notifications as follows:
First notification: When a second date is added to the event schedule, Learn sends a notification advising that the event now spans two dates (the original and the new date).
Second notification: When the original date is removed, Learn sends another update confirming the event is now scheduled for the new date only. This update replaces the previous calendar invite.
If learners decline a calendar invitation but I have disabled their ability to cancel events in Learn, will they still be removed from the event?
Yes. Declining the Outlook calendar invitation overrides the setting in Learn and removes the learner from the event. If you want to prevent learners from cancelling events, you may need to weigh this against the benefits of Exchange integration.