Integrating DataCamp with Absorb LMS
At DataCamp, we can integrate with Absorb, making our content and completions available on the LMS.
Content sync process
DataCamp can sync its full content catalog to Absorb. This includes courses, projects, practices, assessments, tracks, and custom tracks.
Absorb only supports the concept of courses. Thus, our projects, assessments, practices, tracks, and custom tracks will also be courses in Absorb.
Every course will have two learning objects. The first one is an object lesson, which will contain a link to the content item on DataCamp. The second one is a task lesson. It is there to prevent the course from being auto-completed when the link in the object lesson is clicked.
The content gets synced via SFTP on a daily basis. This includes:
- Adding new content
- Updating existing content metadata
- Marking content as archived
Content mapping
The table below summarizes the metadata for each content item DataCamp sends to Absorb.
Name | Description |
Course | |
externalId | The DataCamp id of the content item |
name | The title of the content item |
description | The description of the content item |
activeStatus | Whether the content item is live on DataCamp |
typeName | Hardcoded to “onlineCourse” |
categoryLookup | Hardcoded to a value provided by the customer |
learnerTime | Duration of the content item in minutes |
vendor | Hardcoded to “DataCamp” |
enableCourseRating | Hardcoded to “1” |
sendNewEnrollmentEmail | Hardcoded to “1” |
toggleEmails | Hardcoded to “1” |
allowSelfEnrollment | Hardcoded to “1” |
Object lesson | |
externalId | “ol-”, followed by the DataCamp id of the content item |
order | Hardcoded to “0” |
name | The title of the content item |
description | The description of the content item |
typeName | Hardcoded to “objectLesson” |
launchUrl | The url of the content item |
launchInANewTab | Hardcoded to “1” |
launchInAPopup | Hardcoded to “1” |
courseLookup | The id of the content item |
Task lesson | |
externalId | “Tl-”, followed by the id of the content item |
name | The title of the content item |
description | Hardcoded description provided by the customer |
order | Hardcoded to “1” |
typeName | Hardcoded to “taskLesson” |
courseLookup | The id of the content item |
The completions sync process
In addition to content, DataCamp can optionally sync content completions to Absorb.
Completions are synced close to real time, which means that if a learner completes some content item on DataCamp, the completion should appear in Absorb within a maximum of a few minutes.
Completions in Absorb are reflected as completed enrollments. When a learner is enrolled in the course on Absorb, we complete this enrollment. If no enrollment is found for the user, a new enrollment that immediately gets completed is created.
For the Absorb integration, DataCamp uses e-mail addresses as user identifiers. If SSO is set up and is set to required, completions for all users will flow through if the e-mail address received from the IDP is the same one that is recorded in Absorb. If SSO is set to optional on DataCamp, some users could not be using their identity provider to log in. In this case, the e-mail address these users use for DataCamp and Absorb might be different, in which case we won’t be able to send completions.
SSO and deeplinking
All content items sent by DataCamp have a launch url, which is a so-called deeplink. If Single Sign-On is enabled and set to required for your organization on the DataCamp side, these links will redirect learners to their identity provider before redirecting them to the actual content on DataCamp.
If single sign-on with the same identity provider is configured on Absorb, this allows a seamless experience between Absorb and DataCamp. If learners are already logged into their LMS, they will not have to sign in again when they launch a content item on DataCamp.
Prerequisites
In order to set up an integration with Absorb, the following requirements must be met:
- You must have access to an active Absorb instance;
- You must have an active enterprise subscription on DataCamp;
- In order for completions to be synchronized: SSO for DataCamp must be enabled and configured correctly. This means:
- Your identity provider should send the user identifiers used in Absorb;
- (optional but highly recommended) SSO must be set to required on DataCamp;
- You must have admin privileges on the Absorb instance;
- You must have purchased an LMS API private key for your Absorb instance
Setup
To set up an integration with Absorb, some steps need to be taken.
Step 1: Set up the content sync process
Setting up the content sync process via SFTP is a manual process that the Absorb and DataCamp technical teams must perform. To initiate the process, talk to your customer success manager at DataCamp.
Step 2: Create an admin user on Absorb
Create a new user on Absorb and give it the “System Admin” role. This user will be used to create completions on Absorb.
Step 3: Provide DataCamp with the information required to set up the integration
Provide the following information to your contact at DataCamp:
- The instance URL of your Absorb instance;
- The username of the user you created in step 2;
- The password of the user you created in step 2;
- Your LMS private key;