Introduction
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 for assigning team members to managers.
Please note that the active users count will not be impacted by uploading users inside the platform via CSV files, unless the user takes a course or views an asset
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, 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. Find out more about the list of supported special characters.
- Leading and trailing spaces will be removed from 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.
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.
Platform user data field |
Acceptable CSV values for the field and examples |
Notes |
Username |
String or numeric (Example: john.smith) |
This field and the User ID or UUID fields cannot be in the same CSV, or you will receive an importing error. You can use this field to change the usernames of user profiles via CSV. See more information in the New Username row of this table. This field is not case-sensitive. |
First Name |
String (Example: John) |
|
Last Name |
String (Example: Smith) |
|
|
Most valid email addresses are accepted. (Example: john.smith@example.com) |
45-character limit preceding the ‘@’ character 45-character limit following the ‘@’ character. |
Level |
user poweruser superadmin |
“user” = the user account will be a User. “poweruser” = the user account will be a Power User. “superadmin” = the user account will be a Superadmin. This field is not case-sensitive. |
Profile Name |
Names of existing Power User profiles, as a string. |
Profile names must be separated by the | character (pipe, or, vertical bar). When assigning multiple profiles to a Power User, do not use | as the separator in the CSV file. You can assign up to 10 profiles per Power User. |
Branch Name |
Name of an existing branch as a string. |
Please note that you cannot add a user to more than one branch during this type of import. This field is case-sensitive. |
Branch Code |
Code of an existing branch as a string. |
Please note that you cannot add a user to more than one branch during this type of import. This field is case-sensitive. |
Branch Name Path |
Example: “Root/ParentBranch1/ChildBranch1” |
This represents the full path of branches where the user needs to be placed; any non-existing branch will be created automatically. The full path must be specified also when creating a sub-branch of an existing branch (which is not the root branch). Note that when this field is specified, the “Branch Code Path” field must be specified along with branch codes matching the specified names. This field is case sensitive. |
Branch Code Path |
Example: “R/PB1/CB2” |
This represents the full path of Branches where the user needs to be placed; any non-existing Branch will be created automatically. The full path must be specified also when creating a sub-branch of an existing branch (which is not the root branch). Note that when this field is specified, the “Branch Name Path” must be specified as well with Branch names matching the codes specified. This field is case sensitive. |
Password |
String (Example: aptSvvTrWlY452L6) |
Passwords specified here must match the complexity criteria specified in the Advanced Settings area of the platform. A password is auto-generated when a user is created without a password. This field and the Hashed Password field cannot be in the same CSV, or you will receive an importing error. |
Hashed Password |
String |
The password must be pre-encrypted using the Blowfish algorithm with 13 passes. This field and the Password field cannot be in the same CSV, or you will receive an importing error. |
Active |
0/1 no/yes false/true |
User will be Active = 1, yes, true User will be Inactive = 0, no, false This field is not case-sensitive. |
Force Password Change |
0/1 no/yes false/true |
Force the user to change the password upon next login = 1, yes, true Do not force the user to change the password upon next login = 0, no, false |
Expire On |
YYYY-MM-DD DD-MM-YYYY MM/DD/YYYY YYYY/MM/DD |
|
Language |
Example: english |
Must match how the language name is written in the platform. Find the full list in the Advanced Settings area or in your Localization Tool (in the Code column). Please note that if you try to create a user with a language that is not active in your platform, you will get an error. This field is case-sensitive and text must be lowercase. |
Date Format |
en it es YYYY-MM-DD |
This field uses ISO Language codes as acceptable values. The date format will correspond to that language's standard format. Full list of ISO language codes. |
Timezone |
Region/Local |
Must match how the timezone name is written (just the name without GMT + XX:XX) in the platform. Find the full list in the Advanced Settings area in the Date and Time tab. For example, Jerusalem should be written as "Asia/Jerusalem", while Prague should be input as "Europe/Prague" This field is not case-sensitive. |
New Username |
String or numeric (Example: john.smith) |
You can use this field to change the usernames of the user profiles via CSV. Map the column in your CSV with the current usernames that you want to change to the Username or User ID Docebo field, and map the column in your CSV with the new usernames to the New Username Docebo field. This field is not case-sensitive. |
User ID |
Numeric |
This field is the internal user identifier in a specific platform database (not displayed anywhere in the user interface); it is determined by the platform and cannot be edited or removed. This field and the Username or UUID fields cannot be in the same CSV, or you will receive an importing error. You can use this field to change the usernames of the user profiles via CSV. See more information in the New Username row of this spreadsheet. |
Is Manager |
no/yes |
When this field is set to Yes, the user is created as a manager and can manage team members. |
UUID |
Numeric |
This is the unique user identifier assigned by Docebo to the user; it is determined by the platform and cannot be edited or removed. This field and the Username or User ID fields cannot be in the same CSV, or you will receive an importing error. You can use this field to change the usernames of the user profiles via CSV. See more information in the New Username row of this spreadsheet. |
Type of Manager |
Username of the manager associated with the user |
The name of this field is the description of the type of manager, as defined in the platform (for example, Functional Manager). You can add more than one manager type (thus, more than one column), depending on the hierarchy defined in the platform, in the Manage Manager Types section. |
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 Power Users.
Acceptable date formats that correspond with each language and language code.
Please 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.
List of the supported time zones.
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's 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 for the mapping to work.
Platform user data field | Acceptable CSV values for the field and examples | Notes |
---|---|---|
Dropdown | Name of dropdown element as string | |
Text Field | String | |
Fiscal Code | String | |
Country | Name of Country as string | Must match ISO 3166 standard. List of the supported Country names. |
Date | YYYY-MM-DD | |
Yes/No Dropdown |
YES ← 1, yes, true, on NO ← 2 , no, false, off NONE ← 0, all other values not listed for YES or NO
|
The values are all provided as strings. For example, TRUE, False or Off are also valid. |
Text Field (Expanded) | String |
Importing users via CSV
For a successful upload, it is important to create a CSV file properly formatted. To view a correct example, click Download the sample CSV in the slideout 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.
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 can 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 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:
Profiles
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.
Notes on general import options
Both the Force users to change their password at their first login option and the Do not force password change for existing users option force users to change their passwords, but the former only affects the password change for newly created users, while the latter only affects existing users.
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 in 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).
Update profiles
Use this option to configure if the profiles assigned to existing Power Users will be updated upon importing the CSV file. When this option is flagged, the imported Power User profile assignments will overwrite any existing profile assignment defined in the platform.
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.
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.
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 it includes the
[password]
shortcode, will include a link to reset their password instead of the password itself. - 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. 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.
- Make sure that your CSV file charset is UTF-8 and that you select the UTF-8 file charset in the Import users via CSV panel so that special letters like Umlauts (Ü) are imported correctly.
- Certain spreadsheet tools such as Excel will alter the format of data if not imported correctly. Refer to the Docebo Community post on Special character formatting issues with CSV reports in Microsoft Excel (opens in a new tab) for additional conversations and helpful information on how to ensure that special characters such as Umlauts and accents are imported correctly.