Bulk Import Live Courses and Classes
If you have many live courses and classes to set up in the Skillsoft Platform, you can bulk add them using a CSV import file. The process occurs in two steps: you must first import the courses, then you can import the classes and sessions.
You can import courses with past dates to retain historical records.
Get started
To get started with the bulk import, you must first download and complete the template. You then upload your saved CSV to create your courses.
We also recommend that you download the template guide for instructions on how to use the template. When you specify the correct information, you ensure the import will validate and be successful.
Step 1: Bulk Add Courses
To bulk add courses:
- From the left navigation of the admin menu, select Content > Live courses (ILT).
- From the Bulk Import drop down, select Start new import.
- Select Import live courses.
- Select Start import.
- On the page that displays, select Download template and Download template guide.
- Complete the template according to the guide instructions.
- Upload your CSV file. The system validates it. If there are any errors, you must fix them to continue.
- Once the upload completes, you see a list of all your courses on the Live Course page. You must add your courses to a channel or journey for learners to discover them.
Step 2: Bulk Add Classes
To bulk add classes:
- From the left navigation of the admin menu, select Content > Live courses (ILT).
- From the Bulk Import drop down, select Start new import.
- Select Import live classes.
- Select Start import.
- On the page that displays, select Download template and Download template guide.
- Complete the template according to the guide instructions.
- Upload your CSV file. The system validates it. If there are any errors, you must fix to continue. Once the upload completes, learners can register for the upcoming classes.
Course Template Descriptions
The following table describes the fields for the bulk import template for the courses:
| Item | Required | Description | Valid values |
| Status | Yes |
The status that shows when viewing the item on the Course list page. If you enter a value of Published, you must add the live course to a channel or a journey and publish that in order for learners to see it and register for it. |
Valid values include:
|
| Title | Yes | A title for the course. The words you use here also become keywords for searching. | Any text string. |
| Description | Yes | A description of what the user can expect to learn. | Any text string. |
| Course imagepath | No |
An image that displays to learners who find the course through search or through browsing the library. If you do not specify one, the platform uses the default image for live courses. |
Valid URL to the image. Image specifications:
|
| Alt text | No |
Specify a description of your image to be read by screen readers if your image contains important text or content. |
Any text string. |
| Content language | Yes | If learners change their Skillsoft Platform site language, they only see the live courses created in this language. |
Select the character code from this list. For example: |
| Duration | Yes | The number of hours and minutes a learner can expect to spend attending the class. |
Enter total number of seconds. For example 1 hour and 30 minute class is |
|
|
Yes |
Identify where the content comes from such as a vendor, department, or person.
You can use this value to filter reports. If you do not know what to specify, use the Organization name you defined in Settings. |
Any text string |
|
|
No | Any instructions, directions, prerequisites, or costs associated with the course that you want the learner to see. | Any text string |
| Expert Level | Yes | Select a level that users should have to understand this content. You choices are Beginner, Intermediate, Expert, and Everyone. |
Valid values are the number only:
|
| Technology Title | No | If you are supporting many items around one type of technology, enter that here, for example, Microsoft Excel or Google Docs. |
Any text string It is best to understand what your organization uses for this field and enter the exact phrasing to remain consistent. |
| Technology Version | No | If you are supporting many items around a particular type of technology with multiple supported versions, enter that version here, for example, Microsoft Excel 365. |
Any text string It is best to understand what your organization uses for this field and enter the exact phrasing to remain consistent. |
| External ID | No | This is a unique identifier you can use to search for your custom content in Skillsoft Platform Admin. The external ID does not display to learners in any search results or content cards. |
Any text string It is best to understand what your organization uses for this field and enter the exact coding to remain consistent. |
|
|
Yes |
Decide if an admin or managers need to approve a learner's request to register for a class. If you require managers to approve registrations, ensure users have an Approval Manager assigned for each user. By default, the system uses no approval. |
Valid values are the number only:
|
| Min Enrollment | Yes | The number of participants that need to register to hold the class. The platform sends a notification to the admin and instructor five days before the class start date if the minimum enrollment capacity has not been met. |
Enter an integer to indicate the minimum number of participants needed to attend. 0-9999 |
| Allow Reg | Yes |
Allow learners to self-register for classes. Yes - Learners can click the Register button in the platform to sign up for the class. This is the default setting. No - Learners do not have access to a Register button. The course and class appear as Closed to learners. Administrators register users in this scenario. |
Valid values are the True | False only:
|
| Allow Self Withdraw | Yes |
Allow learners to self-cancel their registration from class. Yes - Learners can click Cancel to remove themselves from the class roster. No - Learners do not have access to a Cancel button and cannot remove themselves from the class roster. This is the default setting, which only allows administrators to remove learners from the class roster. |
Valid values are the True | False only:
|
| Low Enrollment Alert | Yes |
Indicate if the instructor and site admins receive email notifications if the minimum enrollment is not reached by the specified date. Yes means they receive the email, no means they do not. |
Valid values are the True | False only:
|
| Ins Can Manage Roster | Yes |
Indicate if the instructor of the course can manage the roster. Yes allows them to manage the roster. No does not. |
Valid values are the True | False only:
|
| Can join waitlist | Yes |
If class capacity is reached, allow learners to join waitlist. Yes - Learners can click the Join Waitlist button if the class is full. This is the default setting. No - Learners do not have access to a Join Waitlist when the class is full. |
Valid values are the True | False only:
|
| Reg Deadline | Yes |
You can close self-registration one or more days before the class start date, or set to zero to allow self-registration until the class start date.
|
Enter an integer to indicate the number of days prior to class start to close registration. 0-n |
| Withdraw Deadline | Yes |
You can close self-cancelation one or more days before the class, or set to zero to allow self-cancelation until the class start date. Number of days prior to the class start date that learner cancellations are accepted. Minimum value is 0. |
Enter an integer to indicate the number of days prior to class start to close registration. 0-n |
| Location name | No | The location where the course usually takes place. This can be overwritten by class import. | Exact name of location from the Location list with exact capitalization and punctuation. |
| Classroom name | No |
The name of the classroom where the course usually takes place. This can be overwritten by class import. To specify multiple classrooms, separate by the semicolon and no spaces. |
Exact names of classrooms associated with the location with exact capitalization and punctuation. For example if you have Classroom A, Classroom B and Classroom C all of which are options for the location, you can enter the following separated by ;
|
| Published date | No | If you are entering historical list of courses, you can enter a date of when the course was last published. |
Use the date format:
|
| First Published date | No | If you are entering historical list of courses, you can enter a date of when the course was first published. |
Use the date format:
|
| Contact name | No | A person available to answer questions about the class or registration. | Any text string |
| No | The email address for the contact person. | Any text string | |
| Phone number | No | The phone number for the contact person. | Any text string |
Class and Session Template Details
The following fields are available for the class bulk import template. Where no data is specified, see the course template details table.
| Item | Required? | Description | Valid Values |
| Status | Mandatory |
The status that shows when viewing the item on the Course list page. If you enter a value of Published, you must add the live course to a channel or a journey and publish that in order for learners to see it and register for it. |
Valid values include:
|
| Title | Mandatory | A title for the class. The words you use here also become keywords for searching. | Any text string. |
| ExternalId | Optional | This is a unique identifier you can use to search for your custom content in Skillsoft Platform Admin. The external ID does not display to learners in any search results or content cards. |
Any text string. It is best to understand what your organization uses for this field and enter the exact coding to remain consistent. |
| CourseTitle | Optional |
Enter the title of the course to which this class is associated. You must enter either the course title or the course external ID. |
Enter the exact course title including capitalization and punctuation. |
| CourseExternalId | Optional |
Enter the external ID of the course to which this class is associated. You must enter either the course title or the course external ID. |
Enter the external ID of the course. |
| Minimum Enrollments | Optional | The number of participants that need to register to hold the class. The platform sends a notification to the admin and instructor five days before the class start date if the minimum enrollment capacity has not been met. |
Enter an integer to indicate the minimum number of participants needed to attend. 0-9999 |
| Maximum Enrollment | Optional | The number of participants that are allowed to take the class at one time. |
Enter an integer to indicate the maximum number of participants that can attend. 0-9999 |
| TimeZone | Mandatory | Enter the time zone in in which the class takes place. |
Use IANA format. The value should be Region/City For example:
|
| Schedule Dates | Mandatory |
Enter when the class takes place. If a class has multiple sessions separate each session by a pipe | character, no spaces. Note: If you specify an existing class title or external ID, any values entered in the Schedule dates column during bulk update will be ignored. Session dates and times use this format: yyyy-mm-ddThh:mm:ssZ;yyyy-mm-ddThh:mm:ssZ (separate sessions by |). |
The valid syntax is no spaces: Session1 StartDateTime;EndDateTime|Seesion2 StartDateTime;EndDateTime Use the date format:
For example, for a class that took place on November 18, 2025 from 10 to 11 am, and also on November 19, 2025 from 10-11 am, the format is as follows:
|
| ClassType | Mandatory | Specify whether the class will be held online, in person or both. |
Valid values are the number only:
|
| TeamsMeeting | Optional |
Indicate whether the class should be a Microsoft Teams meeting. You must have set up the MS Teams integration to use this feature. If yes, the Skillsoft platform will generate a valid meeting URL when it creates the class. The URL will be added to the class and any email communications that go out about it. If no, you must specify a URL for an online meeting or a physical location so participants know where to attend. |
Valid values are the True | False only:
|
| MarkAttendance | Optional |
If you specified that you want the class to set up an MS Teams meeting and generate a URL, you can also specify if you want the Skillsoft Platform to automatically mark attendance in the platform based on the MS Teams attendance report. Skillsoft only marks a learner as complete if they have perfect attendance for all sessions of an MS Teams meeting according to the MS Team Attendance report. If yes, the platform identifies which learners were in attendance for all sessions and marks them complete. If learners were not in attendance for all sessions, the platform does not take any action. You or an instructor must mark attendance for the learner. If no, then you must mark attendance for all learners of the class. |
Valid values are the True | False only:
|
| MinimumCompletion | Optional |
Enter a score between 1 and 100 that will be automatically granted to learners if you selected to have MS Teams automatically mark attendane. This field is only used if both TeamsMeeting and MarkAttendance are true. |
Enter an integer between 1 and 100. |
| Instructors | Optional |
Enter instructor login names, separated by a semicolon ;. This field is mandatory if TeamsMeeting is true. |
Instructor login names separated by ; |
| LaunchURL | Optional | This field is auto generated when TeamsMeeting is true. | NA |
| ClassInstructions | Optional | Any specific instructions for the class. | Any text string |
| LearnerNotes | Optional | Any instructions, directions, prerequisites, or costs associated with the course that you want the learner to see. | Any text string. |
| LocationName | Optional | The location where the class takes place. This overwrites what is in the course field for location. | Exact name of location from the Location list with exact capitalization and punctuation. |
| ClassroomName | Optional |
Enter the classroom name associated with the location where the class will take place. If you have anything specified at the course level, it is overwritten with this value. Accepts multiple values with ; delimiter. |
Exact names of classrooms associated with the location with exact capitalization and punctuation. For example if you have Classroom A, Classroom B and Classroom C all of which are options for the location, you can enter the following separated by ;
|
| CanJoinWaitlist | Mandatory |
If class capacity is reached, allow learners to join waitlist. Yes - Learners can click the Join Waitlist button if the class is full. This is the default setting. No - Learners do not have access to a Join Waitlist when the class is full. |
Valid values are the True | False only:
|
| AllowRegistration | Mandatory |
Allow learners to self-register for classes. Yes - Learners can click the Register button in the platform to sign up for the class. This is the default setting. No - Learners do not have access to a Register button. The course and class appear as Closed to learners. Administrators register users in this scenario. |
Valid values are the True | False only:
|
| Registration Deadline | Mandatory | You can close self-registration one or more days before the class start date, or set to zero to allow self-registration until the class start date. |
Enter an integer to indicate the number of days prior to class start to close registration. 0-n |
| Allow Self Withdrawal | Mandatory |
Allow learners to self-cancel their registration from class. Yes - Learners can click Cancel to remove themselves from the class roster. No - Learners do not have access to a Cancel button and cannot remove themselves from the class roster. This is the default setting, which only allows administrators to remove learners from the class roster. |
Valid values are the True | False only:
|
| Withdrawal Deadline | Mandatory |
You can close self-cancelation one or more days before the class, or set to zero to allow self-cancelation until the class start date. Number of days prior to the class start date that learner cancellations are accepted. Minimum value is 0. |
Enter an integer to indicate the number of days prior to class start to close registration. 0-n |
| Contact Name | Optional | A person available to answer questions about the class or registration. | Any text string. |
| Contact Email | Optional | The email address for the contact person. | Any text string. |
| Contact Phone Number | Optional | The phone number for the contact person. | Any text string. |
| Class attributes | Optional | If you specified class attributes, you can provide details in these extra fields. | Any text string. |