Bidirectional synchronization
The Exchange connector is able to handle both message flows between Dime.Scheduler and Microsoft Exchange. The technology that enables this two-way communication is the Microsoft Graph API, which is the gateway to data and intelligence in Microsoft 365. The Dime.Scheduler Exchange connector uses this technology and applies its own rules and logic to ensure events in the planning board in Dime.Scheduler are kept in sync with events in the Outlook calendars of the resources, and vice versa.
In essence, the Dime.Scheduler Exchange connector is a messenger that takes data from one system and makes sure it is handled appropriately in the other. In this messaging process, data reconciliation is one of the most important components that maps data from one system to the other, effectively connecting two isolated data silos.
Furthermore, business rules are also important to protect the privacy of the resources. For example, resources can decide which types of events can be shared with the planner in Dime.Scheduler. The connector, therefore, is the gateway between Dime.Scheduler and Exchange. Some of these rules include the busy status and the sensitivity of the event in Exchange, and any property of the Dime.Scheduler appointment can also be used to determine whether to send data to peoples' Outlook calendars.
When appointments are modified in the planning board, the Exchange connector does a few things. For starters, it checks if Dime.Scheduler appointments should be synchronized with Exchange for the resource in question. It then checks if the appointment already exists in Microsoft 365 and will create, update or delete that event accordingly in Exchange.
Vice versa, when events are modified in the Outlook calendars, the Exchange connector also orchestrates whether the event should be sent to Dime.Scheduler. It takes into account the resource's preferences such as the show as status and sensitivity. It subsequently will map the Outlook event to an appointment in Dime.Scheduler will create, update or delete that event accordingly in Dime.Scheduler.