Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can connect Salesforce with Treasure Data for greater control over your Salesforce data and better integration with the other business applications in your marketing and sales operations stack.

Integrating Salesforce with Treasure Data makes it easy to:

  • Add new features to Salesforce. For example, you can prevent churn by tracking web usage and receiving alerts when customers’ product usage declines.

  • Use Salesforce data to improve other parts of your marketing stack. For example, you can increase your Facebook Ads ROI by automatically removing new customers from your Facebook Custom Audiences.

For sample workflows on importing data from Salesforce, go to Treasure Boxes.

If you don’t have a Treasure Data account yet, contact us so that we can get you set up.

Continue to the following topics:

Table of Contents


  • SOQL: This configuration allows to use of a custom SOQL (Salesforce Object Query Language) to query and filter data. With SOQL, you can retrieve the data from a single object or multiple objects that are related to each other. You can pick specific columns and filter or sort the output with your own conditional statement. As a limitation, our data connector doesn’t support SOQL syntax such as count() FROM Object and SELECT * from salesforceObject.
  • Bulk API limits: Bulk API offers faster ingestion but also has a limitation of 10,000 batch allocations within a 24-hour period. If your target is large, your entire available batch allocation might be consumed, causing your job to fail eventually. If you try to use the Bulk API, and the result is the ingestion of all records, consider enabling the synchronous transfer only option and using REST API. The use of REST API avoids the batch allocation limitation but might be slower.


SFDC import supports these authentication types:

  • Credential

  • OAuth

Using Session ID for authentication is not supported for import.

Session ID is supported for the Salesforce Export Integration only.

Connect to Salesforce Using TD Console

Connecting to Salesforce using the TD Console is quick and easy. Alternatively, you can create a Salesforce connection using the command line. The import integration supports credentials; you need a client ID and client secret to authenticate using credentials.

Allow TD to Access Salesforce using Salesforce


These instructions guide you to locate the client ID and client secret that is necessary to authenticate using credentials.


Connected Apps UI is not supported in the Lightning UI. Switch to the Classic UI first.

  1. Go to Setup > Apps > App Manage.

  2. Select New Connected App.

    The steps may vary depending on the version of Salesforce you are running. In Spring 19 classic UI: Setup > Build > Create > Apps > Connected Apps > New.

  3. Navigate to Setup > Build > Create (Apps), and validate all your connected apps:

  4. Select your app name to go to the page where you can view and manage all information about your connected app.

  5. Write down or copy your Consumer Key (client_id) and Consumer Secret (client_secret).

  6. For secure account access, get a Salesforce Security Token. If you don’t have a security token, go to Account > Settings > Reset My Security Token and select Reset Security Token. You’ll receive your Security Token by email.

    In Spring 19 classic UI: My account > My Settings > Personal > Reset My Security Token.

Create New Connection in TD Console

  1. Open TD Console.

  2. Navigate to Integrations Hub > Catalog and search for Salesforce.

  3. Expand
    titleTo authenticate with Credentials
    1. To authenticate with your credentials, enter your username (your email) and password, as well as your Client ID, Client Secret, and Security Token.

    2. In the dialog box, enter as the login URL. Remove unnecessary letters from Login URL parameter.

    titleTo authenticate with OAuth

  4. Select Continue.
  5. Give your connection a descriptive name and select Create Connection.

Validate Your Salesforce Connection

To validate the user permission, make sure to use Salesforce to validate:

  • Authority: check the Salesforce import integration connection steps.

  • Allowed access to Salesforce from Treasure Data: sometimes configuring this requires knowing and configuring your TD static IP address. Please contact support if you require the static IP address information.

Without properly configured authority and access, you might encounter access restriction errors. For example:

Code Block
Response not 2xx: 
400 Bad Request {"error":"invalid_grant","error_description":"authentication failure"}

Transfer Your Salesforce Account Data in Treasure Data

After creating the authenticated connection, you are automatically taken to Authentications.

  1. Search for the connection you created. 

  2. Select New Source.

  3. Type a name for your Source in the Data Transfer field.

  4. Click Next

  5. Edit the following parameters:




Name of the object you want to import

Include deleted records

Enables including deleted records

Use synchronous transfer only

Enables synchronous transfer using REST API


Imports only new data since the last import

Data Settings

  1. Select Next. The Data Settings page opens.

  2. You can edit the SOQL query, WHERE conditions and Schema settings here.

  3. Optionally, skip this page of the dialog.

Data Preview 

Excerpt Include
Data Preview
Data Preview

Data Placement

Excerpt Include
Data Placement
Data Placement