Skip to main content

Salesforce

Overview​

Salesforce is a cloud-based CRM software designed for service, marketing, and sales.

tip

The Salesforce destination supports batch and real-time syncs.

Destination tab​

The following table outlines the mandatory and optional parameters you will find on the Destination tab (Image 1).

The following parameters will help to define your data sync destination and how it functions.

ParameterDescriptionExample
DestinationMandatory. Select your destination from the drop-down menu.Salesforce
ObjectMandatory. The API name of the platform event (with the __e).Notification__e
Auth URLMandatory. The URL that issues your Salesforce token. With the Client Credentials grant this must be your org's My Domain host. With the Username-Password grant you can also use https://login.salesforce.com/services/oauth2/token or, for sandboxes, https://test.salesforce.com/services/oauth2/token.https://mydomain.my.salesforce.com/services/oauth2/token
Client IDMandatory. The encrypted Client ID (consumer key) of your Salesforce External Client App or Connected App. The Connection UI will automatically encrypt this value for you.
Client SecretMandatory. The encrypted Client Secret (consumer secret) of the same app. The Connection UI will automatically encrypt this value for you.
Grant TypeMandatory. The OAuth 2.0 flow used to obtain the token. Username-Password (default) signs in as a Salesforce user. Client Credentials authenticates the app itself through an External Client App with the client credentials flow enabled and a Run As user. Salesforce no longer allows new Connected Apps and is retiring the Username-Password flow, so use Client Credentials for new integrations.Client Credentials
UsernameMandatory for Username-Password. The Username of a Salesforce account with the permissions to connect to your Object. The Connection UI will automatically encrypt this value for you. Not shown for Client Credentials.
PasswordMandatory for Username-Password. The Password of the above Salesforce account, with the security token appended if your org requires it. The Connection UI will automatically encrypt this value for you. Not shown for Client Credentials.
Auto AssignOptional. You can set this to true to leverage auto assignment in Salesforce.
Platform EventOptional. You can set this to true to enable Platform Events.
Test ConnectionYou can use the "Test Connection" button to ensure that your credentials are properly configured to access your destination. If configured correctly, a "Connection Successful" pop-up will appear. If configured incorrectly, a "Connection Failed" pop-up will appear along with a link to the applicable error logs to help you troubleshoot.
Client Credentials needs your My Domain host

Salesforce serves the Client Credentials flow only from your org's My Domain host, for example https://mydomain.my.salesforce.com/services/oauth2/token. It rejects requests sent to login.salesforce.com or test.salesforce.com with invalid_grant: request not supported on this domain. Sandboxes have their own My Domain host. The External Client App must have the client credentials flow enabled with a Run As user, and every record the sync creates or changes is attributed to that user.

Image 2: Define your Destination

Next steps​

Troubleshooting​

Source null values aren't updating correctly in Salesforce​

When performing a data sync with a Salesforce destination, you need to replace any nulls in the source with '#N/A'.

You can use ISNULL([Column],'#N/A') in the source query.

For more information, review the Salesforce documentation here