Skip to main content
Salesforce Integration Guide
Updated over 2 months ago

Overview

Clay's Salesforce integration enables users to interact with your Salesforce data by looking up, creating, and updating current records with the enrichment panel. Alternatively, you can import records or reports as a source.

Setting up the Salesforce integration

Requirements for getting set up

Salesforce permissions

To connect Clay to Salesforce, your Clay user needs the following permissions:

  1. Access Identity Information: Permission to access identity URL services (e.g., id, profile, email, address, phone).

  2. Manage User Data via APIs: Permission to manage data through APIs.

  3. Perform Requests Anytime: Permission to perform requests at any time (e.g., refresh_token, offline_access).

Salesforce authentication

To establish the initial connection between Clay and Salesforce, you'll need a user with OAuth permissions. Once the connection is made, any user within your Clay workspace can use the integration.

Step-by-step instructions

Step 1 - Select the Salesforce integration through the Connections page in settings

Click on your profile picture in the top navigation bar and head over to Settings.

Within Settings, navigate to the Connections section.

To add a Salesforce integration, click Add connection and type in “Salesforce”.

At this point of the process, the URL of your settings should be app.clay.com/workspaces/{YOUR_WORKSPACE_ID/settings/accounts

Step 2 - Authenticate your Salesforce account

You will need to authenticate Salesforce access for your Clay account, allowing Clay to connect to your Salesforce account. Please remember to have OAuth Settings enabled. For more information on permission and scope of Salesforce connection, visit our FAQ page.

Step 3 - Create your account key

Once you’ve authenticated your Salesforce account, you will be taken to a page “Add Salesforce Account”.

On this page, you can name your Salesforce “Key” (i.e., account name) and set this connected account as the default via the Set as default toggle.

Once you connect your Salesforce account to Clay and add a key, other members in your workspace will be able to access the account associated with that specific key.

Now, you can use the Salesforce integration in your Clay tables to perform actions such as importing, creating, reading, or updating records.

Salesforce actions within Clay

Within Clay, you can create, read, and update your Salesforce data.

Supported Clay-native actions for Salesforce

Accessing import actions

To access the Import records or Import reports actions, please use the Import source panel.

You can access the Import source panel when you create a new table via Create new table.

Select Actions > Import after adding a source to an existing table to access the Import Source panel. The Actions button is located just below the top navigation bar.

Accessing lookup, create, and update actions

To access Lookup records, Create records, or Update records actions, please use the Enrichment Panel.

Import actions

To use Salesforce as a source for a Clay table, select Salesforce from the Source panel by choosing either the Import or Create New Table option.

Please be aware that you are limited to importing a maximum of 2,000 rows when importing reports.

Create actions

The Create record action lets you create new Salesforce records from your Clay table. Within this action panel, there is also a Duplicate Rule Override.

Update actions

The Update record action lets you update Salesforce records from your Clay table.

Lookup actions

You can verify existing Salesforce records using the Lookup records action.

This function searches for the key string you provide within a specific object field, similar to a VLOOKUP in Excel. It’s especially useful for checking duplicates, managing exclusion lists, or importing additional Salesforce data.

With the Create record and Update record actions, it's best practice to turn off auto-update when starting with a new Clay workflow.

This allows you to manually test a few rows to verify your workflow before enabling automatic uploads.

For additional best practices related to Salesforce actions, refer to this guide.

Import via Webhook-supported actions

Connecting Clay to Salesforce through webhooks involves additional API configuration. We recommend using Salesforce webhooks only if real-time data is essential for your CRM processes.

For example, you can utilize webhooks for real-time lead scoring to quickly route inbound leads.

To establish this connection, you will need to create a custom workflow and implement Apex code to link your table to Salesforce via a webhook.

Implementing Salesforce into your Clay workflow

There are a few ways to implement Salesforce into your Clay workflow. Here are some tutorials on how to get started.

Import Salesforce data into your Clay table

Actions used: Import records, Import reports

Relevant use cases: CRM enrichment, lead scoring, account research

If you want to start your Clay table with Salesforce data, you can import record and report data into your Clay table. In the steps below, we'll walk you through the important steps for importing data.

Tutorial

Step 1: Specify the Import Source

From the Source panel, choose either Import Records from Salesforce or Import Report Data from Salesforce. For instructions on how to access the Source panel, refer to this guide.

Step 2: Select the Salesforce account Key

Choose the key associated with the Salesforce account you want to pull data from. Please remember that access to records depends on the permissions your Salesforce administrator has set for the account associated with the specified key.

Step 3 (Salesforce Record): Select object and view to import

Specify the records you want to import by choosing from the Salesforce Object dropdown and selecting the desired view from the List View dropdown. These selections determine the scope of data to be imported regularly.

Step 3 (Salesforce Report): Select report to run

Choose the report you wish to import from Salesforce into your Clay table. Note that Salesforce limits the retrieval to a maximum of 2,000 records per report.

Lookup records from your Clay table

Actions used: Lookup records

Relevant use cases: Contact suppression, Contact company lookup (vice versa), Duplicate check, Record ID lookup

You may need to look up records in the middle of your Clay workflow. Even though the Lookup records action does not update your CRM data, it's a critical step for your Clay workflow, whether you're excluding leads early in the process to save credits or gaining additional context from your CRM on the leads in your table.

Tutorial

Step 1: Specify the Object Type

Choose the object in your Salesforce instance that you want to perform the lookup on (e.g., Lead, Contact, Account).

Step 2: Specify the object field

Select the field (column) within the object that you will use for the lookup (e.g., Email, Name, Company).

Step 3: Enter the string you want to search for

Enter the value you want to search for in the specified field. You can toggle between an exact match or contains search that checks if the field contains the entered value.

Update or create new records within your CRM

Actions used: Update records, Create records

Relevant use cases: Upload sourced contacts, Update contacts with research, Mark contacts to contact

After enriching and orchestrating objects within your table, it's important to upload your enrichments. Follow the steps below to ensure you upload everything you need back into your CRM smoothly.

Step 1: Specify the Record by Record ID

Enter the record ID of the Salesforce record you want to update. If you do not have a record ID, use the Lookup record action to obtain one.

Step 2: Identify the Salesforce Object you want to query.

Clay will retrieve the record ID associated with this object in your Salesforce instance.

Step 3: Define the fields for your created or updated object

Map out all fields in your table that will be altered. Specify each field in Salesforce you intend to update or create and use the forward slash to reference the data column.

(Optional) Step 4: Enable Auto-update

Toggle on auto-update to sync records every 24 hours. If you are still experimenting with your table, it is recommended that this feature be turned off.

(Optional) Step 5: Create a formula for conditional runs

If you intend only to update or create a subset of your records, make sure you specify a conditional rule.

Bonus: Salesforce workflows

Inbound

Outbound

Bonus: Salesforce Package

We also provide a Salesforce Package for enterprise plan users. Here are the instructions for setting up the SDFC package if you need help.

Frequently Asked Questions

Did this answer your question?