Exchange-App

The Exchange App synchronizes Eliona asset bookings with Microsoft Exchange servers.

Exchange-App

Eliona App for Microsoft Exchange Booking Integration

Create a room list in Exchange, make these rooms available as bookable assets in Eliona, and allow users to book the rooms directly via Eliona.

Configuration of Exchange Web Services (EWS)

Follow these steps for Exchange Online and hybrid installations where user emails are stored in Exchange Online. For the local installation of the Exchange server or a hybrid configuration with local primary accounts, skip this chapter and only get the NTLM credentials and the EWS API URL.

Please note that EWS for Exchange Online will be discontinued on October 1, 2026. This does not affect local Exchange servers and hybrid configurations. More details on the discontinuation can be found in the Exchange Team Blogarrow-up-right.

Registering the application in Microsoft Entra

To configure EWS with the Exchange App, follow the steps below to register it in Microsoft Entra.

1. Application registration

Navigate to Entra and select App registrations, then select Register an application. You must enter the application details.

2. Permission configuration

Application Authentication (Impersonation)

For application authentication that supports impersonation:

  • Go to API permissions.

  • Add the full_access_as_app permission and grant admin consent.

Here is an example of the required configuration in the application manifest:

3. Generating secrets for authentication

To authenticate the application:

  • Navigate to Certificates & secrets in Entra.

  • Select New client secret.

  • Save the generated secret securely, as it is needed to authenticate the application with Microsoft services.

Impersonation configuration via PowerShell

To configure impersonation and other settings that are not available in the Entra portal, you must use PowerShell. Please note that an online PowerShell console is not available without a subscription. Local PowerShell installations on Windows, Linux, or macOS can manage these configurations:

  • Make sure that the necessary PowerShell modules for managing Exchange are installed.

  • Use scripts to configure impersonation rights or other Exchange-specific settings.

PowerShell scripts for impersonation configuration

  1. Establish a connection to Exchange Online PowerShell:

  1. Assign impersonation rights:

  1. Check impersonation rights:

Replace serviceAccount with the name of your service account or user who will perform the impersonation.

Disconnecting the PowerShell session

Remember to close the PowerShell session once your configuration tasks are complete:

Installation

The Exchange App is installed via the App Store in Eliona.

Assets

The Exchange App automatically creates all rooms in the configured room list. Once the room has been created in Eliona, it remains there even if it is removed from the room list (but bookings are no longer synchronized). A room can be renamed or deleted independently in Eliona. Whenever a new room is added to the room list, it is created in Eliona.

Configuration

The Exchange App is configured by defining one or more authentication credentials:

Attribute
Description

clientID

ClientID received in the Entra Admin Center. (Only for OAuth authentication)

clientSecret

ClientSecret received in the Entra Admin Center. (Only for OAuth authentication)

tenantID

ID of the Exchange Online organization (Only for OAuth authentication)

ewsURL

URL of the EWS API (only for NTLM authentication)

username

NTLM username (only for NTLM authentication)

password

NTLM password (only for NTLM authentication)

serviceUserUPN

Email address of the service user (for querying rooms, creating anonymous bookings, ...)

roomListUPN

Email of the room list that contains the rooms to be synchronized. CAC is deactivated if it remains empty.

bookingAppURL

URL of the booking app. Use the one from the example below.

enable

Flag to activate or deactivate the retrieval of this configuration.

refreshInterval

Interval in seconds for room detection.

requestTimeout

API query timeout in seconds

projectIDs

List of Eliona project IDs for which this app should collect data. All assets are automatically created in Eliona for each project ID.

The configuration is done via a corresponding JSON structure. As an example, the following JSON structure can be used to define an endpoint for app permissions:

Configurations can be created using this structure in Eliona under Apps > Exchange app > Settings. To do this, select the /configs endpoint with the POST method.

After the configuration is complete, the app starts continuous asset creation. When all recognized rooms have been created, the user is informed about it in the Eliona notification system.

Booking Synchronization

If the Exchange app and the Booking app are properly configured, bookings are synchronized in both directions between the Exchange server and Eliona. The bookings in Eliona must be made on the assets created by continuous asset creation. Changes and cancellations from either the Exchange server or Eliona are also synchronized with the other service.

If an error occurs during synchronization from Eliona to Exchange (typically if the room does not accept the invitation), the user is informed about the problem via Eliona notifications, and the booking in Eliona is canceled.

If the booking is made by a user without an Exchange account (or an ad-hoc booking), the booking is made by the service user.

Booking Time

When creating or deleting a booking from Eliona, the booking becomes visible in Outlook within a few seconds. Changes in Outlook are synchronized with Eliona every refreshInterval seconds.

Recurring Events

Recurring events can be created in Outlook. All occurrences are forwarded to and synchronized with Eliona. Users in Eliona can cancel specific occurrences.

Please note that there is a limit on how far in advance resources can be booked. The limit can be configured in the Exchange administration for the resources.

Booking Multiple Assets

While the booking frontend does not allow you to book multiple assets at the same time, Outlook does. The app synchronizes the multiple booking in Eliona, and the event can be changed or canceled.

Last updated