Sandbox release disclaimer: Some content in this article outlines how to use functionalities that will be publicly released to all clients at the end of January 2026. If you see differences between this article and your platform, check back at that time. Learn more about the release cycle.
Introduction
Instructor-led trainings (ILTs) are courses that learners attend “live” at a specified time: either in a physical classroom location, or online using a videoconferencing tool.
- To attend an ILT course, learners need to be enrolled in a “session” of the course.
- The session in its turn consists of one or more “events”. Each event takes place at a specified date and time.
For more details about how ILT courses are structured see the article Creating and managing ILT courses.
External calendar integration:
If Docebo Connect is active on your platform, you can use it to integrate with an external calendar*, so that learners automatically receive calendar invites for the session in which they are enrolled.
- They will receive a separate calendar invitation for each event in the session.
- Learners can confirm their attendance at a session directly from their external calendar, and these RSVPs are synced to the platform.
*Examples of integration with an external calendar are Docebo Connect for Google Calendar and Docebo Connect for Microsoft Outlook 365 Calendar.
Advanced settings needed for calendar integration:
In order for the Docebo Connect calendar integrations to work, in your platform Advanced settings > ILT area you need to enable the option Enrollment invitations via external calendars.
→ For more information see the article Managing the platform advanced settings > ILT tab.
This setting enables external calendar invitations in your platform at the global level.
- After you enable it here, any newly created ILT courses will automatically have calendar invitations enabled. But pre-existing ILT courses will not be affected.
- When this platform setting is disabled, both the course setting and the session setting are disabled and hidden. This means all ILT courses and sessions revert to having calendar invitations disabled, including those that previously had them enabled.
Enable or disable calendar invites at the ILT course level:
Once you have a calendar integration configured and enabled globally in advanced settings, you can, if needed, enable or disable the functionality for specific ILT courses or sessions.
→ The rest of this article covers how to set up and manage calendar invites and RSVPs for ILT courses and sessions.
Prerequisites
The instructions provided in this article assume, as described in the Introduction, that Enrollment invitations via external calendar are enabled in the platform advanced settings, and that a Docebo Connect calendar integration is configured.
Enable or disable external calendar invitations for an ILT course
The calendar invitation/RSVP function can be enabled or disabled at the ILT course level. The choice you set for the ILT course will, by default, apply to all its sessions.
- However, if required, you can customize this setting for a particular ILT session, making it different from that of its parent course.
To enable calendar invitations at ILT course level:
- Navigate to Admin menu > Course management > [ILT course name].
- In the course Properties tab, select General settings > Enrollment options and scroll down to Enrollment invitations via external calendar.
- Select the check box Enable external calendars’ RSVP feature for all the sessions of this course.
→ With this setting, learners will receive a calendar invitation for the session in which they are enrolled. And they will be able to reply to their session enrollment invitation from their calendars. Their answers will be visible in the RSVP column of the Enrollments and evaluations tab of the session. - When you are finished click Save changes.
→ The settings you apply here will also apply to all the sessions of this course that do not have a custom configuration.
Customize external calendar invites for an ILT session
At the ILT session level, you can if needed set a different external calendar option from that configured in the parent course. To do this:
- Navigate to Admin menu > Course management > [ILT course name] > [session name].
- In the Properties tab select General and scroll down to Enrollment invitations via external calendar.
→ You will see here grayed-out settings corresponding to whatever was configured for the parent ILT course. The option marked default is the one configured for the parent course. - If you want different settings for this particular ILT session, first select the check box Enable custom external calendar RSVP settings for this session, and then select the desired option (Enable external calendar RSVP.. or Disable External calendar RSVP…).
Check the RSVPs for an ILT session
When an ILT session has the External calendar invitation option enabled, you can view the RSVPs of all the learners enrolled in the session, to see who has confirmed that they are going to attend:
- Navigate to Admin menu > Course management > [course name] > [ILT session name] and select the Enrollments and evaluations tab.
- Here you will see a list of all the learners enrolled in the session. And the RSVP column will show how each attendee has responded to their calendar invitations for each event of the session.
- From the ellipsis menu on an attendee’s row, you can click RSVP overview to see details of their response for each event of the session.
Show or hide attendees in the external calendar invitation
The option to hide attendees lets you set whether learners will see the list of participants in their external calendar invitation.
Unlike RSVP, the setting to show or hide attendees can be configured only at the ILT course level, and so will always apply to all the sessions of the course.
- Navigate to Admin menu > Course management > [ILT course name].
- In the course Properties tab, select General settings > Enrollment options and scroll down to Enrollment invitations via external calendar.
- Then select or deselect the option Hide attendees in the external calendar event.
- Click Save changes.
Remember that the choice you make here will apply to calendar invites for all the sessions of this course.
When are calendar invitations sent out or updated
Once the external calendar invitation (RSVP) option is enabled for a course or session, then the learners enrolled in a session will receive calendar invitations for their session’s events.
→ For events created/updated after the RSVP functionality is enabled (at course or session level), invitations are sent out for all enrollments.
→ For events that already existed when the RSVP functionality was enabled, the behavior differs depending on whether you enabled RSVP at course or session level. See the chapter Synchronization of pre-existing events.
If changes are later made to the ILT session—for example creating new events, or changing the date of an existing event, then the existing calendar invitation will be updated and all enrolled learners will receive an updated calendar invitation.
Please note: If the Enrollment invitations via external calendar setting is deactivated at any level (platform, course, or session) after invitations have been sent when the setting was active, then the corresponding events will be canceled in the learners’ calendars.
Synchronization of pre-existing events
If you enable the calendar invitation (RSVP) functionality at course level after creating ILT events within a session, those pre-existing events are not automatically synchronized. To ensure proper synchronization, you need to update or recreate the events manually. Alternatively, you can instead enable the functionality at session level to ensure proper synchronization. See the table below for details.
| Event already exists when calendar invitation (RSVP) is enabled | |
| Calendar invitation (RSVP) enabled at course level |
If you enable the RSVP functionality at the course level after sessions and events have already been created:
To synchronize calendar events, a manual update of the session events is required. Note: Calendar synchronization at course level depends on the |
| Calendar invitation (RSVP) enabled at session level |
If you enable the RSVP functionality at the session level, the platform triggers the As a result:
No manual update or recreation of events is required. |
If you enable RSVP at the course level after sessions and events have already been created, existing calendar events are not automatically synchronized.
The platform relies on the course.updated webhook, which performs a best-effort rebuild of calendar data but does not guarantee that all existing session events and enrollments are synchronized.
How enrollment states are evaluated
Once RSVP is enabled, the system applies the same enrollment-state validation to both:
- Learners who were already enrolled
- Learners who enroll after RSVP is enabled
Only learners with the following enrollment statuses are eligible to receive calendar invitations:
-
subscribed,in progress,completed,suspended
Learners in the following states are always excluded:
-
waiting,subscription_to_confirm
These learners are not considered confirmed attendees and therefore do not receive calendar invitations, regardless of when they enrolled.
Effect of webhook timing
Course-level RSVP depends on the course.updated webhook. When RSVP is enabled at course level:
- The webhook rebuilds the external calendar data for the course.
- It includes only learners who:
- Are in an eligible enrollment state
- Exist at the time the webhook is processed
Enrollments created after the webhook has been processed are not included and therefore do not receive calendar invitations.
| Scenario for course-level RSVP | Calendar invitation |
| Learner enrolled before RSVP (eligible status) | Sent |
| Learner enrolled before RSVP (waiting or pending) | Not sent |
| Learner enrolled after RSVP (eligible status, before webhook) | Sent |
| Learner enrolled after RSVP (eligible status, after webhook) | Not sent |
| Learner in waiting or pending state | Not sent |