How to enable a shared CRM connection for Salesforce
This enables DataQuality Automation/VisitReport Workflows to communicate with your CRM without users needing to connect to Salesforce individually.
Shared CRM connections for Salesforce utilize the OAuth 2.0 Client Credentials Flow for Server-to-Server Integration to establish connections with your CRM.
To configure this setup, it's necessary to create an External Client App within Salesforce. The following sections will provide a step-by-step guide on how to accomplish this.
This guide requires you to have an integration user configured which has the necessary permissions to create, read and update the respective entities..
⚠️🚨Important: Shared CRM connections are used for workflows. Users with the following roles gain access to the shared connection:
- Administrators (DataQuality Automation, VisitReport)
- Managers (DataQuality Automation)
- Event Managers (VisitReport)
This may exceed their personal CRM permissions.🚨
Create an External Client App within Salesforce
- Log into Salesforce, click on the cogwheel on the top right and then on "Setup".
- Follow the steps described here to create a connected app within Salesforce.
- Search for "External Client App" in the quickfind box and select the "External Client App Manager"
- Click on "New External Client App" on the top right
- Set a name and all necessary info
- Enable OAuth under API (Enable OAuth Settings)
- Set the callback URL to "https://login.salesforce.com/oauth2/callback"
- Select the "Manage user data via APIs (api)" OAuth scope
- Under Flow Enablement check "Enable Client Credentials Flow"
- Save and open the created app. In the Policies tab expand OAuth Policies and check "Enable Client Credentials Flow" as well and set an integration user for "Run as"

- To get the application credentials switch to the Settings tab, open OAuth Settings and click the "Consumer Key and Secret" button.

- Copy the "Consumer Key" and "Consumer Secret".

Configure Workflows to use the created application credentials
- Open the snapAddy Dashboard settings.
- Navigate to "Organization" -> "System integration".
- If Salesforce is not in the list of configured CRM Systems, click on "Add another CRM System" and select Salesforce.
- Enter your Salesforce URL, Consumer Key and the Consumer Secret in the "shared connection" section.

- Click on save.
- Navigate to either
- DataQuality Automation and open the "Workflows" section.
- VisitReport Workflow overview
- Create a new Workflow or edit an existing one.
- In the workflow details select the "Use organization-wide CRM connection" checkbox.


That's it, you're all set up now. The workflow now uses your shared CRM connection whenever it is executed.
If you have more questions, feel free to contact our support under support@snapaddy.com or your Customer Success Manager.