Importing and Managing Users via CSV Files

Import and manage users via CSV files in your platform

Last Updated

September 25th, 2020

Docebo Module


Reading Time

10 min

User Level


Docebo allows you to quickly and easily manage users via CSV files so that users can be imported, activated, or deactivated in the platform in one action. CSV files are also useful to assign team members to managers.

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 Users item. On the User Management page, press the folder button in the top right section of the page, then press the Manage Users via CSV button.

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. Here is our complete list of special characters.
  • Leading and trailing spaces are considered part of the data in a field.

How are CSV files used to create and update user accounts?

User accounts in your platform consist of a number of user data fields. Each of these fields may or may not be populated with data, depending on which fields you’ve filled out when creating the user.

To create a user, you should at least populate the user fields that are mandatory for creating a user account (username and any mandatory user additional field). To update an existing user account, you’ll need to update the relevant user fields of the user account with new data. Both creating and editing users (either one user at a time or multiple users at a time) can be done manually, or by importing user data fields into the platform via a CSV file.

For the second option, each user account that you intend to create or update is represented by a record/row in the CSV file. Each user data field is represented by a field/column in the file.

Import the CSV file to the platform, then map the contained data to the corresponding user fields supported by the platform. By doing so, you’re creating and updating user accounts. Find out more about this process using the sections below in this article.

What are the acceptable values for default user data fields?

Refer to the table below to learn how to properly configure the values in your CSV file to ensure a successful mapping to the platform user data fields.

This browser does not support inline PDFs. Please download the PDF to view it: user data fields

Remember that you are able to assign partial permissions to Power Users directly through this function. You can identify users with the level of Power User and assign them a Power User profile. However, you can only assign users, courses, catalogs and locations through the Power Users app.

For a list of acceptable date formats that correspond with each language and language code, refer to this document.

Also note that the platform uses forward slashes ( / ) to separate branch names and codes path when importing branches. If you intend to use the branch name and code path option to import branches, you should avoid creating branch names and codes that contain forward slashes as the platform does not support the use of special characters to identify string behavior when importing branches.

For a list of all the supported time zones, refer to this document.

What are the acceptable values for custom additional user fields?

Refer to the table below to learn how to properly configure the values in your CSV file to ensure a successful mapping to your user additional fields. Please note that the mapping of these fields is dependant on the type of custom additional user field, but the additional field parameter used in the CSV file must match the additional field parameter in the platform perfectly in order for the mapping to work.

import users csv add fields

For a list of all the supported country names, refer to this document.

Importing Users via CSV

For a successful upload, it is important to create a CSV file properly formatted. In order to view a correct example, select Download a Sample CSV File item in the slideout panel. Please note that dates are formatted as yyyy-dd-mm, but your spreadsheet may display them differently, depending on the program you used to open the CSV sample.

Once your file is ready, you can drag and drop it into the upload section of the slideout panel, or press the Browse button to find the file.

The maximum file size of a CSV file that you’re able to import into your platform for a user upload is 3MB.

Once uploaded, press the Advanced Settings title to view the additional settings. The system is configured to automatically detect the Field Separator, which is needed in order to organize the information by columns. Information can be additionally organized by a comma, a semicolon, or manually, depending on your needs.

Then, 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 import page. In the left panel, inside the Import Options section, configure the following options:


In the Preset section, you can select a preset from the dropdown menu to associate a previous mapping configuration to this CSV import. Presets are associated with the user you are using to perform the import action. Also, the list of saved presets is visible in other parts of the platform such as user enrollments into courses via CSV.

Press the Overwrite Actual Preset button to complete this action. Additionally, you can map the columns to platform fields (see more below), then save the configuration by pressing the Save this Preset as New button. In the pop-up box, provide a name for the preset, then press Save

Please Note: once created, a preset cannot be deleted, but you can overwrite the preset if you wish.

General Import Options

This section gathers several parameters concerning the import procedure:

– Force users to change their password at their first login. When this option is activated, users will immediately be asked to change their password after the initial login to the platform.  Please note that if you have not enabled this option, you can still force your users to change their passwords upon their first sign into the platform by creating a corresponding column in your CSV file and matching it to the Force Password Change field.

– Do not force password change for existing users. When this option is flagged, any existing users in the platform that also exist in the newly-imported CSV file will not have to update their passwords like new users (if the Change password at first sign in option is also activated).

– Send Notifications. When this option is activated, all users being imported into the platform will receive a welcome email once the import is complete. If this option is not activated, the users will not receive an email upon being imported, but you can send it later from the User Management page in your platform. Remember that the User has been created (by administrator) notification will be not sent if not configured by you as the Superadmin in the Notification App.

– Create new branches when the fields “branch name path” and “branch code path” are both mapped and the field value (branch) does not exist in the platform. When this option is flagged, and both the branch name path and the branch code path are mapped in the CSV file, a new branch is created in the platform, according to the name and the path defined in the file. 

Update Users

This option allows you to configure how the information of existing users will be updated upon importing the CSV file. When this option is flagged, the imported information for users already existing in the platform will overwrite any existing user information if the user branch remains unchanged. If the branch specified in the CSV file is different from the one currently assigned to users, and your platform has been activated before October 21, 2019,  you can decide whether to copy or to move the users involved in the update to the newly assigned branch. If your platform has been activated after October 21, 2019, when updating data for existing users, users will be moved by default to the new destination branch, you will not have the option to copy them to different branches. This means that it is not possible for a user to be placed in more than one branch.

– Add users to the related branch. When users are copied to another branch, they are available more branches. This section is visible only if your platform was activated before October 21, 2019. In this way, the users in the file will be in multiple branches.

– Move users to the related branch. When users are moved from one branch to another, they are no longer available in the source branch; if they are assigned to multiple branches, they will be deleted from all the branches and moved to the new branch. In this way, the users in the file will only be in one branch.

Please Note: In order to be compliant with regulations (e.g. GDPR) that might require to anonymize the accounts of the people that left the company, we suggest changing the Username, Name, Surname, and email, using instead a code, so that it will still be possible to have the complete statistics, without letting anyone know the user identity. These changes can be done through a CSV update or via APIs (Batch import users).

Destination Fallback Branch 

This section is used for the configuration of an “emergency” destination branch to be used when the destination branch field is not mapped in the Preview area, or when it is mapped, but its value is empty. Select whether to:

– Do Nothing. When this option is selected, and the CSV file includes users to be updated, user information will not be updated, users will remain unchanged. If the CSV file includes new users, they will be created in the Docebo root folder. 

– Use existing branch. When this option is selected, updated users will be moved in one of the existing branches, selectable from the dropdown menu.  

Auto-assign branches to Power Users

From this area, you can configure whether to directly associate the Power Users created with the CSV file to the branch (and sub-branches) they manage by creating a simple branch association or an association between the branches and its descendants. 

– Do not auto assign branches. When this option is selected, Power Users will not be automatically associated with branches, and you will have to activate the association manually.  

– Assigned branches only. When this option is selected, Power Users will manage the branch into which they have been placed during the creation process. 

– Assign branches and sub-branches. When this option is selected, Power Users will manage the branch into which they have been placed during the creation process as well as any descendants of that branch.

Please Note: If you choose the option Assigned branches only or Assign branches and sub-branches, in order for users to automatically be assigned to a Power User on the Assign Users page (that you reach by clicking on the users icon in the Power User’s row on the Power Users management page) the following conditions must be true:

– The CSV file must contain (at a minimum): Username, Profile Name, Level, Branch Code or Branch Name or both Branch Name Path and Branch Code Path

– If the Power User already exists in the system, the option to Update Information for existing users must be selected under the Update Users section

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.

Please Note: The correct format for the Date Format field is YYYY-MM-DD. The following fields aren’t case sensitive when completing a CSV import of users: User status, User level, Language, Country, Timezone, Yes/No additional field.

Once you’ve matched the fields for all of your columns, 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 appears, then press Import Users.

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 users that were imported into the platform will appear in the list of users on the User Management page, where you can edit their profile or delete them from the platform as necessary.

Remember that as a Power User, you are allowed to import users only into the branches you are assigned to.

Activating or Deactivating Users via CSV

When users are activated, their credentials are valid and they can log in and access the platform. When you deactivate users, they are no longer able to log in and access the platform.

As a Superadmin, you can activate and deactivate users in the platform using CSV files. To do so, include the active column in your CSV, and match it with the Docebo Field called Active dragging it from the Docebo Fields area to the Preview area (as shown in the previous chapter of this article). When the value of the Active field is set to 1, the corresponding user is activated, while when it is set to 0, the corresponding user is deactivated.

Tips & Tricks

  • When importing users via a CSV file, if a notification is sent to a user upon creation, then the corresponding notification, if including the password shortcode, will include the text password. If the notifications is not sent immediately, then the password is encrypted (we encrypt passwords in the database) and future notifications with the same shortcode will instead include a link for the user to reset their password.
  • When uploading a CSV file with headers (i.e., the columns “titles”), we recommend selecting the “Consider first row as header” toggle.
  • Depending on the user fields you wish to import, you can choose whether to import users via CSV, via SAML, or via Automation App. Here is a comparison of the fields you can import via Automation or via SAML SSO.
  • In order to update only one field (i.e. set the manager, set the timezone, etc.), when creating your CSV file only include the username column and the columns for the attribute(s) you wish to update. There is no need to overwrite existing attributes with the same values because if those fields are not being referenced in the new file they will not be updated.
  • If in the CSV file there is a Superadmin (yourself or another Superadmin) that accessed the White Label app and saved the configuration, you cannot update the row related to this Superadmin in your CSV file. You can delete the row, or update the Superadmin user data manually and one by one, not via CSV.