Introduction
When working with Instructor-Led Training (ILT) and Virtual Instructor-Led Training (VILT) courses, you can bulk import sessions and events via CSV files, speeding up the creation of sessions and events in your platform.
Requirements & limitations
- Some external systems, such as Zoom (opens in a new tab) might implement limitations on the number of events created during a certain period. Remember to check if these limitations are in place before the import.
What are CSV (.csv) files?
Comma-Separated Values (CSV) files store tabular data in plain text. Each line of a CSV file is a data record/row. Each record/row consists of one or more fields/columns separated by a delimiter.
CSV files can be created with a number of software programs (i.e. Excel, Google Sheets, Notepad, TextEdit, Emacs). The content within the file must follow the CSV Standard format and the file must have a “.csv” file extension.
How are CSV files generally formatted?
CSV files should follow a standard format:
- Fields/columns are separated by a single character delimiter, typically a comma or semicolon.
- Each record/row is terminated by a new line.
- All records/rows have the same number of fields/columns in the same order.
- The first record/row may be a header that contains the field/column names of each field/column.
- Data within each field is interpreted as a sequence of characters or plain text.
- Any field may be quoted within double-quote characters.
- A field should be quoted when it contains one or more special characters.
- Leading and trailing spaces are considered part of the data in a field.
Importing sessions via CSV
To bulk import sessions via CSV, log into your platform as the Superadmin. Access the Admin menu by scrolling your mouse over the gear icon in the top right corner of the page. In the E-Learning section, press the Course management item.
While on the Course management page, identify the ILT / VILT course for which you want to import sessions via CSV, click on its description, and, once in the course area, move to the Sessions tab. From here, click on the plus button and select the New sessions via CSV option.
In the Import ILT sessions panel, drag and drop your CSV file into the upload section, or press the Browse button to find it on your device.
For a successful upload, it is important to create a CSV file properly formatted. Please consult the following table for the accepted values for the session data fields. For more information, please see Creating and managing ILT and VILT courses.
CSV field name | Description |
---|---|
course_id |
The internal course identifier in a specific platform database; it is determined by the platform and cannot be modified or removed. You have to include either the Course ID or the Course UUID in the CSV file for a successful import, but both fields cannot coexist in the same CSV row or the import procedure will return an error. Accepted values: |
course_uuid |
The unique alphanumeric course identifier is automatically calculated by the platform when the course is created. It cannot be modified or removed. You have to include either the Course ID or the Course UUID in the CSV file for a successful import, but both fields cannot coexist in the same CSV row or you will receive an import error. Accepted values: |
instructors_username |
The list of the session's instructors, identified by their usernames. The Instructor ID(s) and the Instructor Username(s) fields are optional, and cannot coexist in the same CSV row or you will receive an import error. This field is case-sensitive. Accepted values: Example: |
instructors_id |
The list of the session's instructors, identified by their User ID. The Instructor ID(s) and the Instructor Username(s) fields are optional, and cannot coexist in the same CSV row or you will receive an import error. Accepted values: Example: |
id_session |
The internal session identifier in a specific platform database. It is determined by the platform and cannot be modified or removed. You have to include either the Session ID or the Session UUID in the CSV file for a successful import, but both fields cannot coexist in the same CSV row or the import procedure will return an error. Accepted values: |
session_uuid |
The unique alphanumeric session identifier is automatically calculated by the platform when the course is created. It cannot be modified or removed. You have to include either the Session ID or the Session UUID in the CSV file for a successful import, but both fields cannot coexist in the same CSV row or the import procedure will return an error. This field is case-sensitive. Accepted values: |
name |
The name of the session. Accepted values: |
code |
The code of the session. Accepted values: |
description |
The description of the session. Accepted values: |
min_enroll |
The minimum number of learners needing to be enrolled in the session. Accepted values: |
max_enroll |
The maximum number of learners allowed to be enrolled in the session. Accepted values: |
score_base |
The maximum score for the session evaluation. It must be greater than or equal to This field is mandatory when the session Evaluation Type is set to Accepted values: |
enrollment_deadline |
The deadline for the learner to self-enroll in the session. The Self Enrollment Deadline and the Self Enrollment Dynamic Deadline fields cannot coexist in the same CSV row or you will receive an import error. For more information, see Managing Self Enrollments and Waiting Lists. Accepted values: Format: Example: |
custom_deadline_days |
The number of days before the session start date the learner can self-enroll in the session. The session start date is the first day of the first event of the session in chronological order. The Self Enrollment Deadline and the Self Enrollment Dynamic Deadline fields cannot coexist in the same CSV row or you will receive an import error. For more information, see Managing Self Enrollments and Waiting Lists. Accepted values: |
evaluation_type |
The type of evaluation for the session. Possible values are:
Accepted values: |
min_attended_dates_for_completion |
The minimum number of events that learners have to attend in a session to mark it as completed. If this field is not set, the completion is set to All Events. Set the Minimum Events Attendance field with a number greater than or equal to This field can be used only when the session Evaluation Type is set to Accepted values: |
Undefined |
Mandatory session additional fields. If you do not fill it, you will not be able to import the session. Accepted values: |
To view a correct CSV example, select the Download a sample CSV file item in the slide-out panel. Please note that dates are formatted as YYYY-MM-DD
, but your spreadsheet may display them differently, depending on the program you used to open the CSV sample.
The maximum file size of a CSV file that you’re able to import into your platform for a user upload is 3MB.
After selecting the file, click on the Advanced settings section to view and configure the additional settings. The system is configured to automatically detect the Field separator, which is needed to organize the information by columns. Information can be additionally organized by a comma, a semicolon, or manually, depending on your needs.
Flag the option that the first row is considered a Header only if this fits your CSV file format, and select the File charset from the dropdown menu. As for the File Charset, we recommend UTF-8, which is standard. Please remember to use quotation marks to delimit the text content. Press Confirm to upload your CSV file.
The system will then process your CSV file. Once ready, you will be redirected to the page used to map the fields included in your CSV file with the Docebo available fields.
The Preview section will display a preview of the CSV file as read by the system. Drag and drop the fields in the Docebo Fields section on the left to match the fields with the column names of your CSV file.
Once you’ve matched the fields for all of your columns, review all of the info on the import page. Before proceeding, you can save the fields you have mapped as a preset, so that the same mapping will be used for your future CSV imports. To do so, in the Preset area of the left panel, click on Save this preset as new. In the pop-up box, provide a name for the preset, then press Save. Once created, a preset cannot be deleted, but you can overwrite it by clicking on the Overwrite actual preset.
When ready, click on the Import button at the bottom of the page. The Import button is enabled only when the mandatory fields (Course ID, Session Name, Maximum Enrollments Evaluation Type, Maximum Score if the evaluation type is Evaluation Based) are mapped. Read the information in the pop-up message that will be displayed, then press Import ILT sessions.
The import job happens in the background. In case of any errors, an error file will be made available for download. To find this file, access the Admin menu, then select the Background jobs item. Find the job in the list to download the file.
All of the sessions that were imported into the platform will be listed in the Sessions tab of the course.
Remember: Power Users are allowed to import sessions only for the courses they are assigned to.
Importing events via CSV
To bulk import events via CSV, while on the Course management page, identify the ILT /VILT course for which you want to import events via CSV, click on its description, and, once in the course area, move to the Sessions tab. From here, click on the session name and move to the Events & Attendance tab. Click on the plus button in the top right corner and select the New events via CSV option.
In the Import ILT events panel, drag and drop your CSV file into the upload section, or press the Browse button to find it on your device.
For a successful upload, it is important to create a CSV file properly formatted. Please check the following table for the accepted values for the event data fields. For more information, please see Creating and managing ILT and VILT sessions.
CSV field Name | Accepted values | Description |
---|---|---|
id_session |
Numeric | The internal session identifier in a specific platform database. It is determined by the platform and cannot be modified or removed. You have to include either the Session ID or the Session UUID in the CSV file for a successful import, but both fields cannot coexist in the same CSV row or the import procedure will return an error. |
session_uuid |
String | Unique alphanumeric session identifier, automatically calculated by the platform when the course is created. It cannot be modified or removed. You have to include either the Session ID or the Session UUID in the CSV file for a successful import, but both fields cannot coexist in the same CSV row or the import procedure will return an error. This field is case-sensitive. |
instructors_username |
String | The list of the event's instructors, identified by their usernames. The Instructor ID and the Instructor Username fields are optional, and cannot coexist in the same CSV row or you will receive an import error. This field is case-sensitive. |
instructors_id |
Numeric (array) |
The list of the event's instructors, identified by their User ID. The Instructor ID and the Instructor Username fields are optional, and cannot coexist in the same CSV row or you will receive an import error. Example: |
event_id |
Numeric | The unique event identifier is automatically calculated by the platform when the course is created. It cannot be modified or removed. When this field is set, the import process will update the event with the CSV data. |
name |
String | The name of the event. |
description |
String | Text describing the event in question. |
day |
Date | The date the event takes place. Format: YYYY-MM-DD
Example: |
time_begin |
Time | The time the event begins. Format: HH:mm:ss
Example: |
time_end |
Time | The time the event ends. Format: HH:mm:ss
Example: |
break_begin |
Time | The time the break begins. The break time is optional but, when used, both the Break Start Time and the Break End Time fields must be specified. The Break Start Time must occur after the Event Start Time and before the Break End Time. Format: HH:mm:ss
Example: |
break_end |
Time | The time the break ends. The break time is optional but, when used, both the Break Start Time and Break End Time fields must be specified. The Break End Time must occur after the Break Start Time and before the Event End Time. Format: HH:mm:ss
Example: |
timezone |
Region / Locale | This field must match the timezone name format (without GMT + XX:XX) in the platform.
Example: The time zone format for Jerusalem is For more information, please see Managing the Time Zone in your platform. |
id_classroom |
Numeric | The ID of the classroom. It is determined by the platform and cannot be modified or removed. This is an optional field that can be specified when Location ID is set. For more information, please see Managing Locations and Classrooms for ILT Classroom Courses. |
id_location |
Numeric | The ID of the location. It is determined by the platform and cannot be modified or removed. Every event must have a Location ID, a Video Conference Tool, or both. For more information, please see Managing Locations and Classrooms for ILT Classroom Courses. |
collaboration_tool |
String | Optional text to specify an external collaborative tool for learners to get in touch and interact on the course topic. |
webinar_tool |
String | Use this field to set the Video Conference Tool for the VILT event. Accepted values are:
custom and specify the webinar URL in the Video Conference Custom URL field. This URL is the web page that opens when learners click Join to access the webinar. |
id_tool_account |
Numeric | Internal webinar account identifier. It is determined by the platform and cannot be edited or removed. It becomes a mandatory field when the Video Conference Tool field has a value and it is not set to custom . It must not be used in other cases. |
password |
String | Password to access the webinar. It becomes a mandatory field when the Video Conference Tool option is enabled and it is not set to custom .If not specified, the system will automatically generate a password for the VILT event. Please note: If this row is being used to import a Zoom V3 event, the value of the password field must match the Zoom passcode requirements. For more information please see Docebo VILT for Zoom Version 3. |
custom_url |
String | This field is a mandatory field when the Video Conference Tool option is enabled and it is not set to custom . |
allow_recording_completion |
Boolean | If set to TRUE then the event is marked as attended if the user accesses the recordings.This field is mandatory when a Video Conference Tool is specified. Example: ( |
allow_join_completion |
Boolean | If set to TRUE then the event is marked as attended if the user joins the webinar.This field is mandatory when a Video Conference Tool is specified. Example: ( |
join_in_advance_time_user |
Duration of time | Specifies the amount of time that a learner can join a video conference in advance of the scheduled start time. This field is optional and can be used only when a Video Conference Tool is specified and when configuring the Join Button Options for learners and instructors. The learner join in advance time cannot be earlier than the Join in Advance Time for Instructor value. Format: HH:mm
Example: A value of |
join_in_advance_time_teacher |
Duration of time | Specifies the amount of time that an instructor can join a video conference in advance of the scheduled start time. This field is optional and can be used only when a Video Conference Tool is specified and when configuring the Join Button Options for learners and instructors. The instructor join in advance time cannot be later than the Join in Advance Time for Learner value. Format: HH:mm
Example: A value of |
xapi_oauth_account |
String | The xAPI (TinCan) OAuth Account. For more information about xAPI, please see Uploading xAPI (formerly Tin Can API) Content. |
xapi_url |
String | The xAPI (Tin Can) external content URL. Learn more about Uploading xAPI (formerly Tin Can API) Content. |
required_completion_percentage |
Numeric | This field is optional and can be used only when a Video Conference Tool is set to Adobe Connect V2 Meeting or Adobe Connect V2 Webinar .Learn more about Docebo for Adobe Connect Version 2. |
adobe_connect_v2_template |
String | This field represents the SCO-ID of the template in the Adobe Connect V2 Account. It is optional and can be passed as an empty string. Learn more about Docebo for Adobe Connect Version 2. |
adobe_connect_v2_folder |
String | This field represents the SCO-ID of the folder in the Adobe Connect V2 Account. It is optional and can be passed as an empty string. Learn more about Docebo for Adobe Connect Version 2. |
adobe_connect_v2_room |
String | This field represents the SCO-ID of the room in the Adobe Connect V2 Account.It is optional and can be passed as an empty string but becomes mandatory when using Adobe Connect V2 Webinar as a Video Conference Tool. |
zoom_v3_account_id |
Numeric | This field represents the ID of the Zoom version 3 account paired with the integration. Learn more about Docebo VILT for Zoom Version 3. |
zoom_v3_host |
Numeric | This field represents the Zoom V3 Host. It accepts the User ID of the host user as a value. Learn more about Docebo VILT for Zoom Version 3. |
zoom_v3_settings_template |
String | The ID associated with the Template by Zoom. Learn more about Docebo VILT for Zoom Version 3. |
zoom_v3_percentage |
Numeric | The percentage of time that the learner needs to spend in the Zoom event to be marked as present in the event. This can be a value from 1 to 100 .Learn more about Docebo VILT for Zoom Version 3. |
zoom_v3_registration_enabled |
Boolean | Enables mandatory registration for all users. Set to TRUE , ensures that a user who wishes to join your meeting or webinar, must be logged into Zoom in order to do so. If the user is not logged in to Zoom then the user is registered in Zoom using the email address, first name and last name used in Docebo.This should be set to TRUE if you want to ensure that the learner will be using the same email address in Zoom as they are using in Docebo. If they do not use the same email address and if their Zoom user account is not paired with Docebo, their attendance will not be registered.
Please note: Docebo is only able to track a learner's progress and attendance if they are logged into Zoom while attending a meeting. If a learner is not logged into Zoom, setting this value to
An empty value indicates FALSE .Learn more about Docebo VILT for Zoom Version 3. Example: ( |
zoom_v3_alternative_hosts |
Numeric (array) |
The list of the event's alternative zoom hosts, identified by their User ID. This field is optional. Example: |
To view a correct example, select the Download a sample CSV file item in the slide-out panel. Please note that dates are formatted as YYYY-MM-DD
, but your spreadsheet may display them differently, depending on the program you used to open the CSV sample.
The maximum file size of a CSV file that you’re able to import into your platform for a user upload is 3MB.
After selecting the file, click on the Advanced settings section to view and configure the additional settings. The system is configured to automatically detect the Field separator, which is needed to organize the information by columns. Information can be additionally organized by a comma, a semicolon, or manually, depending on your needs.
Flag the option that the first row is considered a Header only if this fits your CSV file format, and select the File charset from the dropdown menu. As for the File Charset, we recommend UTF-8, which is standard. Please remember to use quotation marks to delimit the text content. Press Confirm to upload your .csv file.
The system will then process your CSV file. Once ready, you will be redirected to the page used to map the fields included in your CSV file with the Docebo available fields.
The Preview section will display a preview of the CSV file as read by the system. Drag and drop the fields in the Docebo Fields section on the left to match the fields with the column names of your CSV file.
Once you’ve matched the fields for all of your columns, review all of the info on the import page. Before proceeding, you can save the fields you have mapped as a preset, so that the same mapping will be used for your future CSV imports. To do so, in the Preset area of the left panel, click on Save this preset as new. In the pop-up box, provide a name for the preset, then press Save. Once created, a preset cannot be deleted, but you can overwrite it by clicking on the Overwrite actual preset.
When ready, click on the Import button at the bottom of the page. The Import button is enabled only when the mandatory fields (Session ID, Date Name, Day, Start Time, Time End, Time Zone as well as the events mandatory fields) are mapped. Read the information in the pop-up message that will be displayed, then press Import ILT events.
The import job happens in the background. In case of any errors, an error file will be made available for download. To find this file, access the Admin menu, then select the Background jobs item. Find the job in the list to download the file.
All of the events imported into the platform will be listed in the Events & Attendance tab of the course session.
Remember: Power Users are allowed to import events only for the courses they are assigned to.