Salesforce Integration Guide
Audience
This document is written for both customers and prospective customers who are interested in using Tenfold within a Salesforce environment. It is recommended that readers should have a basic level of familiarity with Salesforce APIs, Salesforce administration, general networking, and Tenfold.
Goals
The goal of this document is to provide knowledge, reference, and procedural information necessary to understand a proposed Salesforce/Tenfold integration.
This document is NOT intended as a specific system or network design document. If further clarification is needed, consult with a Tenfold representative.
Terminology
To ensure a common frame of reference, this guide uses the following terms in conjunction with this Salesforce integration:
- Application Programing Interface (API): A set of clearly defined methods of communication used by Tenfold for reading and writing data.
- Tenfold Cloud: A set of Web Services that receives events from the telephony system and takes further action such as querying and saving to the CRM.
- Tenfold User Interface (TUI): An agent facing user interface which agents will interact with to identify callers, viewing recent activities, saving notes, dispositioning calls, etc.
Customer responsibilities
You are responsible for supplying the physical and/or IP connection(s) to Salesforce and LAN, and for obtaining and loading any licensing required by Salesforce. You are also responsible for configuring Salesforce to support the Tenfold integration.
Salesforce requirements
Supported interfaces
- Classic
- Lightning
- Console
Connection requirements
Tenfold Cloud connects to Salesforce APIs via HTTPS. If your organization requires whitelisting of IPs to access the Salesforce API, please consult the Tenfold Allow List.
Role setup
In order for Tenfold to update task records (i.e. phone calls logged to Salesforce) and properly set relationships, the API user must be higher in the role hierarchy than users of the Tenfold integration. Additionally, both the API user and end-users in Salesforce must have the appropriate roles assigned. This provides the Tenfold API user with the access required to set relationships and update tasks.
For example:
Permissions
Tenfold leverages an API user to establish the initial integration, obtain the Oauth token, and perform all API calls/writes to the SFDC instance.
The below section outlines the out of the box permission requirements for the core Tenfold integration. Additional permissions may be required to support your use case.
Alternatively, you may connect Tenfold to Salesforce via an Administrator account which provides sufficient privileges for the Tenfold integration.
System permissions
The following system permissions are required for the Tenfold integration.
Table 1. System permissions required for the Salesforce integration user
Permission | Purpose |
API Enabled | Allows Tenfold to interact with the Salesforce API. |
Edit Tasks | Enables Tenfold to create and update phone calls and follow up tasks. |
View Setup and Configuration | Allows Tenfold to dynamically build API queries based on the permission set assigned to the API User. This Permission depends on the View Roles and Role Hierarchy. |
View Roles and Role Hierarchy | This permission is a dependency of the View Setup and Configuration. |
View All Users | Allows Tenfold to import users into Tenfold Dashboard. |
Modify Metadata Through Metadata API Functions | Allows Tenfold to create the workflows and workflow rules required for omnichannel agent status updates to be pushed from Salesforce to Tenfold. |
When adjusting system permissions in the API user’s Permission Set after Tenfold has been connected to Salesforce you must re-initialize the integration by following these steps.
- Change the selected CRM in the Tenfold Dashboard to another CRM.
- Switch the CRM selection back to Salesforce.
- Re-connect Tenfold to your production or sandbox environment.
- Click the “Synchronize Fields” button in Tenfold Dashboard > Company Settings > CRM.
Object Permissions
Each object enabled for the Tenfold integration requires Modify All and Create object permissions. If it is desired to reduce permissions further, be mindful that the Tenfold API user requires the appropriate permissions and sharing settings to read and write relevant Salesforce records and support your use case.
Table 2. Account object permissions required for the Salesforce integration user
Account Object | |
Field | Permissions |
Account Name | Read Access Edit Access |
Account Owner | Read Access Edit Access |
Created By | Read Access |
Phone | Read Access Edit Access |
Table 3. Contact object permissions required for the Salesforce integration user
Contact Object | |
Field | Permissions |
Account Name | Read Access Edit Access |
Asst. Phone | Read Access Edit Access |
Contact Owner | Read Access Edit Access |
Created By | Read Access |
Read Access Edit Access | |
Home Phone | Read Access Edit Access |
Mobile | Read Access Edit Access |
Other Phone | Read Access Edit Access |
Phone | Read Access Edit Access |
Table 4. Lead object permissions required for the Salesforce integration user
Lead Object | |
Field | Permissions |
Created By | Read Access |
Read Access Edit Access | |
Lead Owner | Read Access Edit Access |
Lead Status | Read Access |
Mobile | Read Access Edit Access |
Name | Read Access Edit Access |
Phone | Read Access Edit Access |
Table 5. Task object permissions required for the Salesforce integration user
Task Object | |
Field | Permissions |
Assigned To | Read Access Edit Access |
Call Duration | Read Access Edit Access |
Call Type | Read Access Edit Access |
Comments | Read Access Edit Access |
Created By | Read Access Edit Access |
Due Date | Read Access Edit Access |
Name | Read Access Edit Access |
Priority | Read Access Edit Access |
Related To | Read Access Edit Access |
Status | Read Access Edit Access |
Subject | Read Access Edit Access |
Task SubType | Read Access Edit Access |
Type | Read Access Edit Access |
Table 6. Opportunity object permissions required for the Salesforce integration user
Opportunity Object | |
Field | Permissions |
Account Name | Read Access Edit Access |
Amount | Read Access |
Created By | Read Access |
Opportunity Name | Read Access Edit Access |
Opportunity Owner | Read Access Edit Access |
Probability | Read Access |
Stage | Read Access |
Table 7. Case object permissions required for the Salesforce integration user
Case Object | |
Field | Permissions |
Account Name | Read Access Edit Access |
Case Number | Read Access |
Case Owner | Read Access Edit Access |
Created By | Read Access |
Status | Read Only |
Subject | Read Access Edit Access |
Installation
Configure the Oauth connection
Establishing the initial connection from Tenfold to Salesforce takes only a minute. If you configured the connection through Connected App access, do not perform these steps.
- Start by navigating to your Tenfold dashboard at https://dashboard.tenfold.com
- Select the Company Settings link in the top navigation
- In the sub-navigation, select CRM
- Select Salesforce as your CRM. You will be able to select between authenticating for either a Production/Developer or Sandbox instance.
- Select Default from the Authentication Type box.
- Click the Connect with production button.
- A redirect window will appear and either:
- If you are already logged into Salesforce, the handshake will automatically occur.
- If you are not already logged in, then a Salesforce login screen will appear.
- You will be prompted to grant Tenfold relevant permissions and the window will automatically close.
Configure the Connected App connection
Establishing the initial connection from Tenfold to Salesforce takes only a minute. If you configured the connection through Oauth, do not perform these steps.
- Start by navigating to your Tenfold dashboard at https://dashboard.tenfold.com
- Select the Company Settings link in the top navigation
- In the sub-navigation, select CRM
- Select Salesforce as your CRM. You will be able to select between authenticating for either a Production/Developer or Sandbox instance.
- Select Credentials from the Authentication Type box.
- Enter your client ID and Client Secret into the appropriate boxes.
- Click the Save button. If the credentials and permissions are correct, you should see a message at the top of the screen saying the connection tested successfully.
Install OpenCTI
Tenfold Download page will keep an up to date link to the latest OpenCTI managed package for both production and sandbox installs. You can find the download page here - Tenfold UI Releases
Follow the prompts on the screen.
OpenCTI - Add users
Within Salesforce as an admin:
- Navigate to setup->call center.
- Select Tenfold Embedded UI.
- Select Manage Users. This brings you to a list of users enabled for Tenfold OpenCTI. If this is a fresh install the list may be empty. Select Add More Users to add users to the call center for Tenfold OpenCTI
- Search for the usernames that should be able to use OpenCTI, select them, and click on Add Users.
OpenCTI - Enable the interface in Lightning
Within Salesforce as an admin:
- Start by navigating to the App Manager within the setup page.
- Select the dropdown to the right of the Salesforce Lightning app you would like to update and select edit.
- Select Utility Items then Add Utility Item.
- Add Open CTI Softphone and click save.
Missing Something?
Check out our Developer Center for more in-depth documentation. Please share your documentation feedback with us using the feedback button. We'd be happy to hear from you.