The Integration for Google Calendar provides a way to allow a Google calendar account to supply invitations for enrolled sessions to the enrolled users. This is achieved through the usage of Docebo Connect and webhooks and provides the advantage of being able to integrate Google Calendar without the use of .ics files allowing automated synchronization to occur in near real-time.
For more information on the definition of terms and concepts used throughout this article, please read Docebo Connect Glossary of Terms.
Before You Start
It is advisable to create a service account on Google for use with the Docebo calendar integration. This can be an account that is in use by a person; however, using a separate account will prevent a personal account from being filled up by system-generated calendar entries. When testing this integration, if you have a staging platform, we suggest using separate Google accounts for production and staging purposes.
Docebo Webhooks are used to send events to Docebo Connect which creates the calendar entry. Please see Creating and Managing Webhooks for further information and to familiarize yourself with this feature of the platform. Other articles which contain useful information and background are:
- Creating And Managing ILT and VILT Sessions
- Managing Advanced Properties for Courses
- Managing The Platform Advanced Settings
To protect users and domains from abusive behavior, Google sets certain limits for Google Calendar. Please see this article for more information.
Beginning the integration of Google Calendar
You will need to activate Docebo Connect for Google calendar to synchronize with Docebo. Please contact Docebo via the Help Center to activate this for your Google calendar integration. The necessary components will be activated on your sandbox and the integration will be activated.
Configuring the integration
In order for the integration to function properly, external calendars must be enabled on your platform. To do so click on the gears icon, then click on Advanced Settings and click on the ILT tab. Find the option Enrollment Invitations via External Calendar and activate the checkbox. Next click Save Changes.
In order to activate this feature, please contact Docebo (via the Help Center, or through your Account Manager if your plan includes this option) and ask for Enrollment Invitations via External Calendar to be enabled.
Next you will create the Google Calendar Connection in Docebo Connect and configure its settings. Click on the gears icon, find Docebo Connect and click Manage.
By default you will open Docebo Connect in the Project tab. This tab contains all your projects with their connections and recipes.
The first step to take is to make a copy of all the necessary recipes used by this integration. This allows you to customize the recipes as needed without worrying about updates overwriting your customizations. Whenever updates are available for pre-made recipes you will be able to choose whether to update your copy to match the original recipe or continue working with your copy.
To copy your recipes simply click on the ellipsis menu in each recipe and select clone. Then drag and drop the cloned recipe to a new location within Docebo Connect. The list of recipes used by this integration is:
- RSVP sync from Google Calendar to Docebo Learn
- Get Docebo Learn future events
- Get all active enrollments by session id
- Docebo Learn events dispatcher - Webhook
- Get Google Calendar events by Docebo Learn ID
- Delete Google Calendar event
- Create or Update Google Calendar event
Remember to rename your cloned recipes after you move them by removing the preceding “Copy Of” in the name as the recipes reference each other by name.
In the list of assets, click on Connections and press the Create Connection button.
In the list of available connections that follows, find Google Calendar and click on it. Select a location to save the Connection within Docebo Connect and press the Connect button.
In the pop-up window, choose your Google account that corresponds to the account hosting the calendar you wish to connect. Then press the Allow button to grant the appropriate permissions.
Next you will need to adjust the lookup table entries within Docebo Connect. To do so, click on the Lookup Table tab and choose the Google Calendar Settings table.
Click on the Add Entry button and enter the following values:
|calendar_id||[the email address you are using for your Google account that you wish to link]|
Next, click on the Project tab and locate the recipe item Docebo Learn events dispatcher - Webhook. Click on the recipe and under the Project tab click the first item. You will then be presented with a side-bar that contains a URL and a Copy button. Press the Copy button to copy the URL to your clipboard.
Next click on the gears icon and find Webhooks. Click on the Manage link. Within Webhooks click on the green plus button to create a new Webhook.
In the following screen give the new webhook a name, paste the URL from the Docebo Connect recipe and add the following events:
- Ext Calendar ILT Event Changed
- Ext Calendar ILT Session Changed
Next press the Save Changes button. Once you are back at the screen listing your available webhooks, press the grey checkmark to activate the webhook. The checkmark will now turn green.
Next you need to update the recipes used by the integration to utilize your Google Calendar Connection. To do so click on the gear icon and click on Manage under Docebo Connect.
In the Project tab, find the recipes used by the Google Calendar integration and click on a recipe. Next, move to the Connections tab. You will be presented with a notice that Google Calendar requires connection. Click on the right arrow which will reveal a box stating that you have an existing connection. In the dropdown menu below this, choose your Google Calendar connection. Repeat this process for all the related recipes.
After adding the appropriate connection to your recipes click on the ellipsis menu next to each recipe and press Start Recipe.
Please note that in some cases you can press the Start Recipe button immediately after updating the connection in each recipe but as some recipes depend on others to function properly, it is recommended to update the connection for all recipes first, then move on to activating the recipes.
Steps to take when creating an ILT Event
When creating a new course in Courses Management, click the Properties tab. Under Enrollment Options find Enrollment Invitations via External Calendar and activate the checkbox next to Enable external calendars' RSVP feature for all of the sessions of this course in order to enable this course to send invitations to external calendars, such as Google Calendar.
If you prefer, you can also define this action on a session by session basis by clicking on the Sessions tab and then clicking on the session you wish to turn this feature on or off for. In the Properties tab of the session, in the General section you will find Enrollment Invitations via External Calendar. By checking the box in this section, you are able to customize this feature. If you have previously checked the box in the Course Management / Properties section, you will find the radio button next to Enable the external calendars' RSVP option for this session selected, with the option being marked as default. Otherwise, if you did not previously turn on Enable external calendars' RSVP feature for all of the sessions of this course then the radio button next to the option Disable the external calendars' RSVP option for this session will be selected and that option will be marked as default. Simply activating the unselected radio button will override the default course setting for this particular session.
Docebo Learn events dispatcher - Webhook Recipe Upgrade September 26, 2022
Please Note: If you have not used this integration prior to September 26, 2022, you may safely disregard this chapter.
Starting on September 26, 2022 an upgrade for the recipe Docebo Learn events dispatcher - Webhook was released. This recipe upgrade addresses the issue whereby in certain time zones the shift to and from Daylight Savings time causes some meetings to synchronize with an incorrect time in Google Calendar.
Please Note: Before you upgrade your recipe, please be aware that there is no possible downgrade path from this upgrade. It will also require all already scheduled events to be updated in Docebo Learn.
In order to make use of the upgraded recipe, you must manually update the recipe in your integration. To do so, access Docebo Connect by pressing the gears icon in the top right corner of your screen, locate Docebo Connect and press Manage. Then, locate the recipe in your Google Calendar integration folder and press the ellipsis button and choose Stop Recipe. Next, open the recipe to be updated, you will see a message stating that updates are available from its parent recipe. Press See details to access the screen where you can update.
In the next screen you will be presented with information about the recipe. Press the Install button located inside the information box titled The parent recipe that this recipe was copied from has a new version, followed by Yes in the confirmation pop-up window to proceed with the update.
After the update has completed, open the recipe and copy the webhook address to your clipboard by pressing on the first recipe item and then, in the resulting details window, pressing the Copy button above the webhook URL.
Next, press the gears button in the top right corner of your screen to access the Admin menu, then locate Webhooks and press Manage.
In the list of Webhooks, locate the webhook associated with your Docebo Connect for Google Calendar integration and press the ellipsis button to the right of the webhook, selecting Edit in the resulting dropdown window.
In the following screen paste the URL of the webhook you copied from the Docebo Learn events dispatcher - Webhook recipe into the Payload URL field and press the Save Changes button.
Next, return to Docebo Connect via the gears icon in the top right corner of your screen, locate Docebo Connect in the list and press Manage. Find your Google Calendar integration and on the Docebo Learn events dispatcher - Webhook recipe press the ellipsis button again and select Start Recipe.
Once the recipe has been upgraded to the new version, you need to refresh each event in Docebo Learn that you have scheduled for the future. This causes the recipes to be triggered and will update the event on the Google calendar.
To update an event press the gear icon in the top right corner of the screen followed by Course Management in the left sidebar. Next, locate the course that contains the event you wish to edit and click on the title of the event. Then, the Sessions tab, locate the event you are editing, select the ellipsis icon to the right of the row and choose Edit. In the following screen, if you are not changing any important information, simply add a space at the end of the description in order to "make a change" to the event and then press the Save button. Your event will now update in your Google calendar. Repeat this process for every future event. For more information on managing Events see Creating and Managing ILT and VILT sessions.