Introduction
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.
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.
Useful Information
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.
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:
key | value |
---|---|
calendar_id | [the email address you are using for your Google account that you wish to link] |
calendar_name | primary |
send_email_notification |
true |
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 Advanced Properties tab. Under Details find Enrollment Invitations via External Calendar and activate the checkbox in order to enable this course to send invitations to external calendars, such as Google Calendar.