How calendar synchronisation works
UnSpot keeps bookings and calendar events in the same state: a meeting room booking shows up as a meeting in the room calendar, and a meeting created in the calendar shows up as a booking in UnSpot. This article describes the general rules of that exchange — they are the same for Microsoft 365, on-premise Exchange and Google Workspace. What differs between providers is covered in the articles about each of them.
Glossary: calendars, bookings, events, organisers
Throughout the text these words mean strictly the following.
| Term | What it is |
|---|---|
| Meeting room calendar | the calendar of a resource — the room mailbox — attached to a meeting room in UnSpot. Meeting room bookings are exchanged through it |
| Personal calendar | an employee’s work or personal calendar attached to their UnSpot profile |
| Default calendar | one of the employee’s personal calendars marked as the main one: it is pre-selected when the employee creates an event in their own calendar from UnSpot by hand |
| Booking | an UnSpot record that a resource is taken: a meeting room, a desk, a parking place |
| Event | a meeting in the provider’s calendar. An event and a booking are different things: an event can exist without a booking, and a meeting room can be booked without creating an event |
| Single and recurring event | an event without repetitions and an event with a set recurrence. A recurring event is synchronised as a series, not occurrence by occurrence; its bookings are created for a limited stretch — see Synchronisation horizons |
| Event organiser | whoever created the meeting in the calendar |
| Booking organiser | whoever created the booking — in the calendar or anywhere in UnSpot |
A calendar can be connected to one meeting room only, and a meeting room can have one calendar only. Where this is configured:

The two directions of the exchange
- From UnSpot to the calendar. A meeting room booking creates a meeting in the room calendar. Editing and deleting the booking go the same way. A meeting room booking is not copied into the organiser’s personal calendar — personal calendars are synchronised separately, by their own setting.
- From the calendar to UnSpot. A meeting created directly in the room calendar — in Outlook, for example — becomes a booking in UnSpot. Changing and deleting such a meeting changes and deletes the booking as well.
The exchange is event-driven rather than scheduled: the provider notifies UnSpot about changes, and UnSpot asks only for what has changed. Only two background jobs run on a schedule — renewing notification subscriptions and extending recurring series. The notification mechanics differ between providers: subscription lifetimes, delays and recovery paths are described in the provider articles.
What travels from a booking to an event
| Booking field | Where it lands | Caveats |
|---|---|---|
| Start and end | event time | in the office time zone; if it is not set, the company one |
| Booking title | event subject | — |
| Meeting link and comment | event body | joined into one text: the link first, then the comment |
| Attendees | event attendees | passed as email addresses |
| Private booking flag | event sensitivity | a private booking makes the event private |
| Recurrence | recurrence pattern | carried over when the booking is created |
When a booking is edited, less reaches the calendar than on creation — and what exactly reaches it depends on the provider. The general rule: the time and the subject are updated by every provider, while the body and the recurrence pattern are sent by none. The exact list is in the article about your provider.
What arrives from an event into a booking
| Event field | What it becomes in UnSpot | Caveats |
|---|---|---|
| Subject | booking title | an empty subject makes the booking Engaged |
| Start and end | booking time | — |
| Organiser | booking organiser | — |
| Sensitivity | private booking flag | anything other than the regular level makes the booking private. If the event carries no sensitivity, the privacy setting of the meeting room itself is used |
| Attendees | booking attendees | — |
| Recurrence pattern | recurring booking | the series is processed, not a single occurrence; an edit to one occurrence arrives at the next sync of the series |
| Meeting cancellation | the booking is deleted | — |
What does not travel
- The meeting location. The meeting room in UnSpot is determined by the calendar the event landed in, not by the text in the location field.
- The all-day flag — an all-day event becomes a booking with a specific start and end time.
- The event body from the calendar. The meeting text is not copied into the booking description. In the other direction the body does travel: the booking comment and the meeting link land in the event body.
- Categories, the online meeting flag, the free/busy status (Busy, Tentative and the rest).
- Attachments and formatting — the body is carried over as plain text.
Synchronisation horizons
Synchronisation does not work over an unlimited stretch of time. An event or a booking outside these windows is left untouched — and that is the most common reason behind the question “why was this not synchronised?”.
| What is limited | Window | What it means in practice |
|---|---|---|
| First load of events after a calendar is connected | Microsoft 365 — seven months back to six months ahead; Google — from 30 days back; on-premise Exchange — the whole calendar, but events that have already finished are dropped | events outside the window never reach UnSpot, not even after a re-sync |
| Occurrences of a recurring series | roughly a month back to a year ahead | an endless series always has bookings for about a year ahead; the chain is extended further by a background job |
| Cleanup of bookings whose calendar event is gone | the calendar is read for a stretch of roughly yesterday to three months ahead | a meeting deleted in the calendar more than three months out will not remove the booking in UnSpot — delete it by hand |
| Edits to past meetings | — | UnSpot does not allow bookings in the past to be changed, so edits to past meetings never arrive from the calendar |
Overlaps and conflicts
- The calendar is busy at that time. If the room calendar already holds a meeting for that slot when the booking is created, the booking is deleted, the organiser gets a cancellation notice and the calendar is re-synced. Whatever is already in the calendar wins.
- The event could not be created in the calendar. The booking is deleted and the organiser gets a cancellation notice.
- An event in the past. A booking is not created from a past event if it overlaps other bookings.
- A finished booking is never updated — a calendar change does not affect it. But if the meeting is cancelled, the booking is deleted even if it has already passed. A booking that is currently running is updated like any other.
- The UnSpot interface does not allow creating or changing bookings in the past, while a calendar provider usually does allow past meetings to be edited. That is why edits to past meetings in the calendar never reach UnSpot.
Checking both directions
Synchronisation consists of two independent directions, and usually only one of them breaks. Check both, one after the other, on any meeting room with a connected calendar:
- From UnSpot to the calendar. Create a test booking for the meeting room in UnSpot and open that room calendar. The meeting should appear at once.
- From the calendar to UnSpot. Create a meeting with that room directly in the calendar and refresh the booking list in UnSpot. The booking should appear within a few seconds.
How to read the result: both steps work — synchronisation is healthy. Only the first one works — the incoming direction has stopped: the notification subscription has expired or the server cannot reach UnSpot. A manual re-sync helps once; reconnecting the calendar restores the subscription. The first one does not work — this is an access problem: check the signs of breakage below and the connection credentials.
Manual re-sync and signs of breakage
The room calendar window has a Start Sync button: it reads the calendar again and brings the bookings in line with it. The button is available while the calendar is considered healthy, and after a run it is blocked for an hour — the time of the next possible run is shown next to it. The re-sync is performed by the Super Administrator: the button is visible to the Offices administrator as well, but the request will be refused on permissions.
Signs that access to the calendar has been lost. They do not appear for every connection option: UnSpot never marks an on-premise Exchange calendar as invalid, and there a loss of access shows only as events no longer arriving.
- the meeting room in the workspace tree is marked Calendar is not available, with the hint that there is no access to the calendar and it has to be reconnected;
- the room calendar window shows a Reconnect button instead of Start Sync;
- for providers configured with a connection, the connection card is marked Connection Error.
Where the mark does appear, it is cleared automatically after a successful synchronisation — the calendar does not have to be switched back on by hand.
Which providers are supported
| Provider | Connection options | Where to start |
|---|---|---|
| Microsoft 365 and on-premise Exchange | four | Microsoft calendar synchronisation: choosing an option |
| Google Workspace | one | Connect a Google Workspace calendar to a meeting room |
An overview of every way to connect a meeting room calendar, including the rollout order, is in Meeting room calendar: connection options overview.