Exchange Connector
The Exchange Connector synchronizes calendar data from Microsoft 365 into Sign. It bridges Microsoft Exchange Online with the Sign platform so that meeting room displays always show current booking information.
How It Works
The connector subscribes to calendar changes through the Microsoft Graph API. When a meeting is created, updated, or cancelled in Outlook, Microsoft sends a webhook notification to the connector. The connector processes the change and pushes the updated event data to the Sign platform, which forwards it to the relevant devices.
Subscriptions
Each room in Sign has a corresponding Graph API subscription monitoring its Exchange mailbox. Subscriptions have expiration times and the connector automatically renews them before they expire. If a subscription fails, the connector recreates it and performs a full resync of that room's calendar.
Data Flow
| Step | What happens |
|---|---|
| 1 | User books a meeting in Outlook |
| 2 | Microsoft Graph sends a webhook notification |
| 3 | Connector validates the notification and fetches the event |
| 4 | Connector normalizes the event into the Sign data model |
| 5 | Sign pushes the update to the room's device via WebSocket |
| 6 | Display refreshes with the updated schedule |
Event Normalization
Exchange events are converted from the Microsoft Graph format into Sign's internal event model. The connector maps subject, organizer, attendees, start/end times, and timezone information. It also tracks Sign specific flags like check in status, ended early, and quick book origin.
Monitoring
The connector exposes Prometheus metrics and includes a Grafana dashboard for monitoring subscription health, sync latency, and error rates.