Data Imports - Object: Courses


Table of Contents:


This article covers the bulk import of course metadata from a file, one-time or on a scheduled basis (normally only done one-time, as part of the initial implementation). The main Data Imports - An Overview article should also be reviewed for information on importing data to Absorb in general.

Important Note: Although our data import documentation refers to these objects simply as "courses", we're really only talking about course metadata here (e.g. Name, Description, settings, etc). The actual course files themselves must be uploaded via the Absorb admin portal and cannot be imported in bulk (courses in AICC format are the exception, since they are technically still just metadata - see Skillsoft course imports as an example of this). Some Absorb clients prefer to complete their Course setup entirely through the Admin UI for this reason. If this situation applies to your organization, then please ensure that you fill out each Course’s External ID field if Absorb is required to import any other entities that must be linked to Courses. E.g., Course Enrollments, etc. In many cases the courses are being imported simply so historical completion records (enrollments) can be attached to them, in which case the course files themselves may not need to be uploaded at all. 

There are several types of courses in Absorb:

  • Online Courses: Online courses are the primary means of delivering eLearning content to your users in Absorb LMS: videos, interactive SCORM, Tin Can, or AICC-compliant courses, quizzes and exams, and more. More information here and here.
  • Instructor Led Courses: An Instructor Led Course (ILC) is a scheduled course that can take place in a physical location or via a virtual meeting room. More information here
  • Curriculum: A Curriculum is a managed learning path for working through a selection of courses. More information here and here.

The Courses object & import module being discussed here can import all the types listed above.

There are also Course Bundles, which can contain Online Courses or Instructor Led Courses, but those are outside the scope of this article and have no standard import capability. For the purposes of this article, we'll assume that you are already familiar with creating and managing  Online Courses, Instructor Led Courses, and/or Curricula manually in Absorb through the admin portal.

Quick Start

Here are the minimum pieces of input that we'll need from you in order to set things up:

Preparing the File

Ensure that you've downloaded the most recent Absorb Data Mapping document from this helpdesk article. Refer to the Courses tab for a list of fields that can be included, including the minimum required fields and any dependencies. Once your file is created, please take a moment to validate the content by considering the items noted here.


In addition to the generic configuration options available to all modules, the following configuration options are available for Users (mandatory marked with *):

Column Mapping

The Data Imports - Configuration article covers column mapping in general. You will need to specify which Absorb fields should be mapped to each column in the file based on column headers (e.g. The column with header "EID" should be mapped to the Absorb "External ID" field). The following fields/columns are mandatory for Courses:

  • Name
  • ExternalId
  • TypeName (if all records are the same TypeName, this value can be defaulted)
  • ActiveStatus (if all records are the same ActiveStatus, this value can be defaulted)
  • CoursesLookup (if importing curricula)

There are a few columns with special considerations:

This field restricts Admin visibility to specific Courses in the Admin UI only. This setting is generally not required unless you need to segregate your Course visibility to different sets of Admins. Should your import require this, it is recommended that you set up and test examples of this through the Admin portal before applying the settings in a bulk import.

This field must be enabled before setting any of the other Certificate fields (e.g. Certificate_ExpireType). The same sequence also applies to EvaluationEnabled, ToggleEmails, SendNudgeEmails, AllowReEnroll and AllowFailure in that you must enable these fields first in order to set other fields related to them. 

Field Mappings
Some fields will only accept certain values. For example the ActiveStatus field accepts a 0 if the course is Active, and a 1 if it is inactive. If your file has something different, for example Active and Inactive instead of 0 and 1, you will need to let us know the mappings for those field values. 


Unique Identifier*
This property will be used to uniquely identify the record for the purposes of updating existing records (i.e. the key). Options available:

  • ID
  • External ID*
  • Name*

*Absorb does not enforce uniqueness on these fields, but the import will require a unique match in order to successfully process. Duplicate matches for a unique identifier will result in skipped records. External ID is most commonly used.

Category Lookup*
This property will be used to look up and assign the course's Category. Note that Categories should either be setup ahead of time through the admin portal or imported with your courses (see Related Objects section). Options available:

  • Name (usually if they were setup manually ahead of time)
  • External ID (usually if they are being imported from a file)
  • ID (if exporting the GUID's from Absorb)

Approval Users Lookup
This property will be used to lookup any users with enrollment approval rights for each course. Options available:

  • Username
  • External ID* (most common)
  • Email*
  • Employee Number

    *Absorb does not enforce uniqueness on these fields, but the import will require a unique match in order to successfully process. Duplicate matches will result in skipped records. External ID is most commonly used.

Reset existing Approval Users
Provides the option of either adding approval users from the file and preserving existing ones OR completely replacing whatever is currently in Absorb with the approval users in the file.

Related Objects

Courses are an important object in Absorb, with a large list of related objects. The following list of objects are often imported alongside courses:

Historical Progress/Activity:

  • Enrollments: This is the most common type of history brought across as part of a historical data import. Basic information like "Bob completed "Introduction to Project Management" on Aug 1 2017 with a score of 90%" is recorded. 
  • Enrollment Activity: This is much less common. In cases where the previous LMS also supported multiple lessons per course, it's possible to bring across granular progress/activity at the lesson level in addition to the course level.

Online Courses:

  • Lessons: Lessons make up the syllabus of Online Courses, and is where the actual content is attached. As noted in the introduction, the actual course files themselves must be imported via the admin portal, so often lessons are created manually as part of this process. There are some cases where importing lessons in bulk is useful though:
    • Task type lessons, which don't require files to be uploaded
    • AICC type lessons, which launch files hosted on external websites
    • Video type lessons, where the video path/URL can be set in bulk
  • Assessments, Questions, Answers: Assessments are technically a lesson type, but they have many special types of configuration, as well as the further related Questions and Answers objects. All of this can be imported in bulk rather than setting up via the admin portal.

Instructor Led Courses (ILC):

  • Sessions: Sessions are instances of an ILC - each user chooses a single session of the course to attend. The sessions themselves hold some configuration, as well as one or more Classes (below object) which define the schedule.
  • Classes: A Session can have one or more Class, which is essentially the schedule for the Session. For example you might have one Class on Sunday @ 5pm, and then a second one on Thursday @ 1pm. The user needs to attend both Classes to complete the Session and by extension the Course.
  • Venues: Each Class takes place at a certain Venue, which can be imported in bulk alongside Classes.
  • Users: Users can have the IsInstructor flag set to true, at which point they can be assigned as an Instructor for an ILC Session.

Refer to the Absorb Data Mapping document from this helpdesk article for more information on the objects above.


Data Examples





Marketing 101,901,OnlineCourse,0,Course description 1,0,1,1,1,1,1
Introduction to Calculus,902,InstructorLedCourse,0,Course description 2,1,1,1,0,,1


Published on
Have more questions? Submit a request


Please sign in to leave a comment.