Introduction
Docebo Connect is a Docebo module acting as a connector between your platform and third-party SaaS systems, helping you to integrate your platform with more than 400 third-party external systems, reducing the integration effort.
Docebo Connect offers a large catalog of connectors for the most popular SaaS systems, to manage automated workflows (called recipes) shared among systems in order to exchange and share data on the basis of triggers.
Please note that Docebo Connect takes advantage of the APIs and business logic already existing in the integrating systems and does not create new ones. In addition, Docebo Connect does not manage SSO flows with Identity Providers (such as SAML, OpenID Connect, etc), JavaScript integrations (such as Google Analytics or Google Tag Manager) or iframe integrations (such as Docebo OEM or Salesforce Canvas).
This article describes the process of using Docebo Connect recipes to facilitate the exporting of e-Learning and ILT enrollments from Docebo to ReadyTech Axis.
For more information on the definition of terms and concepts used throughout this article, please read Docebo Connect Glossary of Terms.
Activating Docebo Connect
To activate Docebo Connect on your platform or sandbox, please reach out to your Docebo account manager. Please note that depending on the integration requirements, there may be associated costs.
Terminology
ReadyTech Axis uses slightly different terminology compared with what is commonly used for the Docebo platform. The following table shows the terms and fields used in Docebo and the corresponding phrases and fields used in ReadyTech Axis:
Docebo | ReadyTech Axis |
---|---|
Course / Session | Event |
E-Learning Course | Self-paced Event |
ILT Course Session | Instructor-led Event |
Instructor | Leader |
Student | Attendee |
E-Learning course_id | Self-paced Event externalid |
ILT session_id | Instructor-led Event externalid |
E-Learning user_id | Self-paced Seat externalid |
Enrollment | Seat |
Before you start
All the recipes for this integration can be found in the project's folder. This folder should be considered a “special folder” as all the recipes contained within are subject to automatic updates. As such, any customizations you make to recipes located within the folder can be overwritten by Docebo. In order to prevent such an occurrence, it is strongly advised to create a new project folder for any recipes you wish to use in production and copy or clone the recipes from the project's folder inside.
Prior to configuring and using the integration, you need to make clones of all the recipes used in this integration. For more information on how to clone and edit a cloned recipe, please see Docebo Connect usage: Copying recipes. The list of recipes that need to be cloned can be found in the List of recipes chapter of this article. All recipes that call another recipe will require editing, the called recipes can be found in a list inside the recipe description.
Prerequisites
In order to set up the integration of ReadyTech Axis with Docebo there are some steps that need to be completed on the Docebo platform in order to keep the data synchronized at all times on both platforms.
Adding Course Additional Fields
In Course Management, you will need to create three Additional Fields. To do so click on the gear icon in the top right corner of the platform to access the admin menu. In the admin menu, press Course Management. Then click on the Additional Fields tab and move to the plus button in the top right corner of the screen. Press the plus button to reveal a list of action items and press New Additional Field. Then, in the slide-out window, add virtual_lab and make sure you have Text Field selected as the field category. Press the Create button to finish the process. Repeat this step for all the field names listed in the table.
Field Name | Field Category | Value |
---|---|---|
virtual_lab |
Text Field | TRUE |
readytech_id |
Text Field | |
template_id |
Text Field | Populated with the ID copied from Axis |
Once you have added your list of additional fields, you will see them in the list.
Next we move into the ILT sessions folder in the Additional Fields tab and repeat the process of adding a field called readytech_id
. This field should be categorized as a Text field and Show Field should be set to No.
Lastly, we will add to Enrollment Additional Fields to complete the setup of the platform.
Move to the Enrollment Additional Fields Tab of Course Management and repeat the step for adding additional fields, this time adding the fields readytech_id
and readytech_url
, both of which are Text Fields.
Activation of the Virtual Lab app
First we need to make sure that the Virtual Lab app is active in the Docebo platform. To do so, in Docebo, click on the gear icon to access the admin menu, then click on the Add New Apps button.
Once there you can perform a text search for Virtual Lab and activate the application. Please see Managing Apps and Features for more information.
Creating the Course Widget virtual_lab as training material
The course widget Virtual lab needs to be added as a training material. This widget is used to access the ReadyTech from the Docebo course. This is done via the Course Management section of the Platform when creating a new course and navigating to the Training Material tab, then pressing on the Add Course Widget button. Then Select Virtual Lab from the drop down menu and press the Save Changes button.
Webhooks configuration
In order for the integration to be able to successfully synchronize with ReadyTech Axis, five webhooks must be configured between Docebo and Workato.
ReadyTech Instructor-Led Event
Click on the gear icon to access the administrative options, then locate Docebo Connect and press Manage. In the Project tab of Docebo Connect, locate the folder where you have stored your Readytech Axis recipes and click on the recipe called ReadyTech Instructor-Led Event. This recipe may reside in a sub-folder called Instructor-Led if you duplicated the layout of the supplied recipes when you cloned them.
Next, single-click on the first item in the recipe to reveal the slide-out configuration containing the URL of the webhook.
Press the Copy button to copy the URL to your clipboard.
Next, press the gears button in the top right corner of the screen and in the resulting administrative menu, locate Webhooks and press Manage, then press the plus button to add a new webhook.
In the resulting screen, in the Name field, choose a name for your new webhook, this name should be something you can use to easily identify the webhook, it does not affect the functionality of the webhook. Next, paste the URL you copied from the Docebo Connect recipe earlier into the Payload URL field, then, in the Events section, press Select Events. In the resulting slide-out screen, choose the following events:
- Course deleted
- ILT session changed
- ILT session deleted
- New ILT session created
Next, press Confirm. Then press the Save Changes button at the bottom of the screen to save your webhook.
Once your webhook has been created and saved, make sure you enable it in the list of webhooks by pressing the circle in the status column. Once the circle is green with a check mark, the webhook is enabled.
ReadyTech SelfPaced Course Enrollment Created Deleted - Elearning
Click on the gear icon to access the administrative options, then locate Docebo Connect and press Manage. In the Project tab of Docebo Connect, locate the folder where you have stored your Readytech Axis recipes and click on the recipe called ReadyTech SelfPaced Course Enrollment Created Deleted - Elearning. This recipe may reside in a sub-folder called Self-Paced if you duplicated the layout of the supplied recipes when you cloned them.
Next, single-click on the first item in the recipe to reveal the slide-out configuration containing the URL of the webhook.
Press the Copy button to copy the URL to your clipboard.
Next, press the gears button in the top right corner of the screen and in the resulting administrative menu, locate Webhooks and press Manage, then press the plus button to add a new webhook.
In the resulting screen, in the Name field, choose a name for your new webhook, this name should be something you can use to easily identify the webhook, it does not affect the functionality of the webhook. Next, paste the URL you copied from the Docebo Connect recipe earlier into the Payload URL field, then, in the Events section, press Select Events. In the resulting slide-out screen, choose the following events:
- Enrollment has been updated
- Learner completed course
- User enrolled in a course
- User unenrolled from course
Next, press Confirm, then press the Save Changes button at the bottom of the screen to save your webhook.
Once your webhook has been created and saved, make sure you enable it in the list of webhooks by pressing the circle in the status column. Once the circle is green with a check mark, the webhook is enabled.
ReadyTech SelfPaced Course Update Deletion - Elearning
Click on the gear icon to access the administrative options, then locate Docebo Connect and press Manage. In the Project tab of Docebo Connect, locate the folder where you have stored your Readytech Axis recipes and click on the recipe called ReadyTech SelfPaced Course Update Deletion - Elearning. This recipe may reside in a sub-folder called Self-Paced if you duplicated the layout of the supplied recipes when you cloned them.
Next, single-click on the first item in the recipe to reveal the slide-out configuration containing the URL of the webhook.
Press the Copy button to copy the URL to your clipboard.
Next, press the gears button in the top right corner of the screen and in the resulting administrative menu, locate Webhooks and press Manage, then press the plus button to add a new webhook.
In the resulting screen, in the Name field, choose a name for your new webhook, this name should be something you can use to easily identify the webhook, it does not affect the functionality of the webhook. Next, paste the URL you copied from the Docebo Connect recipe earlier into the Payload URL field, then, in the Events section, press Select Events. In the resulting slide-out screen, choose the following events:
- Course deleted
- Course properties have been changed
Next, press Confirm then press the Save Changes button at the bottom of the screen to save your webhook.
Once your webhook has been created and saved, make sure you enable it in the list of webhooks by pressing the circle in the status column. Once the circle is green with a check mark, the webhook is enabled.
ReadyTech Instructor-Led Event Enrollments
Click on the gear icon to access the administrative options, then locate Docebo Connect and press Manage. In the Project tab of Docebo Connect, locate the folder where you have stored your Readytech Axis recipes and click on the recipe called ReadyTech Instructor-Led Event Enrollments. This recipe may reside in a sub-folder called Instructor-Led if you duplicated the layout of the supplied recipes when you cloned them.
Next, single-click on the first item in the recipe to reveal the slide-out configuration containing the URL of the webhook.
Press the Copy button to copy the URL to your clipboard.
Next, press the gears button in the top right corner of the screen and in the resulting administrative menu, locate Webhooks and press Manage, then press the plus button to add a new webhook.
In the resulting screen, in the Name field, choose a name for your new webhook, this name should be something you can use to easily identify the webhook, it does not affect the functionality of the webhook. Next, paste the URL you copied from the Docebo Connect recipe earlier into the Payload URL field, then, in the Events section, press Select Events. In the resulting slide-out screen, choose the following events:
- ILT session enrollment updated
- User enrolled in ILT session
- User unenrolled from ILT session
- ILT session attendance has been updated
- ILT session changed
Next, press Confirm, then press the Save Changes button at the bottom of the screen to save your webhook.
Once your webhook has been created and saved, make sure you enable it in the list of webhooks by pressing the circle in the status column. Once the circle is green with a check mark, the webhook is enabled.
ReadyTech Update User Data
Click on the gear icon to access the administrative options, then locate Docebo Connect and press Manage. In the Project tab of Docebo Connect, locate the folder where you have stored your Readytech Axis recipes and click on the recipe called ReadyTech Update User Data.
Next, single-click on the first item in the recipe to reveal the slide-out configuration containing the URL of the webhook.
Press the Copy button to copy the URL to your clipboard.
Next, press the gears button in the top right corner of the screen and in the resulting administrative menu, locate Webhooks and press Manage, then press the plus button to add a new webhook.
In the resulting screen, in the Name field, choose a name for your new webhook, this name should be something you can use to easily identify the webhook, it does not affect the functionality of the webhook. Next, paste the URL you copied from the Docebo Connect recipe earlier into the Payload URL field, then, in the Events section, press Select Events. In the resulting slide-out screen, choose User has been modified and press Confirm.
Then press the Save Changes button at the bottom of the screen to save your webhook.
Once your webhook has been created and saved, make sure you enable it in the list of webhooks by pressing the circle in the status column. Once the circle is green with a check mark, the webhook is enabled.
Docebo Connect configuration
Within the Docebo Platform, click on the gears icon in the top right corner to access the admin page, locate Docebo Connect and press Manage.
Lookup table
Once in Docebo Connect, press on the Lookup Table tab, then click on integration-settings.
The following items should be added to the lookup table, this can be accomplished by typing in the blank text boxes provided and then pressing the checkmark button at the end of the row to add your entries and create a new row. Replace the value for the email address and the names to values of your choice. Please note the +1 in the email and name values, these must be present for the integration to work properly.
Integration | Key | Value |
---|---|---|
READYTECH |
SELFPACED - EVENT DURATION DAYS |
30 |
READYTECH |
INSTRUCTORLED - EVENT DURATION DAYS |
30 |
READYTECH |
INSTRUCTORLED - DEFAULT LEADER EMAIL |
someone+1@example.com |
READYTECH |
INSTRUCTORLED - DEFAULT LEADER FIRST NAME |
Example+1 |
READYTECH |
INSTRUCTORLED - DEFAULT LEADER LAST NAME |
Example+1 |
READYTECH |
DELETE WEBHOOK STORED BY MORE THAN X SECONDS |
3600 |
Templates
Within ReadyTech Virtual Lab there are templates which define commonly used settings in order to simplify the course (called event in ReadyTech) creation process. When creating an event, you can choose a template to apply the predefined settings to the event. Some of the defaults that can be configured in the template are:
- Choosing the default country and timezone for events created with this template
- Setting the default event duration for events created with this template
- Configuring the default scheduled sessions for events created with this template
- Applying the default on-demand time for events created with this template
Please note that when you create a template, you will need to copy the template ID directly from the address bar of your web browser. Keep this information safe so you can re-use it at a later date and apply your Template when creating an event in Docebo.
Once the template has been created, the template ID is used in the course creation process. For this purpose an additional field, template_id
, is created in Docebo, which should contain the value of the template ID. When creating a new course using this template ID, the predefined defaults scheduled in said template will be used and it is not necessary to specify these values.
Events
An Event is the equivalent to the Docebo Platform’s Course. On ReadyTech, in the E-Learning or ILT object the course data, for example but not limited to, course name or instructors (which are called Leaders in ReadyTech) will be stored. The most important is the field in the ReadyTech interface for this purpose is External ID, this field is the Docebo Platform’s courseId
or courseId-sessionId
and represents the link from the two environments for each record.
Events can be of two types: Self-Paced (in Docebo: E-Learning) or Instructor-Led (in Docebo: ILT).
Self-Paced Training
Self-Paced Training events are designed, as the name implies, for training at one’s own pace, where there is no instructor and a single student assigned to each event. Self-Paced events have no scheduled sessions, just on-demand time. If enabled, you can use the Self-Paced Portal and Vouchers with the Self-Paced events.
Self-Paced Training Example
When in the Docebo platform there are 100 users enrolled into a E-Learning course, the ReadyTech platform will have 100 Self-Paced event rows, each of them with 1 seat created.
Instructor-Led Training
Instructor-led events are designed for virtual or in-person training events with an instructor and student(s). Instructor-led events must contain at least one instructor and one student and have at least one scheduled session. If enabled, you can use the Instructor-Portal and Virtual Classroom with instructor-led training events.
Please note: In order to create an instructor-led event, the instructor user must exist both in Docebo and ReadyTech and must be identically named. The instructor user account must also be set to Active status in ReadyTech.
Instructor-Led Example
When in the Docebo Platform there are 100 users enrolled into an ILT session, the ReadyTech platform will have 1 Instructor-Led event row with 100 seats.
Please note: for the instructor-led event to be successfully created, ReadyTech needs to have at least one leader and one attendee. The attendee will be created by default in ReadyTech with an empty value however leader must be populated. This is done via the use of values (firstname
,lastname
,
Seats
Seats in ReadyTech represent enrollments in the Docebo platform and are processed in two different ways:
- The E-Learning type will have one event record plus one seat record for each enrollment
- The ILT type will have only one event (you can consider it to be a container of sorts) and a number of seats records equal to the session’s Docebo platform enrollments
Seats Example
In two records surrounded by a red box, related to two different enrollments in the same e-learning course, you can see that there is one seat for each record, whereas in the record surrounded by the blue box, you see a unique record with 121 seats that are the equivalent of 121 enrollments of an ILT course in the Docebo platform.
Limits and Defaults
- The maximum number of seats in ReadyTech is 199, this number can not be changed.
- The start date and end date of an ILT session represent the earliest and latest events associated with that session. The earliest event cannot be set to before the original startDate of the ReadyTech event, which is always today+1. The latest event cannot be set to end before the original end date of the ReadyTech event, which uses a lookup table value.
- The start date and end date for Instructor-led events, when the session has no events are set as:
Variable Value Start Date tomorrow End Date today + X days (where X is the value taken from the field "Event Duration Days" Lookup Table in Connect) - Due to a limitation in the API of the Docebo platform, it is not possible to update additional field enrollments for a single session to prevent a user enrolled in session X from being enrolled in session Y.
- The timezone must be set as
Europe/London
. - For instructor-led events, when an event is created at least one leader must be added, a default attendee will be automatically created by ReadyTech. This attendee will be canceled once the first student is enrolled into the ILT session on the Docebo platform. This default attendee will still be visible, albeit grayed out with a canceled status, in the ReadyTech platform:
- It is impossible to delete all the instructors and all the attendees from an instructor-led event. At least one of each must be present.
- The maximum permissible length of strings are:
Events:
String Name Maximum Length description
254 characters name
128 characters
String Name Maximum Length description
255 characters - For Instructor-led events created without a session, the default start-date will be “tomorrow“. As you can only make changes to future-scheduled items in ReadyTech, it would be impossible to add events after the start-date as the event on ReadyTech will already be “in progress”.
- For instructor-led events, the seat URL in the Virtual Lab widget is not visible to Instructors. The seat URL can be accessed directly from ReadyTech.
- The Virtual Lab widget is not available on the mobile app.
List of recipes
Please note: In order for this integration to work properly, the following recipes need to be started first:For more information about starting recipes, please see Docebo Connect usage: Common recipe actions.
- ReadyTech Update User Data
- [ASYNC] ReadyTech Update User Data
- Avoid Duplicate Webhook Running
- Check If Is A Virtual Lab Course
- Delete Led-Instructor Event
- Delete Webhooks Record from LookupTable
- Get Template Uuid
- ReadyTech Instructor-Led Event
- ReadyTech Instructor-Led Event Enrollments
- ReadyTech Instructor-Led Event Enrollments - Leaders
- [ASYNC] ReadyTech Instructor-Led Event Enrollments
- [ASYNC] ReadyTech Instructor-Led Event
- ReadyTech SelfPaced Course Enrollment Created Deleted - Elearning
- ReadyTech SelfPaced Course Update Deletion - Elearning
- [ASYNC] ReadyTech SelfPaced Course Enrollment Created Deleted - Elearning
- ReadyTech SelfPaced Course Update Deletion - Elearning
ReadyTech Update User Data
- Trigger
- Triggered in real-time via HTTP webhook
- Calls to other recipes
[ASYNC] ReadyTech Update User Data
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Avoid Duplicate Webhook Running
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Check If Is A Virtual Lab Course
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Delete Led-Instructor Event
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Delete Webhooks Record from LookupTable
- Trigger
- Triggered automatically every hour
- Calls to other recipes
-
- None
Get Template Uuid
- Trigger
- Triggered automatically every hour
- Calls to other recipes
-
- None
ReadyTech Instructor-Led Event
- Trigger
- Triggered in real-time via HTTP webhook
- Calls to other recipes
ReadyTech Instructor-Led Event Enrollments
- Trigger
- Triggered in real-time via HTTP webhook
- Calls to other recipes
ReadyTech Instructor-Led Event Enrollments - Leaders
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
[ASYNC] ReadyTech Instructor-Led Event Enrollments
- Trigger
- Triggered via function call
- Calls to other recipes
[ASYNC] ReadyTech Instructor-Led Event
- Trigger
- Triggered via function call
- Calls to other recipes
ReadyTech SelfPaced Course Enrollment Created Deleted - Elearning
- Trigger
- Triggered in real-time via HTTP webhook
- Calls to other recipes
ReadyTech SelfPaced Course Update Deletion - Elearning
- Trigger
- Triggered in real-time via HTTP webhook
- Calls to other recipes
[ASYNC] ReadyTech SelfPaced Course Enrollment Created Deleted - Elearning
- Trigger
- Triggered via function call
- Calls to other recipes
ReadyTech SelfPaced Course Update Deletion - Elearning
- Trigger
- Triggered via function call
- Calls to other recipes