TalentLMS offers a native integration with Salesforce CRM. The integration is designed to streamline data flow and enhance the experience of customers who use both systems.
The integration allows for two-way data synchronization, with Salesforce as the source of the user’s data. More specifically, Salesforce users, accounts, and contacts can be synchronized with their basic details to create learners on TalentLMS. Advanced filters are available to sync additional data fields.
The integration also allows for training completion data to be synchronized back to Salesforce in pre-designed tables and graphs. Training completion data consists of course status and scores, certificates, and gamification badges. Salesforce administrators can also use this data to create custom dashboards.
| Note: The Salesforce TLMS connector app requires a subscription fee and is available only with annual subscriptions from the Plus plan and above. Also, Enterprise subscriptions unlock the Salesforce accounts to the TalentLMS branches conversion feature. |
Salesforce preparation
| Note: Previously, the integration was done via a Connected app in Salesforce. Due to new Salesforce security measures, External Client Apps are recommended instead. If you have an existing integration with a Connected app, you can create a new External Client App with the steps below in this section, log in to https://eis.epignosishq.com, and click “Remove Connected Salesforce Account”. Then follow the steps in the Setting up the authentication section to integrate with your new External Client App. |
- Log in to Salesforce as an Administrator.
- Go to the Salesforce Setup page.
- Go to Apps > App manager > New External Client App.
- Fill in the name and contact email.
- Set Distribution State to Local.
- Under the API dropdown, select Enable OAuth.
- In the OAuth Settings, apply the below options:
- Callback URL: https://eis.epignosishq.com/
- Selected OAuth Scopes: add Manage user data via APIs (api).
- Flow Enablement - Enable "Enable Client Credentials Flow".
- Leave all security checkboxes unticked. If any are enabled, untick them.
- Click Create at the bottom of the page.
- In the newly created External Client App, click the Settings tab.
- Expand the OAuth Settings once more, and click the Consumer Key and Secret button
- Note down the values for the Consumer Key and Secret.
- Switch to the Policies tab in your External Client App, and click Edit.
- Under the OAuth Flows and External Client App Enhancements section, click Enable Client Credentials Flow
- In the Run As (Username) input, enter the username of your Salesforce integration user or Salesforce admin user and then click Save.
TalentLMS setup
1. Sign in to your TalentLMS account as Administrator.
2. Go to Account & Settings and select the Integrations (1) tab and click on the API (2) tile.
3. Enable (3) the API and note down your API key (4), then click Save (5) at the bottom of the drawer.
Installing the TalentLMS Data Connector app
1. Locate the TalentLMS Data Connector app in Salesforce AppExchange, or access the following directory listing: https://appexchange.salesforce.com/appxListingDetail?listingId=a0N4V00000GmbyzUAB&tab=e
2. Log in to AppExchange.
3. Click Get it now.
4. Choose to Install in production or Install in sandbox.
5. Read the terms and conditions and agree to them. Then, click Confirm and Install.
6. Choose to Install for Admins Only, Install for All Users or Install for Specific Profiles. Here, you need to select the correct option for which users are required to access the TalentLMS Salesforce app.
Setting up the authentication
- Go to https://eis.epignosishq.com/.
- Log in using your TalentLMS Domain & API Key.
- Update the Configuration Form.
- Instance URL (1): Enter your business URL here, e.g., https://{salesforce_domain}.my.salesforce.com (Replace {salesforce_domain with your Salesforce subdomain; use the exact URL in EIS; ensure there is no trailing slash).
- Enter the Salesforce Connected (OAuth) App Consumer Key (2).
- Enter the Salesforce Connected (OAuth) App Consumer Secret (3).
- Click the Update Button (4).
Selecting what to sync
In the integration setup page, you are given the choice of what information to synchronize between Salesforce and TalentLMS, designed to support the following use cases:
Internal training
Deliver training to your employees who are already using Salesforce on a daily basis i.e. deliver sales training to your sales team or support training to your customer success teams.
In order to support internal training select the Salesforce Users Synchronization (1) option. Once enabled, additional options will appear allowing you to:
- Enable filtered synchronization of Salesforce users if only a subset should have access to training on TalentLMS.
- Select a salesforce field to automatically create a group based on their values and automatically assign to learners on TalentLMS (this will automate the allocation of training but courses must be added to the group on TalentLMS).
-
Map salesforce user fields with custom fields on TalentLMS to synchronize additional user fields.
For mandatory custom user fields, if no mapping is selected in EIS, default values will be assigned to the custom fields in TalentLMS. The default values for each field type are as listed below:
a) Checkbox -> Off
b) Date -> Current Date
c) Drop-down -> 1st option
d) Text -> "Salesforce integration"
External training
Deliver training to your Salesforce contacts. Depending on how your team use Salesforce, to track customers or external collaborators such as partners, you can use the integration to synchronize Salesforce Accounts and Contacts, allowing you to easily assign and track their training completion data within Salesforce.
In order to support external training select the Salesforce Contacts Synchronization option (2). Once enabled, additional options will appear allowing you to:
- Enable filtered synchronization of Salesforce contacts if only a subset should have access to training on TalentLMS.
- Enable Salesforce Accounts to be converted to branches on TalentLMS and automatically assign Account contacts to the relevant branch.
- Select a Salesforce field to automatically create a group based on its values and automatically assign it to learners on TalentLMS (this will automate the allocation of training, but courses must be added to the group on TalentLMS).
-
Map Salesforce user fields with custom fields on TalentLMS to synchronize additional user fields.
For mandatory custom user fields, if no mapping is selected in EIS, default values will be assigned to the custom fields in TalentLMS. The default values for each field type are as listed below:
a) Checkbox -> Off
b) Date -> Current Date
c) Drop-down -> 1st option
d) Text -> "ADP integration"
| Note: The max number of processable users is 7500, the max number of processable contacts is 7500. |
Enable User Learning Data Synchronization (3) to allow for the synchronization of training completion data back from TalentLMS to Salesforce, every 1 hour:
- Enable LMS user courses and progress synchronization - this will sync the course progress (status, completion percentage, time spent in course, enrolled and completion date) for each synced Salesforce User and/or Contact.
- Enable LMS user certificates synchronization - this will sync the certificates received for each synced Salesforce User and/or Contact.
- Enable LMS user badges synchronization - this will sync the badges received for each synced Salesforce User and/or Contact.
Special sync options (4)
- Enable this option if you want to deactivate users in TalentLMS that are not synced from Salesforce or do not exist on Salesforce. TalentLMS SuperAdmin users are not affected by this option.
- Enable this option if you want to always activate users in TalentLMS that are synced from Salesforce. TalentLMS SuperAdmin users are not affected by this option.
| Note: Enabling the deactivation option in the Special Synchronization Options will mean any TalentLMS users who are not in Salesforce users will be deactivated in TalentLMS. This option does not change a user's status to Active in TalentLMS, it is only used to deactivate users. |
Understanding the TalentLMS Salesforce app UI
In the TalentLMS app UI, an assigned Salesforce user will be able to see their TalentLMS user statistics. In the My Course Progress (1) table you can see assigned course Name, Completion status, Completion percentage, Time spent on course, Enrolled on date and Completion date. Further down the page the user can see My Certificates(2) and My Badges (3), and can choose to Download (4) their certificates.
Salesforce users can also see their Salesforce team’s progress by selecting the Team Members (5) tab.
Clicking on a Team Member’s name (6) will bring you to a dashboard showing this user’s course progress and badges and certificates earned.
From the header tabs of the TalentLMS Salesforce app, you can select Accounts or Contacts.
After selecting to view an Account, you will see the Learning Activity (1) tab.
This will show the learning progress of the Contacts connecting with this account.
You can click on each Contact (2) to see this Contact’s learning activity.
You can also access contact learning activity directly via the contacts tab.
What permissions are required?
For the integration to run as expected, you can either use a System Admin user in Salesforce, or create a Salesforce API Only System Integrations user with a specific permission set. The required permissions are listed below.
Permission
API Enabled (may be enabled by default if using an API only user license)
Account - Read all fields permissions
Contact - Read all fields permissions
User - Read all fields permissions (If not available, try "View all users" in the System Permissions section).
System Permissions > "View Setup and Configuration" (this is needed to read the Organization ID)
Contact Badge - Read + Create + Edit + Delete
User Badge - Read + Create + Edit + Delete
Contact Certificate - Read + Create + Edit + Delete
User Certificate - Read + Create + Edit + Delete
Contact Course - Read + Create + Edit + Delete
User Course - Read + Create + Edit + Delete