Sales Insight for Non-Native Salesforce Integrations sales-insight-for-non-native-salesforce-integrations

If your Adobe Marketo Engage account is connected to Salesforce through a customized or non-native integration, use this article to configure Sales Insight.

PREREQUISITES
  • The “MSI Non-Native” feature enabled for your Marketo instance before you start setting up MSI. If it isn’t and you already purchased the feature, please contact Marketo Support. If you have not yet purchased this feature, contact the Adobe Account Team (your Account Manager).
  • A Salesforce account with MSI Package set up.
  • Marketo REST API successfully set up. The exposed CRUD APIs will be the basis of performing the non-native sync.
  • Read this blog post in order to get an understanding of the object and relationships.
  • Set up Salesforce objects to display the 18 character case-insensitive globally unique identifier rather than the 15 character case-sensitive globally unique identifier.
NOTE
The REST API Configuration in the Marketo MSI Admin Panel cannot be used for the Non-Native sync.

Successful non-native sync for MSI requires the following successful-non-native-sync-for-msi-requires-the-following

  1. Sync the Salesforce Sales User to Marketo.

    The Salesforce Sales User is an external user that owns the Leads/Contacts in Salesforce. A Marketo Sales Person needs to be upserted for the Salesforce Sales User. The externalSalesPersonId field is mandated for the upsert of the Sales Person.

    table 0-row-3 1-row-3 html-authored no-header
    Marketo Sales Person Field Salesforce Sales User Field Description
    externalSalesPersonId Salesforce Sales User case-insensitive globally unique identifier

    Identifies the Marketo Sales Person record to an external Salesforce Sales User object.

    It's mandated that the Sales Person be synced first before syncing the other objects so that the proper relationships will be created.

  2. Sync the Salesforce Accounts to Marketo.

    A Marketo Company will need to be upserted for the Salesforce Account. The externalCompanyId and externalSalesPersonId fields are mandated for the upsert of the Company.

    table 0-row-3 1-row-3 2-row-3 html-authored no-header
    Marketo Company Field Salesforce Account Field Description
    externalCompanyId Salesforce Account case-insensitive globally unique identifier Identifies a Marketo Company record to an external Salesforce Account object.
    externalSalesPersonId Salesforce Sales User case-insensitive globally unique identifier Identifies a Marketo Company record to an external Salesforce Sales User object who is the Account owner.

    Also used within Marketo to associate the Company to the Sales Person who owns the Company record. It is mandated to have the Sales Person synced first before setting this field.
  3. Sync the Salesforce Leads/Contacts to Marketo.

    You will need to upsert a Marketo Lead for the Salesforce Lead/Contact. The externalPersonId, externalSalesPersonId, and externalCompanyId fields are mandated for the upsert of the Lead.

    table 0-row-3 1-row-3 2-row-3 3-row-3 html-authored no-header
    Marketo Lead Field Salesforce Lead/Contact Field Description
    externalPersonId Salesforce Lead/Contact case-insensitive globally unique identifier Identifies the Marketo Lead record to an external Salesforce Lead/Contact object.

    This is a new field that is introduced for MSI Non-Native.
    externalSalesPersonId Salesforce Sales User case-insensitive globally unique identifier Identifies the external Salesforce Sales User object who owns this Lead/Contact.

    Also relates the Lead with the Sales Person in Marketo. It is mandated to have the Sales Person correctly synced first.
    externalCompanyId Salesforce Account case-insensitive globally unique identifier Identifies the external Salesforce Account object that the Lead/Contact belongs to.

    Also relates the lead record to a Company in Marketo. It is mandated that the Salesforce Account be correctly synced first.
  4. Sync Salesforce Opportunities to Marketo.

    You will need to upsert a Marketo Opportunity for the Salesforce Opportunity. The externalOpportunityId, externalCompanyId, and externalSalesPersonId fields are mandated for the upsert of the Opportunity.

    table 0-row-3 1-row-3 2-row-3 3-row-3 html-authored no-header
    Marketo Opportunity Object Field Salesforce Opportunity Object Field Description
    externalOpportunityId Salesforce Lead/Contact case-insensitive globally unique identifier Identifies the Marketo Opportunity record to an external Salesforce Opportunity object.
    externalCompanyId Salesforce Account case-insensitive globally unique identifier Identifies the external Salesforce Account object which this Opportunity belongs to.

    It is mandated that the Salesforce Account be correctly synced first.
    externalSalesPersonId Salesforce Sales User case-insensitive globally unique identifier Identifies the external Salesforce Sales User object who owns this Opportunity.
  5. Sync Salesforce Contact Roles to Marketo.

    Salesforce Contact Roles for a Salesforce Opportunity can be then synced via the Marketo Opportunity Role. The Opportunity Role record mandates the externalOpportunityId, role, and leadId fields.

    table 0-row-3 1-row-3 2-row-3 3-row-3 html-authored no-header
    Marketo Opportunity Role Field Salesforce Contact Role Field Description
    externalOpportunityId Salesforce Opportunity case-insensitive globally unique identifier Identifies the Marketo Opportunity Role to an external Salesforce Opportunity object.

    It is mandated that the Salesforce Opportunity be correctly synced first.
    leadId N/A, this would be a Marketo Lead ID This would be the Marketo Lead ID of the synced Salesforce Contact.

    Once the contact is synced in Marketo, you can use the Salesforce Contact case-insensitive globally unique identifier as the externalPersonId and query for the Marketo Lead using the Marketo REST API.
    role The Role field for the Salesforce Contact Describes the role of the contact for this opportunity.
  6. Sync Last Interesting Moment/MSI Scoring fields to SFDC.

    Once your Salesforce objects are correctly synced to Marketo, you can then take advantage of the MSI features. The MSI Last Interesting Moment/Scoring fields will be exposed in the REST API for Leads. These fields are calculated by MSI and are read-only.

    The Last Interesting Moment/Scoring fields of a Marketo Lead will need to be regularly synced to Salesforce by using the REST API Lead endpoint. Query this endpoint for a Marketo Lead using the externalPersonId as the filterType and passing in the Salesforce Lead GUID as the filterValue.

    table 0-row-1
    GET /rest/v1/leads.json?filterType=externalPersonId&filterValues=salesforceLeadId1,salesforceLeadId2

    You can then use the values of these fields to sync to your Salesforce Lead/Contact object.

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 html-authored no-header
    Marketo Lead Field Salesforce Lead/Contact Field Description
    msiLastInterestingMomentType Label: Last Interesting Moment Type
    Name: Last_Interesting_Moment_Type__c
    Type of the last interesting moment for the Lead
    msiLastInterestingMomentDate

    Label: Last Interesting Moment Date

    Name: Last_Interesting_Moment_Date__c

    Date of the last interesting moment for the Lead
    msiLastInterestingMomentDesc

    Label: Last Interesting Moment Description

    Name: Last_Interesting_Moment_Desc__c

    Description of the last interesting moment for the Lead
    msiLastInterestingMomentSource

    Label: Last Interesting Moment Source

    Name: Last_Interesting_Moment_Source__c

    Source of the last interesting moment for the Lead
    priority

    Label: Engagement

    Name: Priority__c

    Priority of the Lead
    relativeUrgency

    Label: Relative Urgency Value

    Name: Urgency_Value__c

    Relative Urgency of the Lead
    relativeScoring

    Label: Relative Scoring Value

    Name: Relative_Score_Value__c

    Relative Scoring of the Lead

    Documentation for the Lead REST API: https://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#!/Leads/getLeadByIdUsingGET.

    Proper use of the external fields is key to a successful non-native sync. If you fail to see data in some of the views, it is likely that a certain field was not correctly synced. For example, if a lead’s activities and interesting moments don’t show up when looking in the MSI widget under their Account, it is likely that either the lead’s company or the Account was not correctly synced. Performing a GET request for this lead while specifying the external fields will help you verify whether the lead was correctly synced. Moreover, the email for the external sales person in Marketo must match the email for that user in Salesforce. Data may not show in the Marketo tab in Salesforce if the emails do not match.

recommendation-more-help
94ec3174-1d6c-4f51-822d-5424bedeecac