Docebo for Salesforce

Discover how to integrate your Docebo LMS with Salesforce

Last Updated

July 17th, 2017

Reading Time

14 min

Version

User Level

Introduction

Docebo’s integration with Salesforce combines the CRM workflow with your LMS activities and tasks. This improves employees’ and partners’ performance, as well as the sales channels operations, which in turn increases the value of your Salesforce investment. 

For online course vendors, this integration can help eliminate the risk of invoicing errors (often caused by manual data entry) and relieves the Admin from manual work related to importing and maintaining course catalogs (products) in Salesforce. Features include: course completion tracking, sales orders and product catalog synchronization, and the ability to create custom reports and analytics dashboards.

Activating the App in Docebo

To activate the Salesforce app in your LMS, log into your platform as the Superadmin, then access the Admin Menu from the gear icon in the top right corner of the homepage. At the top of the Admin Menu, press the Add New Apps button, the reach the Third Party Integrations tab.

Find the Salesforce App in the list of apps and select the Contact Us button in the app’s row. You will then be in contact with a member of our Sales team, who will activate the app on your platform on your behalf.

Configuring the Integration in Salesforce

To begin setting up the configuration, you first need to make sure that your SalesForce.com platform has the capability to accept API calls. Please refer to the this Salesforce knowledge base article regarding API Request Limits for more information. The Docebo integration supports Salesforce generic URL, MyDomain URL, and Sandbox URL settings. Before configuring the Salesforce App in the Docebo platform, some configurations must first be completed in Salesforce.

If desired, during your set up process, you can test your integration within your Salesforce sandbox environment. The Salesforce Activation involves creating new data and structures in both platforms, therefore it is advised that you create a sandbox for each system involved in this integration. To start the integration process, begin by creating a profile and a dedicated user in your Salesforce platform. You can do so by pressing the Setup item in the action bar at the top of your Salesforce platform.

action bar setup item

In the left sidebar of the Setup page, press the Manage Users item, then click on the Profiles subitem from the drop down menu to access the Profiles page. Then, Create a new profile by cloning the profile of the Salesforce System Administrator. Find the administrator profile in the list of profiles, and press the Clone item in the profile’s row.

Create a new SF Profile

On the new profile page, label the new profile as Docebo APIPlease note: This agent MUST be named Docebo API. Trying to give the agent another name will result in error messages and the inability to properly continue with the configuration. Now, in the Administrative Permissions section, flag to enable the following options:

  • API Enabled
  • Modify All Data
  • User Passwords Expire In or Password Never Expires

Docebo API

When you’re finished, press Save at the bottom of the page to complete your operation. Now you need to create a specific Docebo API Agent user. Return to the main Setup page, the select the Manage Users item in the left sidebar, and press the Users subitem. On the All Users page, press the New User button.

Create user

Then, on the New User creation page, complete all of the required information (all required fields are marked with the red line next to the text box). In the General Information section, set the parameters as following:

  • First Name = Docebo API Agent
  • Last Name = Docebo API agent
  • Alias = auto-generated
  • Email = your email
  • Username = doceboapi@[yourdomain].com (eg. doceboapi@mastermind.com)
  • Nickname = doceboapi
  • Role = “<None Specified>
  • User License = SalesForce
  • Profile = Docebo API (the one you previously created)

new user general info

Then, scroll down to the Locale Settings section and set the time, zone, locale, and language as desired. Please note that these settings are mandatoryFinally, scroll down to the Salesforce.com Newsletter Settings section and unflag the following options:

  • Receive the salesforce.com newsletter
  • Receive the salesforce.com administrator newsletter
  • Generate new password and notify user immediately.

local settings and newsletters

When you’re finished, press Save to complete the configuration. Now you need to log back into your SalesForce system as the Docebo API Agent in order to regenerate the token.  To do so, select the username in the action bar at the top of the page, then press My Settings from the dropdown menu.

My settings

Then, in the left sidebar, open the Personal dropdown menu, and select the option Reset my security token. On this page, Click on the Reset Security Token button.

My security token

You will receive an email including the new token. Finally, you need to enable the Salesforce Price-Book Standard. Please Note: this is only applicable for product replications and automatic issuance of sales orders.

Unless you have previously set up the Standard Price-Book, please follow this set up to do so: Select the Products tab in the menu bar at the top of your platform. On the Products page, find the Maintenance area, then press the Manage Price Books item.

Products

On the top of the Price Books page, select View = All and click on Go!

Price Book

Now, you need to Activate the Standard Price Book:

1438523951

Check the final outcome, as the option to Activate should now change to Deactivate, as the Standard Price Book is now active in your system: 1438524001

Creating New List Views and Adding Filtering Rules within List Views

To better organize your accounts, contacts, and users, you can create list views with specific filtering rules in Salesforce. This will help you view and organize them when you sync your Salesforce account with your Docebo LMS. Begin by pressing the Accounts or Contacts tab in the action bar at the top of your Salesforce browser, or pressing the Setup item at the top of your page (for users). On the Setup page, select Manage Users from the Administer section of the left sidebar, then press the Users subitem.

Please Note: The process for creating list views and rules is the same for accounts, contacts and users.

salesforce account contacts tab

Then, on your Accounts, Contacts, or Users page, press the Create New View item at the top of the page.

create new view

On the Create New View page, complete both text boxes regarding View Name and Unique View Name in Step One: Enter Field View Account.

step one

Then, in Step Two: Specify Filter Criteria, begin in the first drop down menu of the first row by selecting for which field you would like to create a filter.

step two

Then select the Operator from the second drop down menu. Finally, use the text box in the field’s row to define the filter value. Repeat this process for each filter that you create. Finally, scroll down to Step Four: Restrict Visibility. Here, you need to flag the option for this view to be Visible to All Users (including partner and customer portal users).

step four

When you’re finished, press Save.

Setting the List View Visibility for Users, Contacts, and Accounts

Before configuring the Salesforce App in your LMS, you need to set the list view visibility for users, accounts, and contacts in Salesforce. Let’s begin with the users. Press the Setup item at the top of your platform. On the Setup page, select Manage Users from the Administer section of the left sidebar, then press the Users subitem. On the users page, select Edit.

edit users

On the edit page, scroll down to the Restrict Visibility section and flag the Visible to all users (includes partner and customer portal users) option.

Account

Press Save to complete the operation. Now you need to repeat the process for both accounts and contacts. Press Accounts tab in the action bar at the top of your platform. Then on the main Accounts page, press the Edit item.

accounts edit

Now, repeat the same process as above by scrolling down to the Restrict Visibility section, flagging the same option, and pressing Save. Finally, move to the Contacts tab in the action bar at the top of your platform. Then on the main Contacts page, press the Edit item.

contacts edit

Now, repeat the same process as above by scrolling down to the Restrict Visibility section, flagging the same option, and pressing Save.

Configuring the App in Docebo

Now let’s switch to the Docebo LMS side of the integration. Access your Admin Menu from the gear icon, find the Salesforce section, then press the Manage itemOn the Settings page, press the Configure App button.

You can perform this operation the first time you access the integration of the app, or any time you need to re-integrate your Salesforce account. Fill in the form with the following information: Salesforce API agent, password, and token.

add credentials

Now you can begin configuring the app. You have to configure everything in order, so you can’t configure box two until you’ve configured box one, and so on. Once you’ve completed box one, box two will no longer be greyed out, and the same goes for box three.

Begin by choosing whether you want to synchronize the Users or Contacts (or both) between Salesforce and Docebo by sliding the toggles from black to green (from left to right). Please note again that you cannot sync any courses with Salesforce until you’ve synced either users or contacts.

salesforce greyed out

Once you have activated the Users and Contacts toggles in box one, you will see that box two will no longer be greyed out.

Configuring Salesforce Users

From here, begin configuring your users. Press the Set Up Now button in box users in the Users row. Select the users you want to configure in the List View section. In the Standard Fields section, configure which user fields in Docebo will be matched with specific Salesforce fields. Use the corresponding dropdown menus in each field’s row to match the fields.

salesforce standard fields

From the Users drop down menu, select the user list view you wish to import. Then, flag the option to have your users reset their passwords upon their first log into the LMS. This is highly recommended, as it will eliminate the time needed to manually change every password for every imported user.

Next, you can flag the option to allow user provisioning in SAML. Please note that this option only appears if you’re the SAML or OKTA integration in your LMS. In order to trigger the use provisioning in Salesforce, you must create and configure these specific parameters in your SSO provider:

  • Integration.
  • sfdc_user_type. Explains whether the provisioned user is a user or contact in Salesforce.
  • sfdc_id. You need to use the 18-digit version of this field. Please note that the 15-digit ID is not usable at all.

Without these three parameters, the user provisioning between SAML and Salesforce will not trigger. Please note that this is an advanced integration, so the person in charge of managing this configuration should be very knowledgable in both the SSO provider of choice and Salesforce.

salesforce update info

Next, flag whether you want to update the information of existing users that are already present in your LMS. For both contacts and users from Salesforce, the username field is matched between Docebo and Salesforce. If you do not flag this option, information regarding user synchronization will be found in the logs, which is accessible from the main Salesforce configuration page in your LMS.

Then, select the destination where you want your synchronized users to be placed inside the LMS. In the Organizational Chart section, you can choose to place all of your synchronized users into a single user branch. Alternatively, you can organize them using an additional fields hierarchy. If you select this option,  you must first press the green Select button directly underneath and choose an organizational node from which you want this new organizational chart to originate.

Screen Shot 2016-06-30 at 2.12.04 PM

Select how you want to organize your branches from the dropdown menus. You can have a maximum of 3 levels. Please note that the data type of the field dependency in Salesforce LMS module must be picklist if you want the field to show up in the drop down menus in this section.

unser org dropdown

In the Fields section, import SalesForce fields into Docebo as user additional fields using the drop down menu. Remember, you cannot add the same Salesforce field twice, even if you want to pair it with the same or an alternative Docebo user additional field. When you select a Salesforce field from the dropdown menu, you will then use the second drop down menu to assign said field to a user additional field in Docebo.

add fields

Please note that a filter is in place here, so you will only see the same type of additional field in the second drop down menu as the Salesforce field you selected in the first drop down menu. For example, if you choose a text field from Salesforce field drop down menu, you will only see text user additional field options in the second drop down menu. Refer to the table below for correlating fields in Salesforce and Docebo:

The Red X Button next to the second drop down menu doesn’t delete the additional field from the LMS system, but rather deletes the correlation between the SF field and the Docebo user additional field.

user fields x

When you’re finished, press Save Changes.

Configuring Salesforce Contacts

Next, configure your Contacts. The process is similar to configuring users. Begin by pressing the Set Up Now button in the Contacts row of box two.

contacts set up now

In the first section, List View, select which Accounts and Contacts you want to sync into the LMS from the coordinating drop down menus. Then, flag the option to have your contacts reset their passwords upon their first log into the LMS. This is highly recommended, as it will eliminate the time needed to manually change every password for every imported contact.

salesforce user provisioning

Next, you can flag the option to allow user provisioning in SAML. Please note that this option only appears if you’re the SAML or OKTA integration in your LMS. In order to trigger the use provisioning in Salesforce, you must create and configure these specific parameters in your SSO provider:

  • Integration.
  • sfdc_user_type. Explains whether the provisioned user is a user or contact in Salesforce.
  • sfdc_id. You need to use the 18-digit version of this field. Please note that the 15-digit ID is not usable at all.

Without these three parameters, the user provisioning between SAML and Salesforce will not trigger. Please note that this is an advanced integration, so the person in charge of managing this configuration should be very knowledgable in both the SSO provider of choice and Salesforce.

salesforce update info

Next, flag whether you want to update the information of existing users that are already present in your LMS. For both contacts and users from Salesforce, the username field is matched between Docebo and Salesforce. If you do not flag this option, information regarding user synchronization will be found in the logs, which is accessible from the main Salesforce configuration page in your LMS.

In the Organizational Chart section, you will see two options (Use single branch and Use additional fields hierarchy) that were also in the Users configuration page. The processes for both options are the same (see above). Additionally, there’s the option to organize your integrated accounts as SF account-based branches. To do so, flag this option. In this case, the hierarchy of branches is replicated from Salesforce into Docebo on a one-to-one basis.

contacts org chart

You can also add SF additional fields into your LMS as user additional fields for Accounts and Contacts (they are seen as two different sections on the page, but the process is the same for both of them). Select the additional field you want to configure from the dropdown menu. It will then appear in a list below the drop down menu. Each new field will have a drop down menu in its row, where you can select a coordinating user additional field from the LMS system.

Screen Shot 2016-06-30 at 2.24.03 PM

Keep in mind that if you want to configure a SF additional field into the LMS, you must match it with a coordinating Docebo user additional field already in the system. Please note that your integration with Salesforce supports auto-populating groups, meaning that when you sync your Salesforce users or contacts in your LMS, they will auto-populate into groups (if you have set up auto-populating groups in your platforms) using the additional fields that you set during the configuration process.

When you’re finished, press Save Changes. You will then be redirected to the main configuration page. To complete the syncronization, press the blue Sync Users and Contacts button at the bottom of the box. The timing of the sync depends on how many users and contacts you selected.

sync users and contacts

When the sync is completed, you will see a message containing the date and time of the Last Sync and a link to the log of errors that occurred during the last synchronization.

last sync contacts log

Now, when you go to the Users main page, you will see that the contacts from SF will have the additional SF fields added to the user profiles. Next, you can start syncing your courses in box 3, as you will see it’s no longer greyed out.

Setting Up and Synching Courses

Select Set Up Now in the Courses row.

courses set up now

In the first section of the Course Settings page, select the courses you want to sync: All courses, courses from specific categories, or course catalogs. In advanced settings, decide whether you want to replicate Docebo courses as SF products. This is only applicable if your Docebo course is flagged to be synchronized as SF products.

Screen Shot 2016-06-30 at 2.30.48 PM

When you’re finished, press Save Changes. Then Press the Sync Courses button on the main configuration page to complete the action.

snyc counrses

Just like when synching accounts and contacts, when the sync is completed for courses, you will see a message containing the date and time of the Last Sync and a link to the log of errors that occurred during the last synchronization. Finally, select your synchronization frequency from the dropdown menu to schedule automatic synchronization or to do so manually.

sync frequency

Once you’ve selected the frequency, press Save Changes. You’ve now completed the configuration.

User Management

Remember, by activating the SalesForce App in your LMS and synching your users into your Docebo platform, your LMS will create new specific SalesForce branches within the organization chart nodes that you selected while configuring the app. You can check the final outcome by accessing the Admin Menu, then selecting the Users item in the E-Learning section.

On the main Users page, you can see your Salesforce users in their corresponding branches, just as you organized them during the configuration process.

Screen Shot 2016-06-30 at 2.39.44 PM

Please note that for every integrated Salesforce user, you have the ability to edit details in their user profile and move them between SalesForce branches within your LMS by using the edit button in the user’s row in the user list.

edit user

Editing or Clearing the Configuration Settings

You can edit or completely reset your Salesforce settings at anytime. To do so, go to the main Salesforce page in your LMS. On the top of the page, you will see two buttons: Edit Main Configuration and Clear Configuration.

edit or clear

EDIT MAIN CONFIGURATION allows you to keep the same API agent and modify the synchronized items, or  simply update the settings. CLEAR CONFIGURATION will allow you to start the configuration process again from scratch. This means that all the data previously imported will be affected as follows:

  • All SalesForce branches will be unlinked, and the root branches will be renamed from “SalesForce” to “SalesForce_[cleanup date]” preserving the users who belong to each branch.
  • Data contained as SalesForce custom objects will be kept in the SF database. In case you want to delete any of the custom objects, you will have to do it directly in Salesforce.

Checking the Final Outcome in Salesforce LMS integration by Creating a Custom Report

Log into your SalesForce account as the administrator, then click on the Report tab in the action bar on the top of your platform.

Report

Begin by creating a folder for your Docebo reports. While this is not a mandatory step, it is recommended for organization purposes. Select the folder icon in the left sidebar, then select New Report Folder from the dropdown menu.

new report folder button

Add the Report Label Folder and the Folder Unique Name in the corresponding mandatory text boxes, then press Save when you’re finished.

folder page

Your folder will now show up in the list of folders in the left sidebar of the main Reports Page. Now you’re ready to create a new report. Select the New Report button. On the first page, select the plus button next to the Other Reports folder the type of LMS data for which you would like to generate a report. When you’re ready, select Create.

create new report

On the next page, select Run Report in the action bar at the top of the page to complete the process. Then, check the final outcome of the report. To save the report into your newly created folder, press the Save As button at the top of the report.

Screen Shot 2016-06-30 at 1.00.10 PM

Now, insert the Report Name and the Unique report name in the corresponding mandatory text fields, then select your new folder from the Report Folder drop down menu.

report org save

Finally, press Save. Now your report is saved into your new folder.

Notifying New Users about User Creation

Any users that are created in Docebo from this integration can be notified of their new account in the LMS via the Admin has just created a new user notification. This can be sent to users and Superadmins. This is recommended, so your new users are provided with a link for quick access to the platform as well as their passwords.