There's a moment every L&D admin knows: you're building out a training program, you've enrolled a group of employees in an ILT session, and then you need to adjust something - the room changed, the time shifted, the agenda got updated. Within minutes, your inbox starts filling up with confused replies. "Did the training move?" "I got three calendar updates, which one is right?" "Is this still happening?"
This isn't a Docebo bug. It's what happens when calendar protocol meets an L&D workflow that wasn't designed around it - and once you understand why it happens, the fix is straightforward.
Why Employees Expect Training to Behave Like a Meeting
For most knowledge workers, a calendar invite is a contract. When someone sends you a meeting, you expect the calendar entry to stay stable. If it changes, you expect to be told - and your calendar app will make sure you are, loudly. This expectation is so ingrained that people don't distinguish between "my manager moved our 1:1" and "the L&D team updated the session description." Both feel like the same kind of change.
The problem is that building a training session isn't like scheduling a single meeting. It's an iterative process. You create the session, set the date, enroll the first cohort, then keep refining - adding an instructor, updating the location, tweaking the description, adjusting the agenda. Each of those edits is a legitimate part of your workflow. But from the calendar's perspective, each one is a change to a confirmed appointment, and the protocol demands that invitees be notified.
Where the Notifications Actually Come From
When Docebo Connect is active - whether you've integrated with Google Calendar or Microsoft Outlook 365 - it creates a real calendar event directly in each enrolled learner's calendar, through the calendar platform's API. This isn't an email with an attachment. It's an actual live event that appears in Google Calendar or Outlook exactly like a meeting a colleague scheduled with them - with the session title, date, time, location, instructor, and description pulled from both the course and session level.
Here's the key: this is a live calendar event, not a Docebo notification. That distinction matters a lot. You can't suppress it from the Notifications settings in the admin menu, because it's not going through Docebo's notification engine at all. It's being managed by the calendar platform directly - and when a calendar event is updated, Google Calendar and Outlook both notify the attendees automatically. That is the behavior of every calendar event, whether it was created by an L&D admin or a colleague.
This is why every session edit triggers a notification to enrolled learners, even changes that feel trivial. The calendar platform doesn't know the difference between "we moved the date" and "we fixed a typo in the description." Both are updates to the event, and both trigger the same attendee notification.
The Right Fix: Control When the Sync Fires
Docebo gives you a toggle to enable or disable external calendar sync at the individual session level. The cleanest workflow is to use it deliberately:
- Create the session with calendar sync disabled. Go to the session → Properties tab → disable the external calendar RSVP feature for this session.
- Enroll your learners. They're registered in the system, but no calendar invite has gone out yet.
- Finalize everything. Date, time, location, instructor, agenda - get it all locked down while the sync is off. Make as many edits as you need.
- Enable the sync when you're ready. At this point, one clean, complete calendar invitation goes out to all enrolled learners - with the correct information, no noise, and no follow-up corrections.
The same toggle exists at the course level too. If you're building a new ILT course and want to make sure no invitations go out prematurely across any of its sessions, you can disable calendar sync at the course level first, then enable it per session as each one is finalized.
What This Means for the Learner Experience
The difference in learner experience between "a stream of calendar updates as the admin iterates" and "one clean invite that arrives when everything is confirmed" is significant. Employees who receive a single, complete calendar invitation accept it, block the time, and move on. Employees who receive three or four incremental updates start questioning whether the session is stable - and some simply stop trusting the calendar entries that come from training.
The sync toggle isn't just an admin convenience. It's a way to make sure the first thing employees see about a training session communicates that it's been thought through and is ready for them.
A Note on the Course-Level Default
The "Enable external calendars' RSVP feature for all sessions of this course" checkbox in the ILT course settings is enabled by default for all newly created ILT courses. If your organization is still in the process of rolling out ILT training and you want to prevent any accidental early invitations, disabling this at the course level during setup gives you a clean default. You can always enable it per session when you're ready.
Official documentation: External calendar invitations and RSVPs for ILT courses | Docebo Connect for Microsoft Outlook 365 Calendar