By integrating Exchange and Salesforce, you can publish Customer Relationship Management (CRM) data to Exchange and Acoustic business partner solutions, like Campaign, that are registered with Exchange. This integration enables real-time syncing of data between any platform registered with Exchange and Salesforce. This helps you take an in-depth look into customer actions, marketing activity, analytics, and more.
Before you begin
- You need to have an Exchange account and Salesforce account in place.
- Install and configure packages in your Salesforce application. This gives Exchange the ability to syndicate useful CRM data to and from the Salesforce application.
- In your Salesforce account, install the Taxonomy package for Salesforce for all users.
- Enable email opt-out in your Salesforce account and configure
hasMinorConsent
as a custom field.
Integrate Salesforce in Exchange
- Log in to Exchange. On the Endpoints tab, click Register new endpoint.
- Select Salesforce and click Next.
- Under deployments, choose Non-CRMi.
- Enter the CRM user name, password, and secret key that is associated with your Salesforce account. Select Register.
- Optional: In your Salesforce account, install the Acoustic Exchange workflow template package.
- Select Install for all users, and then Install.
- Configure outbound messages by selecting Setup > Create > Workflow and approvals > Outbound messages.
- Edit the Exchange CRM event template by replacing
UBX-SALESFORCE-ENDPOINT-HOST
and UBX-SALESFORCE-ENDPOINT-EVENT-AUTHKEY
in the endpoint URL with event destination URL host and event level authentication key. Select Save. You can find your Salesforce event level authentication key under the More details menu of the Exchange user interface.
- If necessary, modify the Exchange workflow template package with any additional rules and then select Activate.
Note: Ensure that the Outbound Messages that you configured for the rule are updated with the correct Acoustic Exchange host and event-level authentication key.
Next, to put your endpoint to work and enable data flow from one endpoint to another, you must subscribe your endpoints to events. An event is a specific interaction or behavior that a business application can detect at a specific time and that can be associated with a customer identifier.
The Salesforce endpoint supports the subscription of Web, Mobile, Social, SMS, and Email Event Types.
How Exchange and Salesforce work together
When a customer interacts with an email sent from a marketing platform, like Campaign, the interaction is recorded and registered as an event by the marketing platform. The marketing platform then pushes the event data to Exchange. After the event is received by Exchange, the event is then pushed to Salesforce. With the customer data that is contained in the event, Salesforce users are able to mold a more complete view of their brand's relationship with its customers.
However, because of Exchange's dynamic nature, the sending and receiving of CRM data is not limited to marketing platforms. You can share your Salesforce CRM data between Exchange and the robust number of Acoustic and business partner solutions. For example, in addition to connecting a marketing platform to Salesforce, you could also connect an analytics platform like Digital Analytics, and share analytical and CRM data between the two endpoints.
Depending on your business case, you can select from one of two methods to satisfy your business needs.
- Salesforce as a Exchange CRMi deployment for Campaign: for marketers who use both Salesforce and Campaign to manage their customer-marketing relationship. It builds on the legacy Salesforce and Campaign integration, offering optimizations for data transfer speed, stability, and the ability to choose what data is sent to Salesforce.
- Salesforce as a non-CRMi deployment in Exchange: a non-specialized integration with Salesforce in which you can register the Salesforce endpoint in your Exchange account. By implementing this method, Exchange you are able to send and receive data to and from your Salesforce solution to any Acoustic and business partner solutions that are registered with Exchange.
Map Salesforce identifiers and attributes to Exchange events
Exchange event types describe what channel a particular event or "outbound message" is coming from Salesforce. For example, it could come from web, mobile, SMS, call center, etc. You can map what channel to the channel attribute in the JSON payload that you send to Exchange.
Event: crmLead
Identifier mapping
Exchange identifier |
Salesforce field |
CRM_SFDC_ID |
Id |
Email |
Email |
PhoneNumber |
Phone |
Attribute mapping
Exchange attribute |
Salesforce field |
company |
Company |
contactAddress |
Street |
contactCity |
City |
contactFname |
FirstName |
contactLname |
LastName |
contactPostal |
PostalCode |
contactState |
State |
customer |
OwnerId |
description |
Description |
source |
LeadSource |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: newLead
Identifier mapping
Exchange identifier |
Salesforce field |
CRM_SFDC_ID |
Id |
Email |
Email |
PhoneNumber |
Phone |
Attribute mapping
Exchange attribute |
Salesforce field |
company |
Company |
contactAddress |
Street |
contactCity |
City |
contactFname |
FirstName |
contactLname |
LastName |
contactPostal |
PostalCode |
contactState |
State |
customer |
OwnerId |
description |
Description |
source |
LeadSource |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: cancelledLead
Identifier mapping
Exchange identifier |
Salesforce field |
CRM_SFDC_ID |
Id |
Email |
Email |
PhoneNumber |
Phone |
Attribute mapping
Exchange attribute |
Salesforce field |
company |
Company |
contactAddress |
Street |
contactCity |
City |
contactFname |
FirstName |
contactLname |
LastName |
contactPostal |
PostalCode |
contactState |
State |
customer |
OwnerId |
description |
Description |
source |
LeadSource |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: qualifiedLead
Identifier mapping
Exchange identifier |
Salesforce field |
CRM_SFDC_ID |
Id |
Email |
Email |
PhoneNumber |
Phone |
Attribute mapping
Exchange attribute |
Salesforce field |
company |
Company |
contactAddress |
Street |
contactCity |
City |
contactFname |
FirstName |
contactLname |
LastName |
contactPostal |
PostalCode |
contactState |
State |
customer |
OwnerId |
description |
Description |
source |
LeadSource |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: crmOpportunity
Identifier mapping
Exchange identifier |
Salesforce field |
OPPORTUNITY_SFDC_ID |
Id |
Attribute mapping
Exchange attribute |
Salesforce field |
assignedTo |
OwnerId |
campaign |
CampaignId |
closeDate |
CloseDate |
leadSource |
LeadSource |
opptyAmount |
Amount |
opptyDescription |
Description |
opptyName |
Name |
opptyType |
Type |
probability |
Probability |
proposedSolution |
NextStep |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: opptyDeveloped
Identifier mapping
Exchange identifier |
Salesforce field |
OPPORTUNITY_SFDC_ID |
Id |
Attribute mapping
Exchange attribute |
Salesforce field |
assignedTo |
OwnerId |
campaign |
CampaignId |
closeDate |
CloseDate |
leadSource |
LeadSource |
opptyAmount |
Amount |
opptyDescription |
Description |
opptyName |
Name |
opptyType |
Type |
probability |
Probability |
proposedSolution |
NextStep |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: opptyQualified
Identifier mapping
Exchange identifier |
Salesforce field |
OPPORTUNITY_SFDC_ID |
Id |
Attribute mapping
Exchange attribute |
Salesforce field |
assignedTo |
OwnerId |
campaign |
CampaignId |
closeDate |
CloseDate |
leadSource |
LeadSource |
opptyAmount |
Amount |
opptyDescription |
Description |
opptyName |
Name |
opptyType |
Type |
probability |
Probability |
proposedSolution |
NextStep |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: opptyLost
Identifier mapping
Exchange identifier |
Salesforce field |
OPPORTUNITY_SFDC_ID |
Id |
Attribute mapping
Exchange attribute |
Salesforce field |
assignedTo |
OwnerId |
campaign |
CampaignId |
closeDate |
CloseDate |
leadSource |
LeadSource |
opptyAmount |
Amount |
opptyDescription |
Description |
opptyName |
Name |
opptyType |
Type |
probability |
Probability |
proposedSolution |
NextStep |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |
Event: opptyWon
Identifier mapping
Exchange identifier |
Salesforce field |
OPPORTUNITY_SFDC_ID |
Id |
Attribute mapping
Exchange attribute |
Salesforce field |
assignedTo |
OwnerId |
campaign |
CampaignId |
closeDate |
CloseDate |
leadSource |
LeadSource |
opptyAmount |
Amount |
opptyDescription |
Description |
opptyName |
Name |
opptyType |
Type |
probability |
Probability |
proposedSolution |
NextStep |
contactConsent |
hasOptedOutOfEmail |
minorConsent |
minorConsent |