Salesforce Data-Out Integration
PremiumThis feature is available on our Premium and Enterprise plans. UpdatedAbout this integration
Our Salesforce destination helps you create, update, or upsert records for any object type. Customer.io sends data to the Salesforce REST API.
Do you want to capture data from Salesforce?
Check out our Salesforce Source. With the Salesforce data-in and data-out integrations, you can set up a complete, end-to-end integration!
Getting started
Go to Data & Integrations > Integrations and select the About this integration entry in the Directory tab.
(Optional) Select the data sources that you want to connect to your outbound integration. You can always connect data sources later. We’ll only show you data sources that work with your integration.
Configure your integration.
Click Enable Destination.
Actions
When you’re done setting things up, you can go to the Actions tab to see how we map incoming data to your integration.
You may need to add actions for this integration
While we often have default triggers for actions, we don't always add those actions as defaults. You may need to add actions to make sure that you're sending all the data that you want to send to your integration. See our actions page for help setting up actions.
Mapping actions to Salesforce Operations
When you set up an action, you’ll select the Operation that you want to perform on a record. Our outgoing Salesforce integration supports the following operations:
- Create: Pushes new records to Salesforce. This operation works when you want to push new records but don’t need data within each row to remain up to date or when you’re working with static data that you won’t update later, like events.
- Upsert: Pushes new records to Salesforce and updates fields on existing records in Salesforce. This operation helps you push records into Salesforce and keep data up to date.
- Update: Updates fields on existing records in Salesforce. This operation works when you know that you already have records in Salesforce that you update or add new information to
- Delete: Deletes existing records in Salesforce.
Matching records with delete, update, and upsert
When you use the delete
, update
and upsert
operations, you need to specify one or more Record Matchers. A record matcher is a value we’ll query Salesforce for to find and match the records you want to upsert, delete, or update. You can use any field in your source data as a record matcher, including:
- External IDs. To map an External ID, the Salesforce API name should have
__c
appended to it. - Record IDs. To map a Record ID, the Salesforce API name is
Id
. - Standard fields. To map a standard field, the Salesforce API name should match what is in Salesforce for the given field, for example
Email
. - Custom fields. To map a custom field, the field needs to be predefined in Salesforce and the Salesforce API name should have
__c
appended to it.
You can also set the Record Matchers Operator if you have multiple record matchers. This determines whether Salesforce matches on any record matcher (OR), or all record matchers (AND). If you have multiple Record Matchers, you should use fields that result in unique records. If the operator is set to Or and Salesforce finds multiple matching records, it won’t perform the operation. We’ll record a 300 status for the request, and will not retry it.
Note that you should only set Record Matchers that that have the “Filter” property in Salesforce; these are fields Salesforce can query. For example, we can’t perform a Salesforce query on the Description
field because it is not a filterable property. You can look up the standard field properties in Salesforce’s API documentation to determine if a field is is a valid Record Matcher.