This plugin is recommended for large data sets.

Alternatively, you can use Salesforce Marketing Cloud (ExactTarget) Data Connector for small data sets, to write job results.

Treasure Data can publish user segments into Salesforce Marketing Cloud (ExactTarget), and enable you to send personalized emails to your customers. You can run data-driven email campaigns, by using your first-party data from Web, Mobile, CRM, and other data sources.

This data connector is in Beta. For more information, contact


  • Basic knowledge of Treasure Data

  • Basic knowledge of Salesforce Marketing Cloud

  • TD account


Open SSH 7.8 Private Key is supported. The format of the key is detected and the correct library to use is chosen.

Set Up a Secure, Automated Account in Salesforce

Access your Salesforce account to begin set up.

Create an FTP Account

On the SFMC dashboard, in your account, select Administration.

From the Account drop-down menu, select FTP Accounts. This allows you to establish an SFTP account.

In the FTP Accounts panel, select Add FTP User.

Provide an FTP account password.

Review your SFTP account information.

Configure for Automatic Mail Delivery

Go back to the SFMC dashboard, and select Email Studio > Email.

Select Content > Create > Template > From Existing Template to create an email template.

After creating the template, select Save > Save and Exit and then provide a template name and location, and save that information as well.

Remaining on the Email page, select Create > Email to create email content (for example, for a campaign) from a template.

Select the template, define the email properties, including name and location, and select Next to provide content. Continue creating the email and save it when you are finished.

Define Specification for Import into Salesforce

Create an Import Interaction in Salesforce

From the Email view, select Interactions.

Select Import.

Select Create to make a new import interaction definition.

Provide the import interaction information, including SFTP information and data import location. Save the information.

Specify the Import Trigger

From the Email view, select the SFDC blue cloud icon to view menu options.

Select Journey Builder > Automation Studio.

Select New Automation.

Drag the File Drop icon to Starting Source.

Select Configure> Trigger Automation.

Specify Use Filename Pattern and then select Done.

Drag the Send Email icon to the canvas and select Create New.

Select an email object, for example, the one you created in this section. Select Next. Select an email target list. Select Next. Verify the email configuration information, and select Finish.

Provide a name for the import trigger and an external key that is referred to by Treasure Data, and select Save.

Select Active to enable the import trigger.

Select Save and Close.

Use the TD Console to Create Your Connection

Create a New Connection

In Treasure Data, you must create and configure the data connection prior to running your query. As part of the data connection, you provide authentication to access the integration.

Enter the required credentials for your remote SFTP instance. Name the connection. If you would like to share this connection with other users in your organization, check the Share with others checkbox. If this box is unchecked this connection is visible only to you.  

1. Open TD Console.
2. Navigate to Integrations Hub Catalog.
3. Search for and select Salesforce Marketing Cloud via SFTP.

4. Select Create Credentials.
5. Type the credentials to authenticate.

6. Type or select values for the parameters:
Host The host information of the remote SFTP instance, for example, an IP address.
PortThe connection port on the remote FTP instance, the default is 22.
UserThe user name used to connect to the remote FTP instance.
Authentication mode

The way you choose to authenticate with your SFTP server.

  • public/private key pair
  • password

Open SSH 7.8 Private Key is supported. The format of the key is detected and the correct library to use is chosen.

Secret key fileRequired if 'public / private key pair' is selected from `Authentication Mode`. (The key type ed25519 is not supported but the ecdsa key type is supported.)
Passphrase for secret key file(Optional) If required, provide a passphrase for the provided secret file.
Retry limitNumber of times to retry a failed connection (default 10).

Connection timeout in seconds

Use proxy?

If selected, enter the details for the proxy server. 

  • Type
  • Host
  • Port
  • User
  • Password
  • Command
Sequence format

Format for sequence part of output files (string, default: ".%03d.%02d")

7. Select Continue.
8. Type a name for your connection.
9. Select Done.

Define your Query

Create a job that selects data from within Treasure Data. The specified column name for the mapping must match the column name in the SFMC Exact Target mail. “Email Address” and “Subscriber Key” columns are required. If needed, you can change the mapped column name that is in TD database. You can change the column name from within the TD Console.

  1. Complete the instructions in Creating a Destination Integration.
  2. Navigate to Data Workbench > Queries.

  3. Select a query for which you would like to export data.

  4. Run the query to validate the result set.

  5. Select Export Results.

  6. Select an existing integration authentication.
  7. Define any additional Export Results details. In your export integration content review the integration parameters.
    For example, your Export Results screen might be different, or you might not have additional details to fill out:
  8. Select Done.

  9. Run your query.

  10. Validate that your data moved to the destination you specified.

Integration Parameters

You could specify more parameters for the target export file:

  • Path prefix: the path for the plugin to save your output files in the target server

  • Rename file after upload finish: select to try to upload the file with .tmp extension first, then rename the file without .tmp when the file is uploaded successfully

  • Format: Format of the file (would be CSV or TSV)

  • Compression: choose it whenever you would like to compress the file. We support gzip and bzip2 compression

  • Header line: choose it if you would like to write the first line as the columns' name

  • Delimiter: delimiter between values in the target file, would be | or tab or comma

  • Quote policy: quote between each column, could be MINIMUM, ALL, or NONE

  • Null string: the value for the null field in the query

  • End-of-line character: the character to specify for end of the line. Would be Carriage Return Line Feed (CRLF - used in Windows OS file systems) or Line Feed (LF - used in Unix, macOS) or Carriage Return (CR - used in classic macOS)

  • Encryption column names: list of encryption columns, separated by a comma

  • Encryption key: specify key needed to perform the encryption algorithm

  • Encryption iv: specify a number to prevent repetition in data encryption

Example Query

Optionally Schedule the Query Export Jobs

You can use Scheduled Jobs with Result Export to periodically write the output result to a target destination that you specify.

Navigate to Data Workbench > Queries.
Create a new query or select an existing query.
Next to Schedule, select None.

In the drop-down, select one of the following schedule options:

Drop-down ValueDescription
Custom cron...

Review Custom cron... details.

@daily (midnight)Run once a day at midnight (00:00 am) in the specified time zone.
@hourly (:00)Run every hour at 00 minutes.
NoneNo schedule.

Custom cron... Details

Cron Value


0 * * * *

Run once an hour.

0 0 * * *

Run once a day at midnight.

0 0 1 * *

Run once a month at midnight on the morning of the first day of the month.


Create a job that has no scheduled run time.

 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)

The following named entries can be used:

  • Day of Week: sun, mon, tue, wed, thu, fri, sat.

  • Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.

A single space is required between each field. The values for each field can be composed of:

Field ValueExampleExample Description

A single value, within the limits displayed above for each field.

A wildcard ‘*’ to indicate no restriction based on the field. 

‘0 0 1 * *’ Configures the schedule to run at midnight (00:00) on the first day of each month.
A range ‘2-5’, indicating the range of accepted values for the field.‘0 0 1-10 * *’ Configures the schedule to run at midnight (00:00) on the first 10 days of each month.
A list of comma-separated values ‘2,3,4,5’, indicating the list of accepted values for the field.

0 0 1,11,21 * *’

Configures the schedule to run at midnight (00:00) every 1st, 11th, and 21st day of each month.
A periodicity indicator ‘*/5’ to express how often based on the field’s valid range of values a schedule is allowed to run.

‘30 */2 1 * *’

Configures the schedule to run on the 1st of every month, every 2 hours starting at 00:30. ‘0 0 */5 * *’ configures the schedule to run at midnight (00:00) every 5 days starting on the 5th of each month.
A comma-separated list of any of the above except the ‘*’ wildcard is also supported ‘2,*/5,8-10’‘0 0 5,*/10,25 * *’Configures the schedule to run at midnight (00:00) every 5th, 10th, 20th, and 25th day of each month.
 (Optional) You can delay the start time of a query by enabling the Delay execution.

Execute the Query

Save the query with a name and run, or just run the query. Upon successful completion of the query, the query result is automatically imported to the specified container destination.

Scheduled jobs that continuously fail due to configuration errors may be disabled on the system side after several notifications.

Optionally Configure Export Results in Workflow

Within Treasure Workflow, you can specify the use of this data connector to export data. 

Learn more at Using Workflows to Export Data with the TD Toolbelt.

Example Workflow 

timezone: UTC

    database: sample_datasets

  td>: queries/sample.sql
  result_connection: your_connections_name
    secret_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    advertiser_id: xxxxxx
    data_activation_duration: 43200

Verifying the Query Export Job

After the job finishes, you can check the output file on the SFTP server by using the general SFTP command, as shown in the following example:

Check the SFMC dashboard to verify a successful import. If the import and mail delivery is successful, you can see Complete on the Automation Studio Overview page.

  • No labels