Prerequisites for Salesforce Integration

Updated 

Ensure that the following prerequisites are in place before you start with the integration.

Sprinklr Requirements

  • Sprinklr Service Care must be enabled and configured.

  • Salesforce Webhooks must be configured within Sprinklr.

  • A Sprinklr Global Admin user is required for authentication and authorization.

Salesforce Requirements

  • Service Cloud Unlimited or Enterprise Edition (Group/Professional not supported).

  • “My Domain” must be enabled and configured.

  • Sprinklr IP addresses must be whitelisted.

  • A Salesforce Admin must install and configure the Sprinklr Connector.

  • A dedicated Integration User with the required permissions must be created. Refer to the following section for more details.

Integration User Permission

This is the user used in the OAuth Flow to execute a handshake between Sprinklr and Salesforce and allow Sprinklr to authenticate to the Salesforce environment.
Purpose: The Access token is generated using this user to make all API calls to Salesforce. Sprinklr stores the access Token and refresh token generated for this user in their database.
Permissions required:

The user’s profile must be API-enabled 




Object Permissions required:



Note: Additionally, if platform events are set up, the integration user must also have READ permission for that platform event object (CaseChangeEvent). 

Additional Permissions

1. Sprinklr Configuration Page: 

Can be accessed and edited only by Salesforce Administrator [OR] by users who are assigned the Sprinklr Admin permission set (irrespective of what permissions the permission set contains) 

 Also, ensure that inthe  Custom Tab Settings of the user's Profil,e have Sprinklr Configurations value is set as Default On (If it is Tab Hidden, then you won’t see the Sprinklr Configuration in App Launcher)


 

2. Auth. Provider: 


To view: Customize Application [AND] Manage Auth. Providers (should only require View Setup and Configuration as per, Salesforce, but does not work in reality, ref: Configure a Salesforce Authentication Provider

To create/edit: Customize Application [AND] Manage Auth. Providers 

 

3. Auth. Provider -> the user entered in the field -> Execute Registration As / Execute As :  


The above user that we are selecting should have the following permissions:
Requires: Manage User permission [AND] Customize Application permission

Note:

  • If not given ‘manage user’ permission, you won’t be able to save it in the auth provider in execute registration as a field.

  • If not given ‘customize application’ permission, saving named cred would cause an error.

4. Named Credentials: 


To view: View setup and Configuration

To Create (first time): Customize Application [AND] Manage Auth. Provider

Note:

  • If both are not given then it does not allow to select authentication provider 

    To Save: Customize Application [OR] Allows users to modify Named Credentials and External Credentials. 

  • Saving is for a manual refresh of access token and refresh token if ever needed, ideally should not be required after first time setup as access token gets updated on expiry using refresh token automatically.


5. To create a Lightning Record Page  

We do this step to create 3-pane Case Lightning Record page 

Requires: Customize Application 

 

6. Platform Event: 

To create/edit: Customize Application 

 

7. Process Builder: 


To view/create/edit: Manage Flow [AND] View All Data [AND] Create Permission of CaseChangeEvents (created while setting the platform event) [AND] Customize Application (without customize application not able to activate the process) 

8. Apex Class Requirements for Agents (required for iframe)

Sf agents require permission to execute the following apex class code: 

  1. spr_sf.ApexController 

  2. spr_sf.NamespaceUtil

  3. spr_sf.SprException

  4. spr_sf.SprAuth 

 

9. Sprinklr Admin Permission Set 

This permission set contains the following permissions: 


(All fields read and edit access (which are allowed by Salesforce) of the above two objects are present in the Sprinklr Admin permission set)

This permission set also contains permissions to execute the following Apex classes:

  1. spr_sf.ApexController

  2. spr_sf.NamespaceUtil

  3. spr_sf.SprException

  4. spr_sf.SprAuth 

  5. spr_sf.SPR_SaveAdminSettingsController

 

10. Sprinklr User Permission Set 

This permission set contains only permissions to execute the following apex classes:

  1. spr_sf.ApexController

  2. spr_sf.NamespaceUtil

  3. spr_sf.SprException

  4. spr_sf.SprAuth