---
title: "Docebo Connect for Credly"
slug: "docebo-connect-for-credly"
updated: 2026-05-18T07:52:19Z
published: 2026-05-18T07:52:19Z
canonical: "developer.docebo.com/docebo-connect-for-credly"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://developer.docebo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Docebo Connect for Credly

## 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.

> [!NOTE]
> Please note
> 
> 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 (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020083460) in Docebo as well as exporting your completed [courses (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020079700) or [learning plans (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020083980) 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](https://developer.docebo.com/docs/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.

> [!NOTE]
> Please note
> 
> Depending on the integration requirements, there may be associated costs.

## 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: Copying recipes](/v1/docs/docebo-connect-usage-copying-recipes). The list of recipes that need to be cloned can be found in the Recipes chapter of this article. All recipes that call a sub-recipe will require editing, the called sub-recipes can be found in a list inside the recipe description.

## 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.

### External certifications

#### Activating external certifications

To activate external certifications, press the **gear** icon to access the admin menu of your platform. Next, in the left side menu, press **Advanced settings**. In the Advanced settings menu, press the **Advanced options** tab and locate the section for Docebo Connect. There, activate the checkbox in the option for **External certifications** and press the **Save** button.

[Activating external certifications for Credly and Accredible recipes (1).mp4](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/Activating%20external%20certifications%20for%20Credly%20and%20Accredible%20recipes%20(1).mp4)

#### Manually assigning external certifications

This setting adds the ability to manually assign external certifications. To do so, access the Certifications and Retraining app by pressing the **Gears** icon, locating Certifications and Retraining and pressing **Manage**.

Next, locate the Certification you wish to award in the list of certifications and press the **number** in the Awarded To column. Then, in the following screen, press the Award users button. In the resulting window, place a **checkmark** next to the users you wish to assign the award to and press **Next**.

In the Award users window, set the issue and expiration dates of the certification. If the certification does not expire, press the **checkbox** labeled **Always valid** instead of setting an expiration date. Then, for the Association Type, select the **External certification** radio button. A dropdown menu labeled Source will appear, there select your **certification provider** (you may repeat this process to add more than one) and add the **external link** to the certification in the resulting textbox. Press the **Confirm** button to finalize your certification assignment.

[Credly Award Users.mp4](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/Credly%20Award%20Users.mp4)

> [!NOTE]
> Please note:
> 
> The external certification can not be imported via CSV file and must be added manually.

#### Viewing External Certifications

> [!NOTE]
> Please note:
> 
> The Credly badge URL appears in Certifications and Retraining only when the **Auto-Accept** option is enabled in Credly at the time the badge is issued. When Auto-Accept is disabled, Credly does not provide a valid badge URL at the moment of issuance. Because the integration imports the badge URL at that moment, it cannot populate the link in Certifications and Retraining retroactively if Auto-Accept was not enabled when the badge was first issued.
> 
> If your organization requires badge URLs to appear in Certifications and Retraining, enable Auto-Accept in your Credly account before your learners complete courses. Enabling Auto-Accept after badges have already been issued does not update existing certification records. To sync badge URLs for previously issued badges, a custom recipe or a manual update is required. Contact your Docebo account manager or a Docebo partner for assistance.

As a learner you can view your external certification by going to the MyActivities page and pressing the **Certification** tab. In the resulting Certifications and Retraining screen, you can find the link to the external certification at the end of the certification's row in the table.

![Viewing external certifications](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(147).png)

### 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.

> [!NOTE]
> Please note:
> 
> All boolean values must be stated as either `true` or `false` in **lower-case**.

#### Integration Settings table

To access the integration-settings table, press 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.

[Docebo Connect - Accessing the Lookup Table.mp4](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/Docebo%20Connect%20-%20Accessing%20the%20Lookup%20Table.mp4)

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 performs 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 `true` to enable or `false` to 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 (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020083460), this field will be used as their *Institute Name*. |
| `CREDLY` | `COURSE_ADDITIONAL_FIELD` | **Text value** The name of the [course additional field (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020127679) created in the Docebo platform for the badge templates to be added. |
| `CREDLY` | `CREDLY_INTEGRATION_MASTER` | **Text value** Docebo certifications can be synchronized either from Credly to Docebo or vice-versa: - If `Docebo` is provided then the synchronization will be from Docebo to Credly. - If `Credly` is provided then the synchronization will be from Credly to Docebo. - If no value is provided then bi-directional synchronization will take place. |
| `CREDLY` | `EVIDENCE_TITLE` | **Text value** An additional field used while assigning the badges to users, it is used to store the flow from which the badge is assigned to the users. |
| `CREDLY` | `LEARNING_PLAN_ADDITIONAL_FIELD` | **Text value** The name of the learning plan additional field created in the Docebo platform where the badge templates are added. |

Once all the values are added the lookup table should look like this:

![An example of a populated lookup table](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(148).png)

#### 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.

| Column name | Column description |
| --- | --- |
| `Badge Template ID` | **Integer value** The ID of the badge from Credly. |
| `Badge Template Name` | **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 (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020127679). |
| `IsActive` | **Boolean value** A boolean flag that specifies if this entry should be skipped (`false`) by the integration or not (`true`). |
| `Dropdown Element ID` | **Integer value** The numeric ID of the badge template as a [course additional field (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020127679) dropdown value. This value is assigned by the Docebo platform during an update of the additional field. |

As an example, a populated Credly Badge Templates table would look similar to this:

![An example Credly Badge Templates table](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(149).png)

#### 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:

| Column name | Column description |
| --- | --- |
| `Badge Template ID` | **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. |
| `Badge Template Name` | **Text value** The Name of the badge template in Credly. |
| `Learning Plan ID` | **Text value** The ID of the associated learning plan in Docebo Learn. The ID of the learning Plan can be obtained by accessing the **Admin Menu** in Docebo and then selecting **Learning Plans** from the left menu. The list of all available learning plans displays the ID as the first column. |
| `Import As External Training` | **Boolean value** Specifies if the related Credly Badge should be imported as [external training (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020083460) in Docebo. If set to `true`, external training will get created, if the associated badge template is assigned to the user in Credly. |
| `Certification Code` | **Text Value** The code of a certification in the Docebo platform. |
| `IsActive` | **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:

![An example Credly Integration Mappings table](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(150).png)

### Configuring the connector

#### Getting the necessary information from Credly

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.

![Getting the Organization ID from Credly](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(151).png)

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.

![Getting the Token information from Credly](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(152).png)

#### Configuring the connector in Docebo Connect

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.

Next, 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.

[Credly create connector.mp4](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/Credly%20create%20connector.mp4)

## Changing the badge in a course

In the event you need to delete or archive a badge in a course you can do so directly in Credly. The behavior in Docebo will be as follows:

Archived badges remain in the Credly badge templates lookup table but their associated `IsActive` field value changes from `true` to `false`.

Deleted credentials are deleted from the Credly badge templates lookup table entirely.

Next, if you are **not** using real-time synchronization or you are running the synchronization for the first time, in order to affect an immediate synchronization and enact the changes, run the following recipes in order:

- [Synchronisation from Credly to Lookup table](/v1/docs/docebo-connect-for-credly#synchronisation-from-credly-to-lookup-table)
- [Synchronisation from Credly Lookup table to Docebo LMS](/v1/docs/docebo-connect-for-credly#synchronisation-of-credly-badge-templates-to-docebo-lms-real-time)

> [!NOTE]
> Please note:
> 
> If you do not run these recipes manually immediately, your changes can take up to three hours to be actualized.

The course will remain marked completed in Docebo and the course andditional field associated with the external badge or credential will be reset to the default value.

## Recipes

> [!NOTE]
> 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.

### Configuration

The following recipes require configuration prior to running this integration:

- [Event Dispatcher - Credly to Docebo](/v1/docs/docebo-connect-for-credly#event-dispatcher-credly-to-docebo)
- [Event Dispatcher - Docebo to Credly](/v1/docs/docebo-connect-for-credly#event-dispatcher-docebo-to-credly)

### Recipe start order

In order for this integration to work properly, the following recipes need to be started first, after everything has been configured:

- [Synchronisation from Credly to Lookup table](/v1/docs/docebo-connect-for-credly#synchronisation-from-credly-to-lookup-table)
- [Synchronisation from Credly Lookup table to Docebo LMS](/v1/docs/docebo-connect-for-credly#synchronisation-from-credly-lookup-table-to-docebo-lms)
- [Assign Credly badge for Course Additional Field element](/v1/docs/docebo-connect-for-credly#assign-credly-badge-for-course-additional-field-element)
- [Assign Credly badges for Learning Plans](/v1/docs/docebo-connect-for-credly#assign-credly-badges-for-learning-plans)
- [Retrieve Certification Awards](/v1/docs/docebo-connect-for-credly#retrieve-certification-awards)
- [Retrieve Learning Plan from Course](/v1/docs/docebo-connect-for-credly#retrieve-learning-plan-from-course)
- [Filter learning plans retrieved from course](/v1/docs/docebo-connect-for-credly#filter-learning-plans-retrieved-from-course)
- [Retrieve enrolled users by course ID](/v1/docs/docebo-connect-for-credly#retrieve-enrolled-users-by-course-id)
- [Assign Credly badge to users](/v1/docs/docebo-connect-for-credly#assign-credly-badge-to-users)
- [Filter unassigned badge templates](/v1/docs/docebo-connect-for-credly#filter-unassigned-badge-templates)
- [Retrieve Credly batch template ids for user completed LPs](/v1/docs/docebo-connect-for-credly#retrieve-credly-batch-template-ids-for-user-completed-lps)
- [Process certifications](/v1/docs/docebo-connect-for-credly#process-certifications)
- [Issue Badge in Credly](/v1/docs/docebo-connect-for-credly#issue-badge-in-credly)
- [Revoke badge in Credly](/v1/docs/docebo-connect-for-credly#revoke-badge-in-credly)
- [Replace badge in Credly](/v1/docs/docebo-connect-for-credly#replace-badge-in-credly)
- [Retrieve lookup table values](/v1/docs/docebo-connect-for-credly#retrieve-lookup-table-values)
- [Credly badge retrieval](/v1/docs/docebo-connect-for-credly#credly-badge-retrieval)
- [Process Credly events](/v1/docs/docebo-connect-for-credly#process-credly-events)
- [Retrieve user details from Docebo LMS using user mail id](/v1/docs/docebo-connect-for-credly#retrieve-user-details-from-docebo-lms-using-user-mail-id)
- [Check if badge not issued through Docebo to Credly Sync](/v1/docs/docebo-connect-for-credly#check-if-badge-not-issued-through-docebo-to-credly-sync)
- [Create/Update/Delete external training for user](/v1/docs/docebo-connect-for-credly#createupdatedelete-external-training-for-user)
- [Delete External Training assigned to user](/v1/docs/docebo-connect-for-credly#delete-external-training-assigned-to-user)
- [Update External Training assigned to User](/v1/docs/docebo-connect-for-credly#update-external-training-assigned-to-user)
- [Create/Update/Delete Certifications for user](/v1/docs/docebo-connect-for-credly#createupdatedelete-certifications-for-user)
- [Check certifications awards existence](/v1/docs/docebo-connect-for-credly#check-certifications-awards-existence)
- [Retrieve course additional field from Docebo LMS](/v1/docs/docebo-connect-for-credly#retrieve-course-additional-field-from-docebo-lms)
- [Integration master flow check](/v1/docs/docebo-connect-for-credly#integration-master-flow-check)
- [Schedule/Manually run Credly lookup table to Docebo LMS sync](/v1/docs/docebo-connect-for-credly#schedulemanually-run-credly-lookup-table-to-docebo-lms-sync)
- [Synchronisation of Credly Badge templates to Docebo LMS - Real Time](/v1/docs/docebo-connect-for-credly#synchronisation-of-credly-badge-templates-to-docebo-lms-real-time)
- [Process badge created/updated events](/v1/docs/docebo-connect-for-credly#process-badge-createdupdated-events)
- [Entries deletion and mapping deactivation notice](/v1/docs/docebo-connect-for-credly#entries-deletion-and-mapping-deactivation-notice)

Then, run the following recipes to perform the initial synchronization (do not "start" these recipes, run them as a Test within the editor). Please remember these recipes may take a long time to synchronize all the data:

- [Batch Sync - Docebo to Credly](/v1/docs/docebo-connect-for-credly#batch-sync-docebo-to-credly)
- [Batch Sync - Credly to Docebo](/v1/docs/docebo-connect-for-credly#batch-sync-credly-to-docebo)

Once these recipes have finished, start the following recipes to start the real-time synchronization:

- [Event Dispatcher - Credly to Docebo](/v1/docs/docebo-connect-for-credly#event-dispatcher-credly-to-docebo)
- [Event Dispatcher - Docebo to Credly](/v1/docs/docebo-connect-for-credly#event-dispatcher-docebo-to-credly)

For more information about starting and editing recipes, please see [Docebo Connect: Working with recipes](/v1/docs/docebo-connect-working-with-recipes).

## Utility recipes

### Retrieve course additional field from Docebo LMS

This recipe is responsible for [creating a course additional field (opens in a new tab)](https://help.docebo.com/hc/en-us/articles/360020127679) in Docebo, if it is not already present, based on the value provided in `COURSE_ADDITIONAL_FIELD` in the [integration-settings](/v1/docs/docebo-connect-for-credly#integration-settings-table) lookup table. It then sends the course and learning plan additional field ID as output to the triggering recipe.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Integration master flow check

This recipe checks the `CREDLY_INTEGRATION_MASTER` value in the [integration-settings](/v1/docs/docebo-connect-for-credly#integration-settings-table) lookup table to determine the synchronization flow, from Docebo to Credly, Credly to Docebo or bi-directional.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

## Badge template synchronization recipes

### Schedule/Manually run Credly lookup table to Docebo LMS sync

The recipe is used to call the synchronization from the Credly lookup table to Docebo a sub recipe manually or scheduled.

#### Trigger

Triggered automatically every 5 minutes

#### Calls to other recipes

- [Synchronisation from Credly Lookup table to Docebo LMS](/v1/docs/docebo-connect-for-credly#synchronisation-from-credly-lookup-table-to-docebo-lms)

*This recipe is called twice, once for the synchronization of the course additional field and the second call is to synchronize the learning plan additional field.*

### Synchronisation of Credly Badge templates to Docebo LMS - Real Time

This recipe is responsible for retrieving the badge template details from the Credly environment and populating or deleting them in the [Credly Badge Templates](/v1/docs/docebo-connect-for-credly#credly-badge-templates-table) lookup table.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Entries deletion and mapping deactivation notice](/v1/docs/docebo-connect-for-credly#entries-deletion-and-mapping-deactivation-notice)
- [Synchronisation from Credly Lookup table to Docebo LMS](/v1/docs/docebo-connect-for-credly#synchronisation-from-credly-lookup-table-to-docebo-lms)

*This recipe is called twice, once for the synchronization of the course additional field and the second call is to synchronize the learning plan additional field.*

### Entries deletion and mapping deactivation notice

This recipe is responsible for sending the notification email in the badge templates deleted to the admin `NOTIFICATION_MAIL_ID` provided in the [integration-settings](/v1/docs/docebo-connect-for-credly#integration-settings-table) lookup table

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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](/v1/docs/docebo-connect-for-credly#credly-badge-templates-table) lookup table.

> [!NOTE]
> 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.

#### Trigger

Triggered automatically daily at 2:00 Pacific Time Zone

#### Calls to other recipes

- [Entries deletion and mapping deactivation notice](/v1/docs/docebo-connect-for-credly#entries-deletion-and-mapping-deactivation-notice)
- [Synchronisation from Credly Lookup table to Docebo LMS](/v1/docs/docebo-connect-for-credly#synchronisation-from-credly-lookup-table-to-docebo-lms)

*This recipe is called twice, once for the synchronization of the course additional field and the second call is to synchronize the learning plan additional field.*

### Synchronisation from Credly Lookup table to Docebo LMS

This recipe is responsible for creating the course additional field (dropdown field) in Docebo by calling [Retrieve course additional field from Docebo LMS](/v1/docs/docebo-connect-for-credly#retrieve-course-additional-field-from-docebo-lms).

The populated values in the [Credly Badge Templates](/v1/docs/docebo-connect-for-credly#credly-badge-templates-table) 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 the Docebo platform.

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.

#### Trigger

Triggered automatically every five minutes

#### Calls to other recipes

- [Retrieve course additional field from Docebo LMS](/v1/docs/docebo-connect-for-credly#retrieve-course-additional-field-from-docebo-lms)

## Docebo to Credly synchronization recipes

### 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**.

![](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(141).png)

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.

![Copying the webhook URL to the clipboard](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(142).png)

Next, press the **gears** icon to access the Admin menu, locate Webhooks and press **Manage**. Then, in the Webhooks management screen, press the **plus** button to create a new webhook.

![Adding a new webhook](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(143).png)

In the resulting slide-in window, give your new webhook a **meaningful name** and, in the **Payload URL** field, paste the webhook URL from the recipe. In the Payload Collection section check the **Allow the platform to group payloads** checkbox. Next, press **Select Events** to choose the triggering event for this webhook.

![Configuring the webhook](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(144).png)

Add the following events (arranged by section in this list):

- Enrollments section
  - `Learner completed course`
- Learning plans section
  - `Learner completed learning plan`
- Certifications section
  - `Certification awarded`
  - `Certification revoked`
  - `Certification updated`

> [!NOTE]
> Please note:
> 
> - Docebo Connect for Credly supports two methods for issuing badges when a learner completes a learning plan.
> 
> The first method uses the Credly Integration Mappings lookup table. When the `course.enrollment.completed` event fires, the recipe checks whether the completed course was the final course in a learning plan and, if a mapping exists, issues the badge.
> 
> The second method uses the **Learning Plan additional field**. When you populate the `LEARNING_PLAN_ADDITIONAL_FIELD` key in the **integration-settings** lookup table and assign a Credly badge template to the learning plan's additional field in the Docebo platform, the recipe listens for the `learningplan.enrollment.completed` event and issues the badge directly when the learner completes the learning plan. This method is more efficient because it fires only when the learning plan itself is completed, rather than on every course completion.
> 
> To use the second method, add the `learningplan.enrollment.completed` event to your webhook in addition to the events listed above. You can find this event under the *Learning plans* section in the *Select Events* panel.
> - The `learningplan.enrollment.completed` event is only required if you are using the Learning Plan additional field method to issue Credly badges. If you are using only the Credly Integration Mappings table method, you do not need to add this event.

Next, 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 **ellipsis** icon at the end of the webhook row and in the resulting drop down menu select **Activate** to activate your webhook.

![Activating the webhook](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(145).png)

#### Trigger

Triggered in real-time via webhook

#### Calls to other recipes

- [Assign Credly badge for Course Additional Field element](/v1/docs/docebo-connect-for-credly#assign-credly-badge-for-course-additional-field-element)
- [Assign Credly badges for Learning Plans](/v1/docs/docebo-connect-for-credly#assign-credly-badges-for-learning-plans)
- [Integration master flow check](/v1/docs/docebo-connect-for-credly#integration-master-flow-check)
- [Process certifications](/v1/docs/docebo-connect-for-credly#process-certifications)
- [Assign Credly badge to users](/v1/docs/docebo-connect-for-credly#assign-credly-badge-to-users)

### 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 the Docebo platform.

Each course is processed separately.

#### Trigger

This recipe should not be started, instead it should be run manually from the recipe editor. It is triggered automatically every five minutes if started.

#### Calls to other recipes

- [Assign Credly badge for Course Additional Field element](/v1/docs/docebo-connect-for-credly#assign-credly-badge-for-course-additional-field-element)
- [Assign Credly badges for Learning Plans](/v1/docs/docebo-connect-for-credly#assign-credly-badges-for-learning-plans)
- [Integration master flow check](/v1/docs/docebo-connect-for-credly#integration-master-flow-check)
- [Retrieve Certification Awards](/v1/docs/docebo-connect-for-credly#retrieve-certification-awards)

### 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 [Retrieve course additional field from Docebo LMS](/v1/docs/docebo-connect-for-credly#retrieve-course-additional-field-from-docebo-lms). It retrieves the corresponding badge template details from the [Credly Badge Templates lookup table](/v1/docs/docebo-connect-for-credly#credly-badge-templates-table) for the retrieved course additional field value and calls [Assign Credly badge to users](/v1/docs/docebo-connect-for-credly#assign-credly-badge-to-users) to assign the badge to users in Credly.

If this recipe is called by [Batch Sync - Docebo to Credly](/v1/docs/docebo-connect-for-credly#batch-sync-docebo-to-credly), [Retrieve enrolled users by course ID](/v1/docs/docebo-connect-for-credly#retrieve-enrolled-users-by-course-id) is called to retrieve the enrolled user from the course.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Retrieve enrolled users by course ID](/v1/docs/docebo-connect-for-credly#retrieve-enrolled-users-by-course-id)
- [Retrieve course additional field from Docebo LMS](/v1/docs/docebo-connect-for-credly#retrieve-course-additional-field-from-docebo-lms)
- [Assign Credly badge to users](/v1/docs/docebo-connect-for-credly#assign-credly-badge-to-users)

### Assign Credly badges for Learning Plans

This recipe is responsible for retrieving the Learning Plans associated with the course by calling [Retrieve Learning Plan from Course](/v1/docs/docebo-connect-for-credly#retrieve-learning-plan-from-course).

It filters the retrieved learning plan retrieved using [Filter learning plans retrieved from course](/v1/docs/docebo-connect-for-credly#filter-learning-plans-retrieved-from-course) and calls [Assign Credly badge to users](/v1/docs/docebo-connect-for-credly#assign-credly-badge-to-users) to assign the badge to users in Credly.

If this recipe is called by [Batch Sync - Docebo to Credly](/v1/docs/docebo-connect-for-credly#batch-sync-docebo-to-credly), [Retrieve enrolled users by course ID](/v1/docs/docebo-connect-for-credly#retrieve-enrolled-users-by-course-id) is called to retrieve the enrolled user from the course.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Retrieve enrolled users by course ID](/v1/docs/docebo-connect-for-credly#retrieve-enrolled-users-by-course-id)
- [Retrieve Learning Plan from Course](/v1/docs/docebo-connect-for-credly#retrieve-learning-plan-from-course)
- [Assign Credly badge to users](/v1/docs/docebo-connect-for-credly#assign-credly-badge-to-users)
- [Filter learning plans retrieved from course](/v1/docs/docebo-connect-for-credly#filter-learning-plans-retrieved-from-course)

### Retrieve Certification Awards

This recipe is responsible for collecting all the certification awards from the Docebo platform.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Process certifications](/v1/docs/docebo-connect-for-credly#process-certifications)

### 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.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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](/v1/docs/docebo-connect-for-credly#credly-integration-mappings-table) lookup table with the filter `IsActive` set to `true`.

The filtered learning plans are then sent as output to the triggering recipe.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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](/v1/docs/docebo-connect-for-credly#integration-settings-table) lookup table will be retrieved for processing. The retrieved user list is then sent as output to the triggering recipe.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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 [Filter unassigned badge templates](/v1/docs/docebo-connect-for-credly#filter-unassigned-badge-templates).

If this recipe is called by [Assign Credly badges for Learning Plans](/v1/docs/docebo-connect-for-credly#assign-credly-badges-for-learning-plans) then the badge templates for the user completed learning plans are retrieved using [Retrieve Credly batch template ids for user completed LPs](/v1/docs/docebo-connect-for-credly#retrieve-credly-batch-template-ids-for-user-completed-lps).

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Retrieve Credly batch template ids for user completed LPs](/v1/docs/docebo-connect-for-credly#retrieve-credly-batch-template-ids-for-user-completed-lps)
- [Filter unassigned badge templates](/v1/docs/docebo-connect-for-credly#filter-unassigned-badge-templates)
- [Issue Badge in Credly](/v1/docs/docebo-connect-for-credly#issue-badge-in-credly)

### 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.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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](/v1/docs/docebo-connect-for-credly#credly-integration-mappings-table) lookup table for the user completed learning plans. The retrieved badge template ID list is then sent as output to the triggering recipe.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Process certifications

This recipe processes the certification awards issued in the Docebo platform.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Filter unassigned badge templates](/v1/docs/docebo-connect-for-credly#filter-unassigned-badge-templates)
- [Issue Badge in Credly](/v1/docs/docebo-connect-for-credly#issue-badge-in-credly)
- [Revoke badge in Credly](/v1/docs/docebo-connect-for-credly#revoke-badge-in-credly)
- [Replace badge in Credly](/v1/docs/docebo-connect-for-credly#replace-badge-in-credly)

### Issue Badge in Credly

This recipe is responsible for issuing a badge to the user in the Credly environment.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Revoke badge in Credly

This recipe revokes a badge from the user in the Credly environment.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Replace badge in Credly

This recipe is responsible for replacing a user's badge in the Credly environment.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

## Credly to Docebo synchronization recipes

### Event Dispatcher - Credly to Docebo

This recipe implements the real-time synchronization from Credly to Docebo.

Just like the recipe [Event Dispatcher - Docebo to Credly](/v1/docs/docebo-connect-for-credly#event-dispatcher-docebo-to-credly), 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 the following items are selected:

- `badge.created`
- `badge.deleted`
- `badge.state.changed`
- `badge_template.changed`
- `badge_template.deleted`

Finally, press the **Save** button.

![Creating a webhook in Credly](https://cdn.document360.io/75d583ae-622e-4bde-98e6-0ddd0e7a16bb/Images/Documentation/image(146).png)

#### Trigger

Triggered in real-time via webhook

#### Calls to other recipes

- [Process badge created/updated events](/v1/docs/docebo-connect-for-credly#process-badge-createdupdated-events)
- [Synchronisation of Credly Badge templates to Docebo LMS](/v1/docs/docebo-connect-for-credly#synchronisation-of-credly-badge-templates-to-docebo-lms-real-time) - Real Time

### Batch Sync - Credly to Docebo

This recipe is responsible for retrieving all the entries from the [Credly Integration Mappings](/v1/docs/docebo-connect-for-credly#credly-integration-mappings-table) lookup table with `IsActive` set to `true`. It then processes the entries per entry retrieved by calling the sub recipe [Credly badge retrieval](/v1/docs/docebo-connect-for-credly#credly-badge-retrieval).

#### Trigger

This recipe should not be started, instead it should be run manually from the recipe editor. Triggered automatically every five minutes if started.

#### Calls to other recipes

- [Retrieve lookup table values](/v1/docs/docebo-connect-for-credly#retrieve-lookup-table-values)
- [Credly badge retrieval](/v1/docs/docebo-connect-for-credly#credly-badge-retrieval)
- [integration master flow check](/v1/docs/docebo-connect-for-credly#integration-master-flow-check)

### Retrieve lookup table values

This recipe is used to retrieve the configurations present in the [integration-settings](/v1/docs/docebo-connect-for-credly#integration-settings-table) lookup table.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Credly badge retrieval

This recipe is responsible for retrieving all the issued badges from the Credly environment and processing the badges.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Process Credly events](/v1/docs/docebo-connect-for-credly#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.
  - It is not processed if the user with the specified email address is not present in Docebo.
- Checks if the badge assigned in Credly is not created by Docebo to Credly Sync.
  - It is not processed if the badge was assigned by Docebo to Credly Sync flow
- Checks if `IsActive` is set to `true` in the [Credly Integration Mappings](/v1/docs/docebo-connect-for-credly#credly-integration-mappings-table) lookup table for the badge template of the assigned badge.
- Process the badges based on the actions performed in Credly.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Retrieve user details from Docebo LMS using user mail id](/v1/docs/docebo-connect-for-credly#retrieve-user-details-from-docebo-lms-using-user-mail-id)
- [Check if badge not issued through Docebo to Credly Sync](/v1/docs/docebo-connect-for-credly#check-if-badge-not-issued-through-docebo-to-credly-sync)
- [Create/Update/Delete external training for user](/v1/docs/docebo-connect-for-credly#createupdatedelete-external-training-for-user)
- [Create/Update/Delete Certifications for user](/v1/docs/docebo-connect-for-credly#createupdatedelete-certifications-for-user)

### Retrieve user details from Docebo LMS using user mail id

This recipe is responsible for retrieving the user details from Docebo based on the user email address from Credly. It then sends the retrieved details as output to the triggering recipe.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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 user ID and then sends a flag as output to the triggering recipe.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### 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 or for deleting the external training, if present in Docebo and if the badge has been revoked in Credly.

Specifically, it checks for the existence of the external training in Docebo and, if present, and the badge status is revoked, calls [Delete External Training assigned to user](/v1/docs/docebo-connect-for-credly#delete-external-training-assigned-to-user). Otherwise, if the external training is present in Docebo and the badge status in Credly is replaced, it calls [Update External Training assigned to User](/v1/docs/docebo-connect-for-credly#update-external-training-assigned-to-user).

If the external training is not present in Docebo, it creates an external training associated with the badge in the [Credly Integration Mappings](/v1/docs/docebo-connect-for-credly#credly-integration-mappings-table) lookup table.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Delete External Training assigned to user](/v1/docs/docebo-connect-for-credly#delete-external-training-assigned-to-user)
- [Update External Training assigned to User](/v1/docs/docebo-connect-for-credly#update-external-training-assigned-to-user)

### Delete External Training assigned to user

This recipe is responsible for deleting the external training from Docebo based on the provided external training ID input.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Update External Training assigned to User

This recipe is responsible for updating the existing external training in Docebo. 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 with the updated details. Otherwise, if it is being replaced by a different badge template then [Delete External Training assigned to user](/v1/docs/docebo-connect-for-credly#delete-external-training-assigned-to-user) is called.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Delete External Training assigned to user](/v1/docs/docebo-connect-for-credly#delete-external-training-assigned-to-user)

### Create/Update/Delete Certifications for user

This recipe is responsible for the creation, update and deletion of certifications for the user in Docebo based on the actions performed in the Credly environment.

- If a badge is issued, the certification will get awarded
- If a badge is replaced, the certification will get updated
- If a badge is revoked, the certification will get revoked

Before awarding the user with the certification a check is made to see the existence of the certification in Docebo by calling the Check certifications awards existence sub recipe.

If the certification is already present in Docebo:

- If the badge is issued or replaced in the Credly environment, the certification award will get updated
- If the badge is revoked in the Credly environment, the certification award will get revoked

If the certification is not present in Docebo:

- If the badge is issued or replaced in the Credly environment, the certification award will get awarded

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Check certifications awards existence](/v1/docs/docebo-connect-for-credly#check-certifications-awards-existence)

### Check certifications awards existence

This recipe is responsible for checking if the certification is already awarded to the user.

#### Trigger

Triggered via function call

#### Calls to other recipes

- None

### Process badge created/updated events

The recipe retrieves the event details from Credly and processes the events.

#### Trigger

Triggered via function call

#### Calls to other recipes

- [Process Credly events](/v1/docs/docebo-connect-for-credly#process-credly-events)
- [Retrieve lookup table values](/v1/docs/docebo-connect-for-credly#retrieve-lookup-table-values)
- [Integration master flow check](/v1/docs/docebo-connect-for-credly#integration-master-flow-check)
