Synchronizing Users from Salesforce to Docebo

Create Salesforce users in Docebo

Last Updated

June 18th, 2019

Reading Time

6 min

User Level


This article will help you in configuring the synchronization of users, contacts and Salesforce Custom Objects from Salesforce to Docebo. The data master for users, contacts and Custom Objects is Salesforce. This data is always synchronized from Salesforce to Docebo, not the other way round.

When users are synchronized, the users defined in Salesforce will also be available in Docebo, meaning that they will be able to login and start their learning experience after courses and enrollment data is also synchronized. This means that when using Docebo embedded in Salesforce, users will not need to log in Docebo, having a learning system completely available within their Salesforce org.

Prior to running the synchronization process, it is very important that you are aware of any notifications that may be triggered in the platform by the import process. You may need to either create, edit or unpublish notifications prior to performing the synchronization, depending on your desired outcome. Please note that this applies to platform notifications, but doesn’t refer to Salesforce plugin notifications. For further information about Salesforce plugin notifications, refer to this article.

You can configure and run the synchronization process, after installing the Salesforce package, both from Salesforce and from the Docebo. In Docebo, reach the Admin Menu from the gear icon, find the SalesforceV3 section, and press Manage. Move to the Synchronization tab.

The Sync Users section of this tab is used to configure the synchronization of users, contacts and custom objects.

Configuring User Synchronization from Salesforce to Docebo

The Sync User section of the Synchronization tab is used to configure the user synchronization from Salesforce to Docebo. Begin by selecting the data you would like to synchronize from Salesforce to Docebo:

Users. Enable this option to provision Salesforce users in Docebo. Click Configure and select a List View form the dropdown list shown in the right panel. Available list views are imported from Salesforce.

Contacts. Enable this option to provision the contacts available in your Salesforce Org. Click Configure and select a List View form the dropdown list shown in the right panel. Available list views are imported from Salesforce.

Custom Objects. Enable this option and press Configure. Select a Salesforce custom object in the right panel and its list view afterwards. Data in the custom object will be mapped in Docebo as users. You can select and import one custom object at a time. Please note that it is not possible to import custom objects with no List View, as they will not be listed in the dropdown menu.

Please note that the List Views available for import are those defined in Salesforce as visible by the user who installed the Salesforce package.

Configuring the Data Import

Independently from the selected user synchronization type, you will be required to map user fields before running the synchronization. User fields’ mapping is required for all the types of data that you wish to import in the platform. You will be automatically redirected to the mapping page from the Configuration right panel after selecting a List View and clicking on the Confirm button.

In the left panel, in the Import Options section, flag or unflag the following options to configure your import:

– Force users to change their password upon the first login. When this option is activated, users will immediately be asked to change their password after the initial login to the platform.

– Allow user provisioning via SFDC. Enable this option to allow the automatic provisioning of Salesforce users to the embedded version of Docebo, if these users do not exist yet. This option is always visible when synchronizing users, it is not available for Contacts and Custom Objects.

– Allow user provisioning via SAML / OpenID Connect /Auth0. Use these options to activate the user provisioning from the corresponding systems. The toggles listed in this area depend on the providers installed in your platform (even if not configured). Please note, the Just-In-Time Provisioning is available for these providers only. Refer to this article for further information on how to configure the user provisioning.

– Incremental Sync. Use this option to set the synchronization process to synchronize only data updated or modified since the last synchronization. When this option is not selected, the synchronization process will synchronize all users data.

– Update information for existing users. When this option is flagged, imported data for users already existing in the LMS will overwrite data that is different from the existing ones.

Now move to the Organization Chart section to configure how users will be assigned to branches, once imported in Docebo. Select Use Single Branch to assign all the imported users to a unique branch, defined in the Destination Branch section of the left panel.

When the Salesforce accounts base organization chart option is selected, the import process will create a branch for every imported Salesforce Account. Select the parent branch for your contacts in the Destination Branch section of the left panel. Branches will be created under the Destination Branch according to the Salesforce Account Hierarchy structure and will be named after the imported Salesforce accounts. Contacts will be imported in the branch named after the Salesforce account they are assigned to. The Salesforce integration with Docebo does not support Person Accounts. Please note that this option is available for Contacts only (not for Users and Custom Objects).

Select the Use additional fields hierarchy option to organize users according to the Salesforce picklists options. When this option is used, every option of the selected picklist, up to the third level, will be converted into a Docebo branch. Select the parent branch for your imported picklist  in the Destination Branch section of the left panel. Branches will be automatically created under the Destination Branch during the data import process: they will be named after the picklist option name. Please remind that picklist options are not automatically maintained in Docebo. This means that if a picklist option is deleted in Salesforce, the corresponding branch it is not automatically deleted in Docebo and you will have to delete it manually.

Users not belonging to any branch will be assigned to the default destination branch defined in the Destination Branch section of the left panel.

Please note that the Destination Branch must have a Branch Code associated, and that it is not possible to select the Docebo root as Destination Branch. Also remember that, if your platform uses a branch structure with the same structure as the one used in Salesforce (same branch names), already existing branches must have a Branch Code associated for a proper synchronization. If branch codes are not associated to branches, synchronized users will be imported in the Destination Branch.

Mapping Users Fields

Move now to the Preview section, which displays a preview of the imported data, 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 Salesforce user fields. Remember that a Search area is available on top of the mapping area to look for fields. Please note that username, first name and last name are mandatory fields for the synchronization, and MUST be mapped or you will not be allowed to proceed.

Click Confirm to save the selected settings and to go back to the Synchronization page to start the synchronization procedure. Settings will be saved for the next synchronizations for the user currently logged into the platform. Every Superdamin can potentially save a his/her own settings. Please note that it is not possible to configure preset configurations for user fields data mapping.

After confirming the data mapping, you will be redirected to the Synchronization tab to start the synchronization.

Running and Scheduling the Synchronization

From the Synchronization tab of the Salesforce configuration page, press Start in the Sync User area to launch the synchronization process. A background job will be started for every entity you are importing (a background  job for users, one for contacts and one for custom objects).

Once the synchronization is over, the timestamp of the last synchronization, together with the number of imported users will be displayed on the right side of the Sync User area.

If the synchronization process fails or ends with errors, click on the View Logs button to move to the Logs section of the Salesforce configuration page to check synchronization logs, that will open on the event generating the synchronization error or the failure. Refer to this article for further information on synchronization logs.

You can set the synchronization to be run on regular basis. To do so, click on the ellipsis button under the number of imported users, and select Schedule.

In the right panel, define how often the synchronization will be run. Select one of the available options, or leave it as Manual to manually start the synchronization whenever you need it.

After the first synchronization, the Start button will no longer be available. In order to run the synchronization again, click on the ellipsis button under the number of imported users, and select Resynchronize to manually start the synchronization process at any time.


This article describes the synchronization process and how to use the integration in detail. Please note, however, that the integration covers a large number of scenarios and it is not possible to list all of them here. If this documentation does not provide enough information for your specific case, please contact us via the Communication Center.