Microsoft Exchange On-Premises - Calendar synchronization

  • Release version: Xanadu
  • Updated August 1, 2024
  • 5 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Microsoft Exchange On-Premises - Calendar synchronization

    This capability enables ServiceNow customers to synchronize calendar reservations between the Workplace Reservation Management application and Microsoft Exchange On-Premises calendars. Given that Microsoft Exchange On-Premises is accessible only within an organization's local network, synchronization is facilitated via a MID server installed locally alongside the Exchange server. This setup enables bidirectional reservation synchronization, supporting incremental updates and historical reservation syncs.

    Show full answer Show less

    Key Features

    • Bidirectional synchronization: Reservations made in Workplace Reservation Management can be synchronized to the on-premises Exchange calendar and vice versa using scheduled jobs and synchronization tokens.
    • Use of MID server: Communication with the on-premises Exchange server occurs through a MID server, ensuring secure and localized connectivity.
    • Microsoft EWS calendar processor: A new calendar processor, Microsoft EWS, is integrated in the Workplace Calendar Synchronization application to support on-premises Exchange calendars.
    • Delta synchronization: Incremental changes are retrieved efficiently using synchronization tokens, with configurable parameters like page size, batch size, and sync interval to control request frequency.
    • Scheduled synchronization job: The WSDRS Sync Calendar Items job runs by default every five minutes (disabled initially) to sync calendar changes; it can be enabled, customized, or run manually.
    • Event management: The system creates events for reservation actions such as create, update, delete, and attendee management, reflecting changes in both systems.
    • Strict mode option: Enables reservations to be sent to a general email address rather than directly to employee calendars; employees are invited as attendees and can only modify reservations via the Workplace Reservation Management app.
    • Past reservation synchronization: Supports syncing historical reservations by specifying date ranges with safeguards to limit volume for performance (e.g., not exceeding 1000 past events).
    • No request handling: Allows admins to validate event payloads without sending them to the calendar provider, useful for testing and validation.
    • Multiple connection modes: Supports creation of both normal and strict mode connections, including multiple on-premises calendar providers.

    Practical Implementation Steps

    • Install and configure a MID server in the local environment where Microsoft Exchange On-Premises is hosted.
    • Create connection and credential aliases in ServiceNow to link the MID server with the Exchange calendar provider.
    • Configure Microsoft Exchange On-Premises as a calendar provider, enabling the Microsoft EWS calendar processor.
    • Set up reservable sync configuration records for each resource/calendar to activate synchronization.
    • Enable and schedule the WSDRS Sync Calendar Items job for incremental synchronization.
    • Optionally, configure strict mode with a specified email address to control how invitations are sent and managed.
    • Configure settings for synchronizing past reservations, including date ranges and system properties to manage volume.
    • Use no request handling mode for validating event payloads without affecting live calendars.

    What to Expect

    After configuration, reservations created or updated in either the Workplace Reservation Management application or Microsoft Exchange On-Premises calendar will be synchronized reliably. Incremental changes will be processed efficiently, and historical reservations can be synchronized as needed. The strict mode provides an option to control invitation flows and calendar event creation. Administrators gain tools to validate synchronization payloads before actual API calls occur, enhancing troubleshooting and configuration accuracy.

    Note that the Workplace Reservations for Microsoft Outlook Add-in application does not support Microsoft Exchange On-Premises calendars, so synchronization depends solely on this server-side integration.

    Create a connection with Microsoft Exchange On-Premises and synchronize reservations made using the Workplace Reservation Management application. You can synchronize all the reservations that are made using the Workplace Reservation Management to the On-Premises calendar and vice versa. The reservation synchronization from an On-Premises calendar to the Workplace Reservation Management is performed using various approaches like subscriptions, synchronization tokens, events, and occurrences.

    The Microsoft Exchange On-Premises, unlike other calendar providers, isn’t accessible online. The provider is remote and is accessible only by the organization locally. To synchronize calendar reservations with this on-premise setup, the Workplace Calendar Synchronization application enables you to communicate using the MID server. A MID server is installed in the same local setup where the Microsoft Exchange On-Premises is installed. This way, a communication can be established with the MID server and communicate frequently. To support the on-premises calendar provider, a new calendar processor, Microsoft EWS is supported in the Workplace Calendar Synchronization application.
    1. Connect MID server with ServiceNow®.
    2. Create a connection and credential alias.
    Important:
    The Workplace Reservations for Microsoft Outlook Add-in application does not support Microsoft Exchange On-Premises.

    Synchronization from Workplace Reservation Management to Microsoft Exchange On-Premises

    Synchronize reservations to the on-premises calendar from Workplace Reservation Management by communicating using the MID server.

    Synchronization from Microsoft Exchange On-Premises calendar to Workplace Reservation Management

    The reservation synchronization from the Microsoft Exchange On-Premises calendar to the Reservation portal is done by running a timely scheduled job, WSDRS Sync Calendar items.

    An approach called, Delta synchronization is used by the Workplace Calendar Synchronization application. With Delta synchronization, you retrieve only the incremental changes made on a resource email id of the calendar using a reference point called as synchronization token. That is, for each room (each reservable sync record), linked to the on-premises calendar provider you get the synchronization tokens, which are the reference points to get the update from the calendar in increments.
    • Based on the Page size, Sync batch size and the Sync batch interval, the information is retrieved by the synchronization tokens. For example, if you specified the values as 5, 500, and 60 respectively (in the previous fields). It means that you can raise 500 requests in an interval of 60 seconds. The synchronization results five changes in a page.
    • When you create a reservable sync configuration record under the on-premises calendar, you must ensure that is activated.
    • When the sync record is activated, a flow is triggered and a synchronization token for that reservable synchronization record is created in the Sync Deltas module.
    • The scheduled job, WSDRS Sync Calendar items, is provided with the application to get the latest changes for all the active reservable sync configurations. The scheduled job is set to False by default and it must be enabled to start synchronizing. By default, the scheduled job is set to run for every five minutes. However, you can set the scheduled job time as you want. At any time, you can also manually execute it.
    • The changes made on the reservable sync configurations are created as events in the Events module. The application creates Create, Update, Delete, Read, and Retrieve attendees events for Microsoft Exchange On-Premises calendar.
    • For each sync record, an event is created. Depending on the page size specified on the calendar provider, the changes are displayed. If there are any pending changes, it is displayed during the next scheduled job run.
    • The API that is used to get the synchronization tokens, saves the response in the Response field of the event. The API provides changes made on a single reservation, multi-reservation, and the parent recurring reservation.
    • Using the response created by the API, a reservation is created in the Workplace Reservation Management application.
    • With every scheduled job run, the synchronization token is also updated which is used as the reference point for the next synchronization.

    Strict mode

    The Workplace Calendar Synchronization application enables you to configure your connections and configurations with Microsoft Exchange On-Premises in strict mode as well. In strict mode, events are not directly created in an employee's calendar, instead, they are sent to a general email address. Employees are invited to the event. You can specify a strict mode email id through which you want to sync reservations. Employees can only make changes using the Workplace Reservation Management application.

    To enable strict mode, you can enable the Strict mode option in the while configuring the on-premises calendar provide. The requesters are considered as invitees.

    Synchronizing past reservations

    The Workplace Calendar Synchronization enables you to also synchronize reservations made in the past. You can specify the date and time range in the Sync start date time and Sync end date time fields. For the on-premises calendar, the following conditions must be met to sync past reservations:
    • The calendar provider that is the Microsoft Exchange On-Premises calendar provider that you configured must be active.
    • The Synchronize past reservations field must be selected.
    • The reservable sync configuration for which you want to sync past reservations must be active.
    Note:
    Ensure that the reservations that you want to sync from the past are not above 1000. If in cases the expected number of past events are more than 1000, it is recommended to modify the system property sn_wsd_rsvsync.ewsPastSyncPeriodInMonths. Specify the value in months keeping in mind the expected past reservations. A single sync syncs reservations from those many months. Ensure that the specified number of months do not have more than 1000 reservations per room/resource.

    'No request' handling

    No request is a mechanism to validate the generated syntax of the payload of an event created for the calendar. But, instead of sending the event to the calendar provider, it is only created. The admin can validate the payload content of the event (JSON) to ensure that is generated as expected. 'No request' ensures that the application does not make any API calls to the calendar provider when you create, update, or cancel a reservation in the Workplace Reservation Management application.