Sync appointments bidirectionally with Exchange
Two-way sync between Dime.Scheduler and resource Outlook calendars. Plan in either system; the other follows. The rule engine decides what flows in which direction so personal calendar items don't pollute the planning board.
Before you start
This is the longest recipe in the book, and most of the time goes on the Microsoft side rather than on Dime.Scheduler. The connector runs on Microsoft Graph, which means an Entra ID app registration with the right permissions and consent. Line that up with whoever owns your tenant before you begin, because it is the step most likely to stall waiting on somebody else.
Know the default before you configure anything: every appointment assigned to a synced resource ends up in that person's Outlook calendar. That is rarely what anyone wants. Temporary appointments and placeholders add no value in a calendar and clutter it. The rule engine in step 5 is what narrows it, so treat that step as required rather than optional.
1. Understand the two directions
The Exchange connector is genuinely bidirectional, and it is two mechanisms rather than one:
- Outbound: something listens for planning board changes and pushes them into Outlook.
- Inbound: Microsoft notifies the connector when a calendar changes, and the connector adjusts the planning to match.
They fail independently. When one direction works and the other does not, this is the split to reason about.
2. Register the Entra ID app
Registering the app is how your tenant decides exactly which permissions an external application gets. Everything downstream depends on it, and a permissions gap here surfaces much later as a sync that silently does nothing.
3. Install and configure the connector
Follow installation and configuration.
4. Map calendars to resources
Resources manage their own Exchange preferences. When a resource is added to the connector, either by an administrator or by the scheduled resource sync job, the system creates a user account for that resource.
There are two account types, administrator and resource, and a resource account can only touch its own preferences. Resources control whether calendar events sync back to Dime.Scheduler, and can scope that by busy status (the "Show as" field in Outlook) and sensitivity (the "Private" toggle).
Administrators can always override these from the connector's resources page, which is the thing to check when one person's calendar behaves differently from everyone else's.
5. Tune the rule engine
The rule engine decides which appointments are allowed through to Outlook. Rules take effect immediately when changed, with no recompile.
Two ways to author them. The visual workflow builder is drag-and-drop with conditional branches and a real-time preview of which appointments would sync. The underlying rule syntax gives you access to the entire data graph, so you can filter on the appointment, the planning lines, the service order, and customer data. Both views produce the same definitions and you can move between them.
Start restrictive. It is far easier to widen a rule after planners ask for more than to explain why private calendars filled with placeholder appointments.
6. Verify both directions separately
Test outbound and inbound as two separate exercises, because passing one says nothing about the other:
- Plan an appointment in Dime.Scheduler and confirm it appears in the resource's Outlook calendar.
- Change something in Outlook and confirm the planning follows.
Then test an appointment your rules should exclude and confirm it does not reach Outlook. A rule engine that passes everything looks identical to a correctly configured one until the day it does not.
See bidirectional sync for the full behavior.
If something does not arrive
The Exchange logs and the Exchange tab of the errors page are the two places to look. Deltas explains how the connector tracks what changed, which is usually the missing piece when a sync appears to skip an appointment.
Related
- Connect Business Central for the back-office side.
- Categories to keep board colors aligned with Outlook categories.