Connect Reverse ETL Source to Salesforce Bulk Upload Beta

Configure a Reverse ETL source with your Salesforce Bulk Upload destination.

This guide takes you through the steps to connect a Reverse ETL source to your Salesforce Bulk Upload destination.

Setup

  1. Set up and configure your Reverse ETL source.
  2. In the Overview tab of the source page, click Add destination > Create new destination. You can also select an already-configured destination here.
  3. From the list of destinations, select Salesforce Bulk Upload and click Continue.
  4. Specify a unique name to identify this destination in RudderStack.
  5. In the Event delivery account section, click Select to choose an existing Salesforce account from the list, then skip to Step 7.
  6. To add a new account, click Add account, select OAuth, and specify the following settings:
Setting
Description
Account NameSpecify a unique account name
Environment typeSelect the Salesforce environment type — Production or Sandbox
Connect accountClick Connect account, sign in to Salesforce, and give RudderStack the required permissions to access your Salesforce account.
  1. Click Continue to configure the mapping settings.

Mapping settings

Under Where do you want to sync data to?, select the Salesforce object. Click Reload objects to refresh the list of available objects.

Sync mode

RudderStack supports only Upsert mode for this integration.

Cursor column settings

Setting
Description
Use Cursor ColumnToggle on to use a cursor column for incremental syncs
Cursor ColumnSpecify the appropriate cursor column from the dropdown

Map identifiers

Setting
Description
Choose identifierSelect a warehouse column to uniquely identify your records and map it to the relevant Salesforce field.
Map fieldConfigure which warehouse column maps to which Salesforce field.
Mapping settings

Sync settings

RudderStack determines how and when to run a sync based on the sync schedule you set for your Reverse ETL connection.

Schedule typeDescription
BasicRun syncs at a given time interval and specified time (in UTC).
CRONRun syncs based on a specified CRON expression (in UTC).
ManualRun syncs manually.

Sync observability settings

SettingDescription
Retain sync logsThis setting is toggled on by default and instructs RudderStack to store the sync logs in your warehouse. You can also configure the below settings:

SettingDescription
Sync log retentionSpecify the retention period of the sync logs in your warehouse.

If you set it to 1, then RudderStack deletes any sync log older than a day (in UTC time).
Snapshot table retentionSpecify the number of snapshot tables to retain.
Retry failed recordsThis setting is toggled on by default and causes RudderStack to continually retry sending the failed records.
warning
Storing sync logs and snapshot tables may incur additional warehouse costs.

Enable sync

Once the setup is complete, click Enable to activate your destination and start syncing data at the specified interval.

Enable Salesforce Bulk Upload destination

Null value handling

Upsert syncs handle missing and null mapped values differently:

Warehouse / synced valueCSV cellSalesforce behavior on update
Explicit null#N/AClears the field
Field absent from the synced dataEmptyLeaves the existing value unchanged
info
Salesforce Bulk API ignores empty cells on update and only clears a field when the cell is #N/A. See Valid CSV Record Rows.

FAQ

Why can’t I add a Reverse ETL source from the destination page?

The Reverse ETL feature supports only source-driven pipeline configuration. It means that you must configure a Reverse ETL source in RudderStack and then connect it to a new or existing destination. Note that this destination should not be connected to any other source.

See Reverse ETL FAQ for more information.


Questions? We're here to help.

Join the RudderStack Slack community or email us for support