ht
Documentation
WelcomeConcepts

Get Started

OverviewCreate a sourceCreate a modelCreate a destinationCreate a sync

Destinations

AcousticActiveCampaignAirtableAmplitudeAsanaBing AdsBrazeChurnzeroCloseCustom DestinationCustomer.ioFacebook Conversions APIFacebook Custom AudiencesFacebook Offline Conversions APIFreshdeskFrontGainsightGainsight PXGoogle AdsGoogle SheetsHubspotIntercomIterableKlaviyoMailchimpMarketoMixpanelMoengagemParticleNetsuiteOneSignalPendoPipedrivePostgreSQLS3SailthruSalesforceSalesforce Marketing CloudSalesloftSegmentSendGridSFTPSlackStripeTiktokTotangoVeroWebhookZendesk
Documentation/Destinations/Salesforce
ht
Documentation

Salesforce

Table of Contents
Overview
Salesforce is the most popular CRM used by companies across the globe

Overview

With the Salesforce destination, Hightouch can both create and update standard or custom objects.The Salesforce destination has three different possible modes.
  • Insert — Insert mode pushes new objects to Salesforce, and does not update the objects as they change in your warehouse.
  • Upsert — Upsert mode pushes new objects to Salesforce and updates fields that change in your warehouse.
  • Update — Update mode updates particular fields on existing objects in Salesforce.

Modes

Insert

Insert is the simplest of modes for pushing to Salesforce. In this mode new objects will be inserted into Salesforce, but future changes to columns of those objects will not be reflected in Salesforce.This mode is good for the following scenarios:
  • You want to push objects into Salesforce, but don't care if the data within each row remains up to date
  • Static data where each row is never updated, such as events
Insert has two configuration parameters:
NameDescription
Salesforce Object NameThe name of the object (Account, Contact, etc..) that will be pushed into Salesforce
Hightouch to Salesforce Field MappingsA list of columns that will be pushed to new objects in Salesforce

Upsert

In this mode, new objects will be inserted into Salesforce and all designated columns will be kept up-to-date within Salesforce.This mode is good for the following scenarios:
  • You want to push objects into Salesforce and want to keep the data up-to-date
Upsert has three configuration parameters:
NameDescription
Salesforce Object NameThe name of the object (Account, Contact, etc..) that will be updated in Salesforce
Hightouch to Salesforce External Unique Identifier Column MappingThe name of the column on the Hightouch query, and the name of an external ID for the object in Salesforce. Note that this column in Salesforce must be marked as an external ID and unique for this to work.
Hightouch to Salesforce Field MappingsA list of columns that will be pushed to new objects in Salesforce. Each time a sync occurs in Hightouch these columns will be updated.

Update

In this mode, selected columns will be updated for an object within Salesforce. For example, you could add an LTV column to an account or contact. This mode does not create new rows for an object within Salesforce. Instead, it updates columns on existing objects.Update mode requires you to have access to the IDs of the objects you want to update within your warehouse.This mode is good for the following scenarios:
  • You have objects in Salesforce that you want to add additional information / columns to
  • You want to continuously sync data from your warehouse and add this data to existing objects within Salesforce
  • You already have access to Salesforce object IDs within your warehouse
Update has three configuration parameters:
NameDescription
Salesforce Object NameThe name of the object (Account, Contact, etc..) that will be updated in Salesforce
Hightouch ID ColumnThe name of the column of the Hightouch query that contains a Salesforce object ID.
Hightouch to Salesforce Field MappingsA list of columns that will be updated for objects in Salesforce. Each time a sync occurs in Hightouch these columns will be updated.

Object ID Lookup

If you are attempting to associate two objects with a foreign key (e.g. associate a contact with an account via the AccountId field in the contact), Hightouch can lookup the ID of an object based on another unique column and use the object ID as the value of the column.In this example, the object has a reference field founder_lead__c which should contain the Salesforce ID of the Lead object of the founder. However, you may only have the external ID of the founder in your source in column founder.With object ID lookup, you can look up the Lead object where the value in column founder equals the unique external ID field db_user_id__c and return the ID of the lead object as the value, syncing it to founder_lead__c.

Trouble merging data into Salesforce fields?

We only allow you to merge data from your source columns into Salesforce fields that are:
  • Set as 'External IDs'
  • Set as 'Unique'
  • Not native Salesforce fields. Fields such as Salesforce's default 'email' field are native and cannot be set as external identifiers. Thus you won't be able to merge on them. You'll need to create a new custom field with the same name.
Before trying to find fields in the Hightouch dropdown menu, you need to ensure the above is true for the fields you wish to merge on. Here's how:
  1. In Salesforce, find the "Sales" module and go to it:
  1. Go to Setup in the upper right:
  1. From within setup, find the Object Manager:
  1. Select the object you want to merge data into, for example, the contact object:
  1. At this point, you may either create a new custom field and set it to Unique and an External ID, or check an existing field to ensure it is unique and set to an external ID. Lets create a new one:
  1. Create a new custom field (we chose an e-mail field type in this example):
These 2 options must be selected in order for Hightouch to detect the fields in our configuration form dropdown. After ensuring these are checked, proceed by clicking the "Next" buttons in Salesforce to finish updating your object with the new custom field.Then come back to Hightouch. From the Salesforce destination configuration form, click the 'refresh' icon if needed to see the field available for selection. You should now be able to merge on it.