Docebo Connect for Udemy Business

Prev Next

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 integration allows for the synchronization of courses from Udemy to Docebo.

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.

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 Workflow recipes and Utility recipes chapters 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.

Prerequisites

Udemy configuration

First you will need to log in to Udemy as an admin, then navigate to the following link, replacing yourplatform with the name of your platform:

https://yourplatform.udemy.com

Please copy and paste the yourplatform part of the Udemy URL into a text editor for safe keeping, you will need that information for the Sub-domain field in the Docebo Connect Udemy Connector configuration later.

Next, click on Manage in the top right corner of the screen and select Settings from the drop-down menu.

The Manage button and the Settings item in the resulting dropdown menu

In the resulting window, click on LMS / LXP Integrations from the left sidebar.

The Settings menu and the LMS/LXP Integrations item

Next, press the Start Setup button and select Other from the drop down menu.

The item marked Other in the Start Setup drop down menu

Now your API is activated you can find your client ID and client secret in the resulting window. Press the Copy to clipboard button to copy each field to your clipboard and paste the values into a text editor for safekeeping and later use.

The Copy To Clipboard buttons for copying the API information

Next, click on the API menu item in the left sidebar. In the resulting page, click on any of the API documentation links.

The API item in the Settings sidebar menu and the link to go to the page containing the API URL

In the resulting page, you will find your API URL in the fourth paragraph. Copy and paste this into a text editor of your choice for later use. This information will be applied in the lookup table, in the row labeled API URL.

The API URL location in the page

Next, scroll about half way through the page to reveal your API credentials. Copy and paste the account ID into your text editor for later use.

The API Account ID location in the page

Next we will move to the Docebo platform to set additional configuration parameters.

Docebo platform configuration

xAPI (Tin Can) configuration

Log into the platform as an administrator and press the gear icon to access the administration page. Then, click on Advanced Settings and select the E-Learning tab.

In the xAPI (Tin Can) external content section, add your Udemy platform to the the list by entering the appropriate URL in the text box and pressing the ADD button.

Example:

if your platform name is “acme” then the URL would be

https://acme.udemy.com/*

Please note the trailing slash and asterisk in the URL, these characters are mandatory.

The xAPI (Tin Can) configuration screen

Once the URL has been entered and is visible in the list, press the Save button at the bottom of the page.

Once you have added the URL to xAPI, please contact your Account Manager (if your plan includes this option) or reach out to Docebo using your platform’s Help Center (opens in a new tab) and request they provide you with the ID number of the setting core_setting_tincan_url where the URL matches the URL you just entered into the xAPI external content section.

When you receive the response with the necessary information, you can proceed to the next step.

Docebo Connect configuration

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

UDEMY FOR BUSINESS

ORGANIZATION ID

The ID number you pasted into a text editor during the Udemy steps of this article.

UDEMY FOR BUSINESS

TINCAN ID

The ID number you received from Docebo support in the previous step.

UDEMY FOR BUSINESS

API URL

<empty>

UDEMY FOR BUSINESS

LAST SYNC DATE TRACKING

<empty>

UDEMY FOR BUSINESS

LAST SYNC ENROLLMENTS

<empty>

The populated table will look as follows:

Image showing the populated lookup table in Docebo Connect

You can now start the recipes in the Udemy For Business project folder.

Workflow 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: Working with recipes.

Start Synchronization Course from Udemy

This recipe runs on a daily basis. There are two possible scenarios:

  • The first-time run adds all the courses to a list (to_be_added). When it ends, the recipe writes a token (last sync token) in the integration-settings lookup table.

  • All subsequent runs provide an incremental sync; the recipe takes the previous token and checks which courses are added, updated or removed since the last run, and eventually calls all the recipes involved in the workflow.

Trigger

Triggers every 1 days at 12:00:00 PM

Calls to other recipes

  • Import course from Udemy to Docebo

  • Decommissioning course from Udemy to Docebo

Import course from Udemy to Docebo

This recipe is made up of three cycles:

  • The first cycle imports all the courses received from the main recipe

  • The second cycle creates the respective training materials in the central repository

  • The third cycle associates courses and training materials created in the first step

Please note:

When importing courses from Udemy to Docebo, the following conditions exist:

  • No language matching is performed, therefore all courses in all languages are imported

  • Any imported course is placed at the root level of the course category

  • All courses are imported with the published status

Trigger

Triggered via function call

Calls to other recipes

  • None

Update course from Udemy to Docebo

This recipe updates the title and description concerning the courses received from the main recipes in Docebo.

Trigger

Triggered via function call

Calls to other recipes

  • None

Decommissioning course from Udemy to Docebo

This recipe updates the status of the courses received from the main recipe, by setting them to under maintenance (unpublished).

Trigger

Triggered via function call

Calls to other recipes

  • None

Tracking User activity

The user’s course tracking from Udemy is managed by this recipe.

For the initial run, the recipe will collect all user’s activities without filtering in any way and will save yesterday's date (today - 1) on the udemy_sync_settings lookup table.

For subsequent runs, it will retrieve the user’s activities filtering by date, from the relative yesterday (as saved in the lookup table) to the relative today.

In order to store the user's status for each course they are enrolled in, the data retrieved will be used to invoke the following API call:

POST /learn/v1/lo/tracks/batch

Trigger

Triggers every 8 hours

Calls to other recipes

  • None

Utility recipes

Please note:

If you need to restore courses that were not imported into Docebo from Udemy correctly, or imported empty, you can use the Recover empty Udemy courses recipe to restore the courses. The Recover empty Udemy courses recipe should not be started, instead it should be run using the Test Recipe function inside the recipe editor. In order to use this recipe, you will need to start the Restore badly imported courses from Udemy recipe first.

Recover empty Udemy courses

This recipe can be used to restore courses that were not imported from Udemy to Docebo correctly or left empty.

Trigger

This recipe should not be started, instead it should be run using the Test Recipe function inside the recipe editor. If started, this recipe will trigger automatically daily, at midnight.

Calls to other recipes

Restore badly imported courses from Udemy

Trigger

Triggered via function call

Calls to other recipes

  • None