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).
The integration for Credly allows you to import course badges from Credly as completed External Training in Docebo as well as exporting your completed courses or learning plans from Docebo to Credly as badges.
For more information on the definition of terms and concepts used throughout this article, please read Docebo Connect Glossary of Terms.
Activating Docebo Connect
Docebo Connect is a paid product. To activate Docebo Connect on your platform or sandbox, please reach out to your Docebo Account Manager.
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.
Configuring the Integration
Prior to using Docebo Connect for Credly, you will need to configure the integration, following are the steps necessary to successfully set up the lookup tables and recipes.
Configuring The Lookup Tables
Docebo Connect for Credly uses three different lookup tables. The first one is the standard integration-settings table where the settings for the integration are stored, next there is the Credly Badge Templates table where the badge templates relating to Credly are stored along with the necessary data to translate it to the Docebo platform. Finally, there is the Credly Integration Mappings table which stores the mappings between Docebo Objects (such as Learning Plans and External Training) and Credly badges.
Please Note: All boolean values must be stated as eithertrue
orfalse
in lower-case.
Integration Settings Table
Click on the gear icon and locate Docebo Connect, then click on Manage. Next, click on the Lookup Table tab and then click on the integration-settings table.
Please make sure that the table in the platform matches the table presented here, if any of the following rows are missing, please add them by typing the values in the relevant text boxes and then pressing the check mark icon to save the row.
Add the following rows if they do not already exist:
Integration | Key | Value |
---|---|---|
CREDLY | BATCH_SYNC_START_DATE |
Date Value While this integration perform synchronization in real-time, it also provides an utility for running a batch synchronization between Docebo Objects and Credly Badges. This date value establishes the furthest point in time in terms of Issue date those items should be evaluated by the batch utility. Format: YYYY-MM-DD
|
CREDLY | NOTIFICATION_MAIL_ID |
Text Value The email value that should be used by the recipes of this integration for error notification purposes. |
CREDLY | SYNC_REVOCATION |
Boolean Value This boolean value can be set to enable or disable the negative synchronization of Docebo Objects and Credly Templates; meaning all actions that include revocation or deletion of items. |
CREDLY | CREDLY_DEFAULT_EXPIRATION_DAYS |
Numeric Value This date value should be used to create Credly Badges when the related Docebo Objects lack Expiration Date properties, or if that is not applicable. The Expiration Date should be set at the current date plus the number of days expressed by this field. If this field is left blank, an expiration date will not be added in the Credly environment. If it is set to 0 , the expiration date will be set to the same date of the issued date in Credly. |
CREDLY | EXTERNAL_TRAINING_INSTITUTE_NAME |
Text Value As Credly Badges are imported as External Training, this field will be used as their Institute Name. |
CREDLY | COURSE_ADDITIONAL_FIELD |
Text Value The name of the course additional field created in Docebo Learn for the badge templates to be added. |
Once all the values are added the lookup table should look like this:
Credly Badge Templates Table
The Credly Badge Templates table is populated by the Synchronisation from Credly to Lookup table and Synchronisation from Credly Lookup table to Docebo LMS recipes and requires no manual configuration.
Badge Template ID | Badge Template Name | IsActive | Dropdown Element ID |
---|---|---|---|
Integer Value The ID of the badge from Credly. |
Text Value The name of the badge template from Credly. This will be presented as a dropdown value in the Credly Badge Template Course Additional Field. |
Boolean Value A boolean flag that specifies if this entry should be skipped by the integration or not. |
Integer Value The numeric ID of the badge template as a Course Additional Field dropdown value. This value is assigned by the Docebo Learn platform during an update of the additional field. |
As an example, a populated Credly Badge Templates table would look similar to this:
Credly Integration Mappings Table
The Credly Integration Mappings table is utilized by both the Docebo to Credly (map Learning Plans with Credly Badge Templates) and Credly to Docebo (map Credly Badge Templates with External Training) flows.
This lookup table is used by the integration to map relations between Docebo Objects (Learning Plans, External Training) and Credly Badge Templates and vice-versa. All values in this table must be configured manually. The columns and the expected values they contain is explained here:
Badge Template ID | Badge Template Name | Learning Plan Code | Import As External Training | IsActive |
---|---|---|---|---|
Text Value The ID of the badge from Credly. This value can be obtained in Credly by accessing the Badge Template. The Template ID is displayed in the Details tab. |
Text Value The Name of the badge template in Credly. |
Text Value The code of the associated learning plan in Docebo Learn. The Code of the Learning Plan can be obtained by accessing the Admin Menu in Docebo Learn and then selecting Learning Plans from the left menu. The list of all available learning plans displays the code as the first column. |
Boolean Value Specifies if the related Credly Badge should be imported as External Training in Docebo Learn. If set to true , External training will get created, if the associated Badge template is assigned to the user in Credly. |
Boolean Value This true / false flag specifies if this entry should be skipped by the integration or not. It is skipped if the value is set to false . |
When completed, as an example, the table would look similar to this:
Configuring the Connector
Navigate to your project folder and press the down arrow on the Create button in the top right corner of the window. In the resulting drop-down menu, select Connection.
In the resulting New connection screen, type Credly into the search text box and in the search results field, select the Credly connector.
To find the necessary information for the connector's configuration settings, log in to Credly and in the left side menu, select Developers. Then press the Authorization Tokens tab. Copy the Organization ID to a text editor and then press the Add Token button.
In the following window, copy the Token information to a text editor and, optionally, give your token a meaningful description. Then, press the Save button.
Next, back in Docebo Connect, in the Connect to Credly window, give your connection a meaningful name and in the Instance environment drop-down menu select Production. Next, in the Organization ID, enter your Credly Organization ID and in the Authorization token field, enter your Credly Authorization token. Then, press the Connect button.
Recipes
Please Note: Every Docebo Object that supports an expiration date property must be created with the expiration date of the related Credly badge, and vice-versa. If a Docebo Object does not support such a field, then the related Credly badge must be created with expiration date according to the value of the CREDLY_DEFAULT_EXPIRATION_DAYS
integration-settings lookup table setting.
Synchronisation from Credly to Lookup table
This recipe is responsible for retrieving the badge template details from the Credly environment and populating them in the Credly Badge Templates lookup table.
Please Note: Credly allows badge templates to be created with duplicate names but only badge templates with unique names are accepted by this integration. If duplicate badge templates are present, only the first badge template retrieved will be added to the lookup table and others will be skipped. It is strongly recommended to create or update the badges with unique names.
Synchronisation from Credly Lookup table to Docebo LMS
This recipe is responsible for creating the course additional field (dropdown field) in Docebo Learn by the utility recipe Retrieve course additional field from Docebo LMS.
The populated values in the Credly Badge Templates lookup table are used as dropdown elements for the created course additional field.
Only the values set to true
in the IsActive
column in the Credly Badge Templates lookup table will be added as dropdown elements in the course additional field and the Dropdown Element ID
column will be populated with the respective element ID from Docebo Learn.
If the value of IsActive
is changed and not set to true
, the dropdown element will be removed from the course additional field, if already added, and the respective value from the Dropdown Element ID
column will be removed.
Event Dispatcher - Credly to Docebo
This recipe is triggered in real-time via webhook.
This recipe (and its child recipe) implements the real-time synchronization from Credly to Docebo.
To configure this recipe, you will need to add a webhook in Credly. In Docebo Connect, locate the Event Dispatcher - Credly to Docebo recipe and press the ellipsis button. In the resulting drop-down menu, press Edit recipe.
Next, in the recipe editor, locate and click the trigger, this entry that calls the webhook. In the resulting slide-in menu, locate the webhook URL and press the Copy button to copy the URL to the clipboard.
Next, move to Credly and press the Developers entry in the left menu, then press the Webhooks tab. Paste your webhook URL into the Callback URL field and make sure that badge.created
, badge.deleted
and badge.state.changed
are all selected. Finally, press the Save button.
Event Dispatcher - Docebo to Credly
This recipe is triggered in real-time via webhook.
This recipe (and its child recipe) implements the real-time synchronization from Docebo to Credly.
To configure this recipe, you will need to add a webhook in Docebo. In Docebo Connect, locate the Event Dispatcher - Docebo to Credly recipe and press the ellipsis button. In the resulting drop-down menu, press Edit recipe.
Next, in the recipe editor, locate and click the trigger, this entry that calls the webhook. In the resulting slide-in menu, locate the webhook URL and press the Copy button to copy the URL to the clipboard.
Next, press the gears icon to access the Admin menu, locate Webhooks and press Manage.
In the Webhooks management screen, press the plus button to create a new webhook.
In the resulting Properties window, give your new webhook a meaningful name and, in the Payload URL field, paste the webhook URL from the recipe. Next, press Select Events to choose the triggering event for this webhook.
Locate the Enrollments section of the events and select Learner completed
course
. Then, press Confirm.
Returning to the Properties window, press the Save Changes button to save your new webhook.
Next, in the list of webhooks, locate the item you just created and press the gray circle next to the URL to activate your webhook.
Batch Sync - Docebo to Credly
This recipe is responsible for performing a batch sync for all the courses in Docebo Learn with Credly. This is similar to real-time sync but the recipe processes all the courses present in Docebo Learn.
Each course is processed separately and the following sub-recipes are called for each processed course:
Assign Credly badge for Course Additional Field element
This recipe is responsible for retrieving the selected course additional field from the user completed course by calling the utility recipe Retrieve course additional field from Docebo LMS. It retrieves the corresponding badge template details from the Credly Badge Templates lookup table for the retrieved course additional field value and calls the sub-recipe Assign Credly badge to users to assign the badge to users in Credly.
If this recipe is called by Batch Sync - Docebo to Credly, a sub-recipe, Retrieve enrolled users by course ID, is called to retrieve the enrolled user from the course.
Assign Credly badges for Learning Plans
This recipe is responsible for retrieving the Learning Plans associated with the course by calling the sub-recipe Retrieve Learning Plan from Course.
It filters the retrieved learning plan retrieved using sub recipe Filter learning plans retrieved from course and calls sub-recipe Assign Credly badge to users to assign the badge to users in Credly.
If this recipe is called by Batch Sync - Docebo to Credly, a sub-recipe, Retrieve enrolled users by course ID, is called to retrieve the enrolled user from the course.
Retrieve Learning Plan from Course
This recipe is responsible for retrieving all the Learning Plans associated with the course based on the course_id
input and sending the retrieved Learning Plan details as output to the triggering recipe.
Filter learning plans retrieved from course
This recipe is responsible for filtering the retrieved Learning Plans from course by mapping it with the Credly Integration Mappings lookup table with the filter IsActive
set to true
.
The filtered Learning Plans are then sent as output to the triggering recipe.
Retrieve enrolled users by course ID
This recipe is responsible for retrieving the enrolled user from a course. The users enrolled to the course with the status completed
, who have also completed the course on or after the BATCH_SYNC_START_DATE
provided in the integration-settings lookup table will be retrieved for processing. The retrieved user list is then sent as output to the triggering recipe.
Assign Credly badge to users
This recipe is responsible for assigning the respective Credly badge to the users. Before assigning the badge to the user, the badge template is filtered using the sub-recipe Filter unassigned badge templates.
If this recipe is called by the Assign Credly badges for Learning Plans recipe then the badge templates for the user completed learning plans are retrieved using the recipe Retrieve Credly batch template IDs for user completed LPs.
Filter unassigned badge templates
This recipe is responsible for filtering unassigned badge templates to users by checking if the user has already been assigned with the badge templates in the Credly environment. It then sends the filtered badge templates as output to the triggering recipe.
Retrieve Credly batch template ids for user completed LPs
This recipe is responsible for retrieving the respective badge template IDs from the Credly Integration Mappings lookup table for the user completed learning plans. The retrieved badge template ID list is then sent as output to the triggering recipe.
Batch Sync - Credly to Docebo
This recipe is responsible for retrieving all the entries from the Credly Integration Mappings lookup table with IsActive
set to true
. It then processes the entries per entry retrieved by calling the sub recipe Credly badge retrieval and Docebo LMS External Training Creation.
Retrieve lookup table values
This recipe is called by both Event Dispatcher - Credly to Docebo and Batch Sync - Credly to Docebo recipes and is used to retrieve the configurations present in the integration-settings lookup table.
Credly badge retrieval and Docebo LMS External Training Creation
This recipe is responsible for retrieving all the issued badges from the Credly environment and processing the badges by calling the sub-recipe Process Credly events.
Process Credly events
The recipe is responsible for processing the events retrieved from Credly. The flow is as follows:
- Retrieve the user details from Docebo Learn based on the user email address from Credly by sub recipe Retrieve user details from Docebo LMS using user mail id.
- It is not processed if the user with the specified email address is not present in Docebo Learn.
- Checks if the badge assigned in Credly is not created by Docebo to Credly Sync by using sub recipe Check if badge not issued through Docebo to Credly Sync.
- It is not processed if the badge was assigned by Docebo to Credly Sync flow
- Checks if
IsActive
is set totrue
in the Credly Integration Mappings lookup table for the badge template of the assigned badge. - Process the badges based on the actions performed in Credly by the sub-recipe Create/Update/Delete external training for user.
Retrieve user details from Docebo LMS using user mail id
This recipe is responsible for retrieving the user details from Docebo Learn based on the user email address from Credly. It then sends the retrieved details as output to the triggering recipe.
Check if badge not issued through Docebo to Credly Sync
This recipe is responsible for checking if the badge issued in Credly is assigned by Docebo to Credly Sync flow. It checks if the issue learner ID from Credly is the same as that of the Docebo Learn user ID and then sends a flag as output to the triggering recipe.
Create/Update/Delete external training for user
This recipe is responsible for creating a new external training if the badge is assigned in Credly or for updating the external training if the external training is already present in Docebo Learn or for deleting the external training, if present in Docebo Learn and if the badge has been revoked in Credly. Specifically, it checks for the existence of the external training in Docebo Learn and, if present, and the badge status is revoked, calls the Delete External Training assigned to user sub-recipe. Otherwise, if the external training is present in Docebo Learn and the badge status in Credly is replaced, it calls the recipe Update External Training assigned to User. If the external training is not present in Docebo Learn, it creates an external training associated to the badge in the Credly Integration Mappings lookup table.
Delete External Training assigned to user
This recipe is responsible for deleting the external training from Docebo Learn based on the provided external training ID input.
Update External Training assigned to User
This recipe is responsible for updating the existing external training in Docebo Learn. It checks if the badge is being replaced by the same badge template and if it is being replaced by the same badge template then it updates the external training in Docebo Learn with the updated details. Otherwise, if it is being replaced by a different badge template then the Delete External Training assigned to user sub recipe is called.
Retrieve course additional field from Docebo LMS
This recipe is responsible for creating a course additional field in Docebo Learn, if it is not already present, based on the value provided in COURSE_ADDITIONAL_FIELD
in the integration-settings lookup table. It then sends the course additional field ID as output to the triggering recipe.