Employee calendars

Overview
This page links one Google calendar per employee and synchronises in both directions. Approved absences therefore appear in the personal calendar without anybody entering them twice.
The benefit is not convenience but reliability: somebody who only sees an absence in the system will still schedule against it — the calendar is the tool people actually look at.
Two-way synchronisation means changes flow both ways. That is powerful and demands care — what is deleted in the calendar does not automatically stay without consequence.
Core tasks
Link a calendar. A calendar is assigned per employee. Access runs through a previously configured integration; without one there is no connection.
Check the state. The list shows the synchronisation state per link.
Fields in detail
The What it does column answers what changes in the system — not what the field is called. The grey name behind the label is the API field: the same thing runs under that name through automation, import and AI tools.
Connecting a calendar
| Field | Required | Values / format | What it does |
|---|---|---|---|
Employee employeeUlid | yes | an employee | Whose calendar is connected. Exactly one connection per person and calendar. |
Calendar calendarId | yes | identifier at the provider | Which calendar at the provider is meant. With Google usually the calendar's mail address, not the account's. |
Write appointments out syncOutbound | no | yes/no | Whether appointments from Octibiz appear in the foreign calendar. That way the person sees their commitments where they look anyway. |
Read appointments in syncInbound | no | yes/no | Whether appointments from the foreign calendar block the person's time here. This is the switch that prevents double bookings — without it Octibiz plans straight over foreign appointments. |
Access key refreshToken | yes on a new connection | text | The key Octibiz signs in to the provider with. Stored encrypted and never shown again; entering it anew replaces it. If it expires, the connection visibly rests instead of quietly doing nothing. |
Active active | no | yes/no | Off stops the sync without deleting the connection. |
Settings & permissions
- Module
module.hr. - Permission
hr.calendar.manage. - Access to Google comes from an integration — credentials live there, not here, see
- What is synchronised is what is approved. An open absence request does not belong in the
calendar while it is undecided.
- This is not customer appointment booking. Calendar connections for scheduling live in the
scheduling module.
FAQ & troubleshooting
Synchronisation does not run. Check the underlying integration first — expired credentials are the most common cause.
An absence does not appear in the calendar. Is it approved? Open requests are not transferred.
An appointment deleted in the calendar is back. In two-way synchronisation, the other side wins depending on the case. Change absences in the system, not in the calendar — that is where the truth is.
An employee does not want to link their private calendar. Link a work calendar. The link is per employee and is not compulsory.