Update a Record in Salesforce Core using a Non-captured Key

Follow the steps below to update a record in Salesforce Core using a non-captured object identifier.

For example, you may want to update a Contact record in Salesforce Core with a phone number that has been collected by MXO but you do not want to capture the Customer's Contact ID, instead you want to use an email address which has been captured already.

Step 1: Create a Salesforce Data Adapter

In ONE, create a Salesforce Data Adapter to enable communication between MXO and Salesforce. Use the following settings:

FieldDescription
Attribute To Use As A KeyAttribute containing the customer's email address.In our example, this is the Email Address attribute.
SOQL Query
SELECT Id,LastName,FirstName,Email,HomePhone FROM Contact WHERE Email = '{key}' 
Listfalse
UsernameA valid Salesforce username
PasswordA valid Salesforce password
Security tokenA valid Salesforce security token
KeyThe email address of an existing contact in Salesforce to test the integration.
SF CRM example DA setup

For more information, see Configure the Salesforce Data Adapter in MXO.

Step 2: Create a Push Structure

Create a Push Structure to update the customer's phone number in Salesforce Core.

For our scenario, we will set up our structure as follows:

FieldDescription
Structure NameUpdate customer phone number
This Push Structure will be used to:Update an object in SF - By Email
Required AttributesObject Type = "Contact"Object ID = "Id"

SF CRM example push setup

We will set up the details of our Structure, as follows:

TypeNameValue
Data AttributeHomePhonePhone Number

SF CRM example DA setup

Important: Object names must be as per the API names of object fields in Salesforce. Use the Salesforce API Object Reference to ensure you enter the correct API names of objects here.

Step 3: Create a Push Action

Create a Push Action that references your Push Data Structure, configuring the Action as per your requirements for eligibility etc.

For our scenario, we will set up Our Action as follows:

FieldDescription
NameUpdate customer phone number
StructureUpdate customer phone number

Step 4: Create an Offline Optimization Point

Create an Offline Optimization Point that tells MXO to send data about updated phone numbers to Salesforce Core.

FieldDescription
Optimization Point typeOffline
NameUpdate phone number
Offline ActionUpdate customer phone number

Step 5: Trigger the Push Action to send updated data to Salesforce

Trigger the Push Action using the Offline Optimization Point configured for the necessary Interaction Points, to send details about the updated customer phone number to Salesforce Core.