TruSales Integration User Requirements
TruSales is compatible with both Lighting and Classic versions of Salesforce and works with Salesforce Professional and above.
TruSales uses the OAuth Authorization flow to communicate with Salesforce (OAuth Authorization Flow).
TruSales uses an “integration user” with appropriate permissions to use “throttled” Salesforce REST APIs to communicate with your Salesforce environment.
TruSales requires “read” access to the following standard Salesforce objects in order to render its views and automate your win loss and customer experience programs (scroll down to see a complete list of required fields by object):
- Organization
- Meta data
- Multi-currency and conversion rates
- Opportunities
- Opportunity competitor
- Opportunity history
- Opportunity line items
- Opportunity custom fields
- Opportunity competitor custom fields
- Owners
- Owner custom fields
- Stages
- Deal types
- Accounts and Account Industries
- Account custom fields
- Products
- Product custom fields
- Contacts and Contact Roles (NOTE: TruSales needs “write” access if you enable the ability for your sales reps to add contacts within TruSales)
- Related Contacts
- Forecast
- Record types
Additionally, the integration user, and all other TruSales users, need to have the following Salesforce scopes enabled:
- API Access
- Refresh_token
- Id
- Offline_access
Your Salesforce Data
TruSales only reads data via Salesforce REST APIs and does not write data to Salesforce or alter any data in your Salesforce environment.
The one exception to this is if you enable TruSales to allow sales representatives to add contacts during the feedback request process. If this is enabled, then TruSales will create a contact in Salesforce for the Account the opportunity is associated with if the sales rep adds a contact in the Feedback Request interface for that opportunity.
TruSales defaults to syncing only the minimum required fields to allow feedback requests and support the analytics available in your TruSales modules. TruSales Admins can enable additional CRM fields, as needed, by enabling the fields to be included in the nightly sync. This is controlled in the “Sync Settings” setting by your designated TruSales Administrator(s).
The following data is the default, minimum data TruSales syncs when it is connected to Salesforce to support both the feedback request process and the various views available in TruSales modules:
| Salesforce Object | Default Fields |
|---|---|
| Opportunity | IDs, Opportunity Name, Account Name, Amount, Close Date, Created Date, Owner, Stage, Type |
| Account | IDs, Account Name, Created Date, Industry, Type, Annual Revenue, Number of Employees |
| User | IDs, Name, City, State, Country, Email, Department, Division, Phone |
| UserRoles | IDs, Name |
| Organization | IDs, Name, City, State, Country |
| Product2 | IDs, Family, Active, Name |
| Contact | IDs, Email, Name, Title, Phone |
Login & Security
TruSales supports Salesforce SSO and Username/Password authentication protocols for the users you give access.
In addition to controlling which users have access to TruSales, within TruSales you can control what users have access to through two control points: user role and module access.
TruSales has three user roles that can be assigned to a TruSales user, which include:
- “Sales Representative” = a user with this role can only see opportunity and account data that they are the owners of
- “Sales Manager” = a user with this role can see all opportunity and account data for the sales teams they setup
- “Administrator” = a user with this role can see all opportunity and account data, configure TruSales, and add additional TruSales users.
TruSales module access can also be controlled based on user roles, restricting the modules a user has access to in TruSales based on their assigned TruSales role.
You can find TruSales security, compliance and certification information on our web site at the following URL: Trust Center
And our GDPR compliance information at the following URL: GDPR Commitment
Required Fields
Refer to the following tables to understand which fields are required for the integration to get the most out of your TruVoice and TruSales integration:
- The fields below are required to enable the the integration. Your Salesforce integration won't work if TruSales can't access these fields.
- Other fields can be added to the integration to enhance your win loss analysis and customer experience programs
Opportunity Stage (API name: OpportunityStage):
| API Name | Label | Permission |
|---|---|---|
| Id | Opportunity Stage ID | Read |
| ApiName | Api Name | Read |
| Description | Description | Read |
| IsActive | Is Active | Read |
| IsClosed | Closed | Read |
| IsWon | Won | Read |
| MasterLabel | Master Label | Read |
| SortOrder | Sort Order | Read |
| DefaultProbability | Probability (%) | Read |
| ForecastCategory | Forecast Category | Read |
| ForecastCategoryName | Forecast Category Name | Read |
Opportunity (API name: Opportunity):
| API Name | Label | Permission |
|---|---|---|
| Id | Opportunity ID | Read |
| AccountId | Account ID | Read |
| Name | Name | Read |
| Description | Description | Read |
| StageName | Stage | Read |
| Amount | Amount | Read |
| Type | Opportunity Type | Read |
| OwnerId | Owner ID | Read |
| CreatedById | Created By ID | Read |
| CreatedDate | Created Date | Read |
| HasOpportunityLineItem | Has Line Item | Read |
| ForecastCategory | Forecast Category | Read |
| ForecastCategoryName | Forecast Category Name | Read |
| LastModifiedDate | Last Modified Date | Read |
| LastModifiedById | Last Modified By ID | Read |
| CurrencyIsoCode | CurrencyIsoCode | Read |
| RecordTypeId | Record Type ID | Read |
| LastActivityDate | Last Activity | Read |
| CloseDate | Close Date | Read |
| IsClosed | Closed | Read |
| IsWon | Won | Read |
Opportunity Product (API name: OpportunityLineItem):
| API Name | Label | Permission |
|---|---|---|
| Product2Id | Product ID | Read |
| Quantity | Quantity | Read |
| TotalPrice | Total Price | Read |
| UnitPrice | Sales Price | Read |
| OpportunityId | Opportunity ID | Read |
Opportunity Contact Role (API name: OpportunityContactRole):
| API Name | Label | Permission |
|---|---|---|
| Id | Contact Role ID | Read |
| OpportunityId | Opportunity ID | Read |
| ContactId | Contact ID | Read |
| IsPrimary | Primary | Read |
| Role | Role | Read |
| IsDeleted | Deleted | Read |
Opportunity History (API name: OpportunityHistory):
| API Name | Label | Permission |
|---|---|---|
| Id | Opportunity History ID | Read |
| CloseDate | Close Date | Read |
| OpportunityId | Opportunity ID | Read |
| StageName | Stage Name | Read |
| Amount | Amount | Read |
| CreatedDate | Created Date | Read |
Account (API name: Account):
| API Name | Label | Permission |
|---|---|---|
| Id | Account ID | Read |
| Name | Account Name | Read |
| Type | Account Type | Read |
| ParentId | Parent Account ID | Read |
| Industry | Industry | Read |
| AnnualRevenue | Annual Revenue | Read |
| BillingAddress | Billing Address | Read |
| NumberOfEmployees | Employees | Read |
| Ownership | Ownership | Read |
| OwnerId | Owner ID | Read |
| CreatedDate | Created Date | Read |
| LastActivityDate | Last Activity | Read |
| IsDeleted | Deleted | Read |
| LastModifiedDate | Last Modified Date | Read |
| Website | Website | Read |
User (API name: User):
| API Name | Label | Permission |
|---|---|---|
| Id | User ID | Read |
| Name | Full Name | Read |
| LastName | Last Name | Read |
| FirstName | First Name | Read |
| Username | Username | Read |
| Read | ||
| Phone | Phone | Read |
| Extension | Extension | Read |
| MobilePhone | Mobile | Read |
| Division | Division | Read |
| Department | Department | Read |
| Title | Title | Read |
| UserRoleId | Role ID | Read |
| City | City | Read |
| State | State/Province | Read |
| Country | Country | Read |
| CommunityNickname | Nickname | Read |
| IsActive | Active | Read |
| ProfileId | Profile ID | Read |
| LastModifiedDate | Last Modified Date | Read |
| IsProfilePhotoActive | Has Profile Photo | Read |
| CompanyName | Company Name | Read |
| ManagerId | Manager ID | Read |
| CreatedDate | Created Date | Read |
| FullPhotoUrl | Url for full-sized Photo | Read |
| MediumPhotoUrl | Url for medium profile photo | Read |
| SmallPhotoUrl | Photo | Read |
Contact (API name: Contact):
| API Name | Label | Permission |
|---|---|---|
| Id | Contact ID | Read |
| AccountId | Account ID | Read |
| OwnerId | Owner ID | Read |
| Department | Department | Read |
| Description | Contact Description | Read |
| CreatedDate | Created Date | Read |
| Read | ||
| FirstName | First Name | Read |
| LastActivityDate | Last Activity | Read |
| LastName | Last Name | Read |
| Name | Full Name | Read |
| MailingCity | Mailing City | Read |
| MailingCountry | Mailing Country | Read |
| MailingCountryCode | MailingCountryCode | Read |
| MailingPostalCode | Mailing Zip/Postal Code | Read |
| MailingState | Mailing State/Province | Read |
| MailingStateCode | MailingStateCode | Read |
| MailingStreet | Mailing Street | Read |
| Phone | Business Phone | Read |
| Salutation | Salutation | Read |
| Title | Title | Read |
Opportunity: Competitor (API name: OpportunityCompetitor):
| API Name | Label | Permission |
|---|---|---|
| Id | Opportunity: Competitor ID | Read |
| CompetitorName | Competitor Name | Read |
| OpportunityId | Opportunity ID | Read |
| Strengths | Strengths | Read |
| Weaknesses | Weaknesses | Read |
| IsDeleted | Deleted | Read |
Record Type (API name: RecordType):
| API Name | Label | Permission |
|---|---|---|
| Id | Record Type ID | Read |
| Description | Description | Read |
| IsActive | Active | Read |
| Name | Name | Read |
| NamespacePrefix | Namespace Prefix | Read |
| SObjectType | SObject Type Name | Read |
| DeveloperName | Record Type Name | Read |
| BusinessProcessId | Business Process ID | Read |
Product (API name: Product2):
| API Name | Label | Permission |
|---|---|---|
| Id | Product ID | Read |
| Name | Product Name | Read |
| Description | Product Description | Read |
| Family | Product Family | Read |
| IsActive | Active | Read |
| ProductCode | Product Code | Read |
Account Contact Relationship (API name: AccountContactRelation):
| API Name | Label | Permission |
|---|---|---|
| Id | Account Contact Relationship ID | Read |
| AccountId | Account ID | Read |
| ContactId | Contact ID | Read |
| EndDate | End Date | Read |
| StartDate | Start Date | Read |
| Roles | Roles | Read |
| IsDirect | Direct | Read |
| IsActive | Active | Read |
CurrencyType (API name: CurrencyType):
| API Name | Label | Permission |
|---|---|---|
| Id | Id | Read |
| IsoCode | IsoCode | Read |
| ConversionRate | ConversionRate | Read |
| DecimalPlaces | DecimalPlaces | Read |
| IsActive | IsActive | Read |
| IsCorporate | IsCorporate | Read |
| LastModifiedDate | LastModifiedDate | Read |
DatedConversionRate (API name: DatedConversionRate):
| API Name | Label | Permission |
|---|---|---|
| Id | Id | Read |
| IsoCode | IsoCode | Read |
| ConversionRate | ConversionRate | Read |
| StartDate | StartDate | Read |
| NextStartDate | NextStartDate | Read |
| LastModifiedDate | LastModifiedDate | Read |
Additional Required Permissions
NOTE: To enable permissions for the next three objects (Profile, UserRole and Organization), please enable the following two permissions in the "Systems Permissions" section of the integration user's Salesforce profile:
- View Roles and Role Hierarchy
- View Setup and Configuration
Profile (API name: Profile):
| API Name | Label | Permission |
|---|---|---|
| Id | Profile ID | Read |
| Description | Description | Read |
| IsSsoEnabled | IsSsoEnabled | Read |
| Name | Name | Read |
| UserLicenseId | User License ID | Read |
| UserType | User Type | Read |
Role (API name: UserRole):
| API Name | Label | Permission |
|---|---|---|
| Id | Role ID | Read |
| ParentRoleId | Parent Role ID | Read |
| RollupDescription | Description | Read |
| Name | Name | Read |
Organization (API name: Organization):
| API Name | Label | Permission |
|---|---|---|
| Id | ID | Read |
| Name | Name | Read |
| OrganizationType | Organization Type | Read |
| InstanceName | Instance Name | Read |
Optional Permissions
If you want to enable your sales reps to add contacts to Salesforce from within TruSales, you will need to enable the following two permissions:
- Enable "PermissionsEdit" on the Opportunity object
- Enable "PermissionsCreate" on the Contact object