Sandbox release disclaimer: Some content in this article outlines how to use functionalities that will be publicly released to all clients at the end of January 2026. If you see differences between this article and your platform, check back at that time. Learn more about the release cycle.
Introduction
Learners can either be enrolled in learning plans by Superadmins, Power Users with granted permissions, or they can self-enroll from catalogs.
This article explains how Superadmins and Power User can enroll users in learning plans, either individually or in bulk, both from the user interface and using CSV files. Please note that Power Users are allowed to enroll users only in the learning plans assigned to them as resources.
Requirements and limitations
The CSV files used to enroll or unenroll users in learning plans must not exceed 3MB in size.
The procedure to enroll users via CSV is not intended to manage the status of enrollments either. For this reason, when you enroll users via CSV file, the user learning plan enrollment status is always set to enrolled.
Enrolling users in a learning plan
To enroll learners in a learning plan, move to the learning plan Enrollments tab. Either click Enroll users in the tab (this option is available only if you do not have enrolled users in the learning plan yet) or the plus button in the top right corner. Select the users to enroll from the Enroll users panel that opens as individual users, branches or groups. When enrolling users from branches, note that if your organizational chart has more than 1,000 branches, you will find a text input field for quicker selection instead of a list.
Click Next and set whether you need to set an enrollment validity period by selecting the option Enable enrollment validity period and defining a time frame.
If you set an enrollment validity period for the learning plan, learners will be able to access the learning plan for a limited time. Once the end date is reached, the learner's enrollment expires, resulting in the inability to access the learning plan any further. In addition, the same enrollment validity period will apply to all of the courses included in the plan. If a course is part of multiple learning plans and a user's enrollment expires in one plan, they will lose access to the course only in that plan but can still access it in other plans with different enrollment periods.
If the Show the Enrollment attributes section option is enabled in the platform's advanced settings menu, the Enroll users panel, Additional information tab, also displays the Enrollment attributes section allowing you to configure the enrollment priority to clarify the importance of the learning plan or for learners, indicating whether it is mandatory, required, recommended or optional. The learning plan enrollment priority is not inherited by the user’s enrollments in the plan’s courses, and it is displayed on the learning plan card in the My courses and learning plans page.
Please note. Courses in a learning plan can be either mandatory or optional, and this information is shown in the course details within the course list on the learning plan page. If a user’s enrollment in a course within a learning plan has a priority, the value is shown on the course card in the My courses and learning plans page, but not in the course details on the learning plan page.
Click Confirm to finalize the enrollments.
All the users enrolled in the learning plan are listed in the Enrollments tab. You can customize the table layout to show only the columns that are relevant to you. To do so, click on Columns and select the columns (up to nine) to include in the table. Use the Change position command to drag and drop the columns in the list, sorting them according to your needs. Use the search area to look for users or filter them by clicking on Filters and selecting the relevant ones. Filters are applied in real time.
You can manage single enrollments by clicking on the ellipsis menu at the end of the user row and select one of the following options:
Edit
Use this option to
change the user enrollment validity period by enabling or disabling it, or changing it. Please note that if you edit the enrollment by leaving the Start of validity date empty, then both the start and the end of validity dates will be overwritten according to the configuration of the Enrollment validity period option in the Time options section of the learning plan Properties tab, as if they were reset. See the description of the Reset the enrollment validity option for more details.
modify the enrollment priority, which will affect all the courses within the learning plan.
Reset the enrollment validity
Reset the current enrollment validity period according to the configuration of the Enrollment validity period option in the Time options section of the learning plan Properties tab. If you have not set the days of validity, the enrollment validity period will be cleared. If you have configured the days of validity, the enrollment validity period will be reset according to the period you configured:
If you select the option Start the calculation from the first time learners access any course in the learning plan, the enrollment validity period is recalculated according to the learner’s older first access among the courses composing the plan.
If you select the option Start the calculation from when learners are enrolled in the learning plan, the enrollment validity period is recalculated according to the learner’s enrollment date.
Mark learning plan as complete
Use this option to change the user enrollment status in the learning plan to Completed. The enrollment status is updated independently of the plan publication status. When you mark a learning plan as completed, the courses within the plan will retain their current completion status and will not automatically change to Completed.
Use this option to recalculate the user's enrollment status in the learning plan. If the user has already completed the plan and the recalculation also results in a Completed status, the original completion date will be retained and not overwritten. The enrollment status is updated independently of the plan publication status. The recalculation will be carried out as follows:
When a mandatory course is removed from the plan or changed to optional, completed enrollments remain unchanged, while in-progress enrollments will be marked as completed if the removed course was the only remaining one to complete.
When a mandatory course is added to the plan or an optional course is changed to mandatory, completed enrollments will be set as In progress.
You can manage enrollments and unenrollments for multiple users at once by selecting the users you wish to unenroll using the checkboxes at the beginning of the rows, and then clicking Choose action at the bottom of the table, and then one of the options listed in this chapter.
Enrolling users in learning plans using CSV files
Manual enrollment through the user interface can be time-consuming if you are managing large numbers of learners and multiple learning plans. To streamline this process, CSV enrollment provides a powerful alternative, enabling bulk enrollment with ease.
You can enroll users in multiple learning plans as described in the following paragraphs or opt to enroll them in a single learning plan by selecting it from the Learning plans page and following the same steps. When enrolling users in a single learning plan, specifying the learning plan’s ID is not required.
To enroll users in learning plans using CSV files, access the Admin menu by clicking on the gear icon in the top right corner of the platform, identify the E-learning section, and click on Learning plans. Then, use the plus button in the top right corner to select Manage enrollments via CSV.
The slideout panel Manage enrollments via CSV will open on the right side. Select the Enroll users option.
For a successful upload, it is important to create a CSV file properly formatted. Please see the following table for the accepted values.
Docebo data field
Acceptable CSV values
Notes
username
string
Usernames of the users to enroll, separated by a comma.
This field is mandatory both when enrolling and unenrolling users.
user_id
string
IDs of the users to enroll, separated by a comma.
This field is mandatory both when enrolling and unenrolling users.
learning_plan_id
numeric
The learning plan identifier in the platform database; it is determined by the platform and cannot be modified or removed.
You have to include either the Learning plan ID or the Learning plan UUID in the CSV file for a successful enrollment or unernollment, but both fields cannot coexist in the same CSV row or the import procedure will return an error.
learning_plan_uuid
string
The unique alphanumeric learning plan identifier is automatically calculated by the platform when the learning plan is created. It cannot be modified or removed.
You have to include either the Learning plan ID or the Learning plan UUID in the CSV file for a successful enrollment or unernollment, but both fields cannot coexist in the same CSV row or the import procedure will return an error.
timezone
Expressed according to the IANA timezone database (Europe/Rome, etc…). If not specified, the default format is UTC.
This field is optional and for informational purposes only. It does not impact the enrollment start or end dates.
Enrollment start of validity date. The default format of the date is UTC.
This field is not mandatory.
active_untill
YYYY-MM-DD HH:MM:SS
Example: 2025-12-25 00:30:45
Enrollment end of validity date. The default format of the date is UTC.
This field is not mandatory.
built-in enrollment attribute
mandatory
required
recommended
optional
If the Show the Enrollment attributes section option is enabled in the platform's advanced settings menu, you can configure the enrollment priority to clarify the importance of the learning plan for learners, indicating whether it is mandatory, required, recommended, or optional.
Click on Download the sample CSV file for an example of file formatting. Remember that the sample file always includes all of the available fields. Depending on your use case, not all the columns may be needed. When downloading the sample file, note that dates are formatted as YYYY-MM-DD, but they may display differently, depending on the program you used to open the file.
When your CSV file is ready, you can either drag and drop it into the upload section of the slideout panel or click the upload area to find the file on your device.
Once the file is uploaded, you can configure additional options. The system is configured to automatically detect the Field separator needed to organize the information by columns. Information can be divided by a comma, a semicolon, or manually, depending on your needs.
Enable the option to consider the first row as a header, if this fits your CSV file format, and select the File charset from the dropdown menu. We recommend the UTF-8 charset, 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, and you will be redirected to the Import page.
In the General import options section, select a time zone to apply to CSV enrollment records that do not have a time zone specified. This selection does not affect records that already include a time zone.
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 have matched the fields for all of the columns you need, review all of the info on the import page, then press the Import button at the bottom of the page. Confirm the information in the pop-up message that will be displayed, then press Enroll.
The import job happens through a background job. 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.
Once the CSV file is processed, all the enrolled users are listed in the learning plan's Enrollments tab, where you can edit the enrollment details.
Tip. You can use the CSV files to unenroll users from learning plans following the same procedure.
Automatic enrollment in the courses of a learning plan
The general rule for learning plans is that a user who is enrolled in a learning plan must also be enrolled in all the courses of that learning plan. If, for example, you are enrolling the user in 7 learning plans, each one made up of 50 courses, the user will be enrolled in 350 courses.
Consequently:
When you enroll a user in a learning plan, they are automatically enrolled in all its courses.
If you add a course to a learning plan, the users enrolled in the learning plan are automatically enrolled in the newly added course, even when their status is deactivated or expired.
A background job will be started if the number of selected users multiplied by the number of courses exceeds 100 enrollments, supporting up to 250,000 enrollments.
However, course enrollments are not lost as a result of changes to learning plans. In particular:
If you remove a course from a learning plan, the learning plan’s users are not unenrolled from that course.
(If you unenroll a user from a learning plan, you can choose whether or not to also unenroll them from the courses composing that plan).
Unenrolling users from a learning plan
To unenroll the user from the learning plan, click on the ellipsis menu at the end of the user row and select Unenroll.
In the pop-up window that opens, set whether you wish to unenroll the user also from the courses included in the learning plan. Remember that users will not be unenrolled from the courses shared with other learning plans. When selecting this option, you will then be able to choose whether to keep the user enrolled in the courses with completed and/or In progress status. Click Unenroll to finalize the action.
Depending on the number of unenrollments, a background job may start. The tracking of the training materials included in the courses will not be reset upon unenrollment. If the user is enrolled back in the course, the completion status of the training materials will be restored.