Sync fields for the native CRM connectors

Are you using Salesforce or Microsoft Dynamics within your organization? If so, with Marketo Engage’s native CRM connectors (i.e. Salesforce, Microsoft Dynamics, and Veeva), you can coordinate marketing and sales activities by seamlessly sharing relevant information between Marketo Engage and CRM. Before you configure the initial CRM sync, make sure you identify the fields you’d like to sync between the two systems to keep your Marketo Engage database clean.

Learn more about how to conduct this exercise with best practices suggested by Adobe Professional Services. Follow along to understand Standard Fields and Custom Fields and document their relationships between Marketo Engage and your CRM.

Identify fields to sync before integrating your CRM with Marketo Engage

When integrating your CRM with Marketo Engage, you probably won’t need to sync all your CRM fields to Marketo Engage. Being strategic about the fields you need can help your Marketo Engage instance process the data flow more efficiently.

The initial sync between your Marketo Engage and CRM system will automatically make associations for most existing standard fields (i.e. Email, First/Last Name, Company, etc.). Additionally, the connector also syncs Custom Fields for your Leads, Contacts, Accounts, and Opportunities by creating new fields in Marketo Engage that are automatically mapped to those fields from your CRM.

Identifying and organizing the fields that you’d like to sync from your CRM prior to performing the initial sync is a critical step in the Native Connector setup process. We refer to this as a Data Dictionary exercise, which helps you minimize the number of duplicate fields that get created and make any subsequent remapping steps go as smoothly as possible. This exercise typically involves input from the Marketing and Sales teams and your CRM Admin to ensure that only relevant fields are synced to your Marketo Engage instance.

Build your data dictionary

Generally, the best practice is to only sync CRM fields that will be needed for marketing purposes. Start with this exercise to organize the fields from your CRM that will need to be mapped to Marketo Engage and run the initial CRM sync correctly the first time.

NOTE
If you have custom fields in your CRM that already have an equivalent custom field in Marketo Engage before beginning the initial sync, a new “duplicate” field is created in Marketo Engage for the CRM field. You can re-map the CRM field to the original Marketo Engage field and hide the duplicate field once the initial sync is complete, but you need to contact Adobe Customer Support to do so. See step 7 for more details.

Step 1: Build a rough list of fields currently available in your CRM and mark whether you would like them to appear in Marketo Engage.

  • Include feedback from your CRM admin, marketing, and sales teams in the decision-making process.
  • Document the API names and field types for each field
  • Determine what level of access Marketo Engage should have for these fields (i.e. Read-Only or Read-Write)

Step 2: Review the Admin > Field Management section of your Marketo Engage instance to Identify any custom fields previously created directly in the system that you would like to include in the sync.

  • Document the API names and field types for each field.
  • Denote fields that already have an equivalent field in your CRM.
  • Denote fields that do not already have an equivalent field in your CRM.

Step 3: Start building the Data Dictionary with the default map fields

  • Since Marketo Engage uses a flat database, it’s recommended that you format your Data Dictionary as follows:

    • First Column: Marketo Engage Field Names
    • Second Column: Marketo Engage API Names
    • Third Column: Marketo Engage Field Type (i.e. Boolean, Currency, Date, etc.)
    • In subsequent columns, repeat for the CRM object types (Lead, Contact, Account, Opportunity) with an additional column for the level of access you’d like Marketo Engage to have (i.e. Read, Write, Edit)

    Here’s a sample of what it would look like:
    Data Dictionary Table {width="100%" modal="regular"}

  • Start by adding the default fields that will be automatically mapped for your CRM:

  • Confirm each default field in Marketo Engage matches the field in your CRM that you would like to sync with. For example, the “Unsubscribed” field in Marketo Engage could be the “Email Opt Out” field in your CRM.

  • Adjust the CRM API name, privileges, and data type where necessary.

Step 4: Add additional fields to the Data Dictionary

  • Include the Display Name, desired CRM privileges and data type for each field.
  • If a field exists in CRM but not Marketo Engage, fill the Marketo Engage display and API names with the same values from the CRM field.
  • If a field exists in Marketo Engage but not the CRM, fill the CRM display name with the desired value but leave the CRM API name blank until after the field is created.
  • If equivalent fields exist in both systems, include them on the same line and indicate that they need to be remapped in the “Notes” section at the far right of your Data Dictionary sheet.
NOTE
If you’re planning on creating a Sync Filter field (Salesforce | Microsoft Dynamics), make sure to include it in this step but leave the API names blank until the field is created in your CRM.

Step 5: Review the Data Dictionary with your CRM Admin

Step 6: Perform the initial sync

  • Ensure that all fields you would like to sync with Marketo Engage have the appropriate privileges in your CRM as defined by the Data Dictionary.
  • Ensure that all fields you would not like to sync with Marketo Engage are hidden from the Marketo Sync Profile. It is much easier to add new fields to the sync later than it is to remove fields that were unintentionally synced.
  • Are you connecting your CRM with the Sync Filter field? If you sync to Salesforce, contact Adobe Customer Support to ensure that the filter functionality is turned on before starting your initial sync.

Step 7: Review the Field Management section in Marketo Engage

  • Confirm/update the Display & API Names for the new synced fields.

  • Identify any duplicated fields that may require remapping. Duplicated fields occur in a few scenarios:

    • Custom fields in the CRM would create a new (potentially duplicate) field in Marketo Engage the first time they sync down if an equivalent field already existed in Marketo Engage.
    • Marketo-Engage-Only custom fields (i.e. a field created directly in Marketo Engage) and you may have an equivalent field synced from the CRM.

Step 8: Contact Adobe Customer Support to perform remapping if duplicated fields appear

  • Contact Support with the following information for fields that need to be remapped:

    • Display & API names for new duplicate fields created by the CRM.
    • Display name for the Marketo Engage field that you would like the CRM field to map to.
    • Please refer to this example HERE.
  • Once remapping is complete, review the API names for the remapped fields in Marketo Engage and update the values in your Data Dictionary’s “API Name” column to ensure it contains the most accurate information.

What’s next?

  • Build your Data Dictionary to organize your fields for the CRM integration.
  • Familiarize yourself with the initial sync process for your CRM
Salesforce

Learn how Marketo Engage and Salesforce go together to keep your sales and marketing data in sync.

embed

https://video.tv.adobe.com/v/3424719/?learn=on

Transcript

Hi, my name is James Liedung and I’m currently a customer technical advisor at Adobe for the Marketo Engage product. I was a member of the Adobe Marketo Engage 2022 champion class and I’ve been using Marketo Engage for about seven years. I’ve been working with our marketing automation customers and consultants for years as well. Today we’re going to be talking through the Marketo and Salesforce sync. This tutorial will include how the sync works, setting up the sync to get the right data flowing and finally a few things to check on to make sure it’s working properly. This is a pretty significant undertaking so expect to spend some time and effort ensuring that all pieces are correct before you flip the switch. It’s vital to remember that only one Salesforce instance can be synced to one Marketo instance. You cannot switch Salesforce instances or credentials once you set this up. One of Marketo Engage’s most powerful features is its native integration with Salesforce. Your marketing team spends money and resources in order to engage the prospects and customers in Marketo Engage while your sales team does their own outreach and account management in Salesforce. While neither system can fully replace the other, there are parts that can be managed in either platform, causing a need for the two systems to speak to one another. Basically, you can visualize the Marketo Engage and Salesforce sync as a constant conversation between the two that look for an object such as a lead or contact to be updated on one end and then reflected as an update on the other end. This happens every five minutes. If a lead is updated in Salesforce, then on that cyclical five minute mark, Marketo Engage and Salesforce will look to the fields that are synced between that object and update the record for only the field that changed. Let’s take a lead status update, for example. Say a sales rep makes a change in the Salesforce system to update a lead status from new to working, indicating that the lead is now being reached out to by the sales rep. In this situation, some organizations would want to pause marketing communications with that lead so the salesperson can have a tailored conversation regarding the product. Soon after the lead status is updated to working, Salesforce will send that information to Marketo Engage in order to update the person record on the Marketo Engage side. Marketo Engage will then reflect that the specific record has a status of working. Other objects may be synced between the systems as well, such as accounts, opportunities, users, campaigns, activities, and custom objects. For the most part, these objects will be read by Marketo Engage, but it will not have the option to update any fields on those objects. If your Salesforce system admin creates a new field and makes it visible to the Marketo Sync profile, Marketo Engage will create the exact same field inside your instance and start syncing to that new field. The way Marketo Engage sees what’s happening is through a user in Salesforce called the Marketo Sync user. This user must have its own profile and permission sets in Salesforce, as this is how you limit the amount of fields and other data coming into your Marketo Engage instance. Consider this Marketo Sync user as a window into your Salesforce instance, as well as Salesforce’s window into your Marketo Engage instance. When you first sync your Marketo Engage and Salesforce instances, it could take up to a few days for all of the data to run through the systems. This will depend on the amount of data that both systems hold, but in general, the switch should be flipped during off hours, like a Friday afternoon. Make sure to communicate to all users of your Salesforce and Marketo Engage instances in case they see slowdowns or lags in data. It’s always better to over-communicate. Now let’s get into the setup steps. The first step to set up the Salesforce Sync is to make sure you have access to the Marketo section and that you or another team member have access to the Salesforce API. You’ll want your Salesforce admin to add three new fields on the lead and contact objects, score, acquisition program, and acquisition date. These three fields will be field types of number, text, and date time respectively. All the field names of lead score, acquisition date, and acquisition program should be consistent with what you are seeing on the screen. Then, map these fields for conversion between leads and contacts so that the data will be passed over to the new contact record upon lead conversion.

You can also add a few other fields that can be synced from Marketo Engage to Salesforce, but that’s optional. Step two of setting up the sync is to create the Marketo Sync user that we mentioned previously. Again, this user has to have its own profile to prevent all of Salesforce data from coming into your Marketo Engage instance. First off, create a new profile by cloning a standard user profile and name that new profile Marketo Sync. Now edit the profile detail and make sure the administrative permissions boxes for API enabled, edit HTML templates, manage public documents, and manage public templates are checked. Navigate down to the general user permissions and make sure the convert leads, edit events, and edit tasks boxes are checked. Next, make sure that the Marketo Sync user profile has access to read, create, edit, and delete the following standard objects, accounts, campaigns, contacts, leads, and opportunities. Click save. Marketo Engage will not delete any records besides leads and contacts and only then is specified in flow steps within smart campaigns. The next few steps are about selecting which fields to sync from Salesforce to Marketo Engage, which can take a while and are best done with feedback from other parts of the business. So it’s helpful if you and some other members of your organization go through them together. A quick piece of advice here, you can always add more fields later, so don’t stress about getting everything absolutely perfect on the first pass. The more fields that you sync, the more data needs to be passed over and the slower the sync can be. A general rule of thumb is that if you don’t need to view it or you can’t action it in Marketo Engage, then it likely doesn’t need to be there. As you go through the account, contact, lead, and opportunity fields that you want created and synced in your Marketo Engage instance, be sure to take notes of field descriptions. Sometimes a field can say type and another field can say record type, so having a data dictionary that will explain the difference between those two fields will be helpful in the future.

Finally, we’ll create the actual user within Salesforce. You want to put a username of MarketoSync at your company domain or something similar. An extra tip here, you can use an internal email distribution list for the email section so that when you reset the password, a few different people can access the email. You can also put your email address as well. Click save and now you have your Marketo user. Step three of the Marketo and Salesforce sync is hooking it up from the Marketo Engage admin tab. For this, you’ll need two things, Marketo Engage admin permissions and the Salesforce security token for your MarketoSync user. Also note what we covered before, only one Salesforce instance can be synced to one Marketo Engage instance. You cannot switch Salesforce instances or credentials once you have this set up. If you see a login to Salesforce button instead of the username, password and token fields, then OAuth is enabled in your Marketo Engage instance and there are a couple other steps to complete before syncing. You can find these steps within the experience league documentation linked below. Reset the security token and the email address that you use to set up the MarketoSync user will receive the email reset link. From there, you’ll navigate to the admin tab Marketo Engage and then to the left tree to find integration and click on CRM. You’ll select Salesforce.com and insert the username, password and security token from Salesforce. If this is a Salesforce sandbox instance and not production, you can designate that here. Click sync fields. Remember, the amount of fields that sync over will dictate the amount of information being passed between the systems. The next screen will be a bit dramatic, but it is true. Once Marketo and Salesforce are synced, you cannot switch to another Salesforce subscription. Click confirm credentials if this is the instance you want to connect to. Next, navigate to the Salesforce tab in the admin section and click start sync. Again, you’ll want to do this after working hours so you don’t bog down the system with the impending data transfer. Click start sync and off you go.

Once your sync has started, you can check on your sync status by clicking the Salesforce tab on the left side of the Marketo Engage admin section and looking in the top right for either messages last synced, sync in progress or last synced failed. Let’s go over some tips and tricks for managing your Salesforce sync. As we talked about before, your sync speed will depend on the amount of objects and fields that are passed between the two systems. For example, if you have a large account in your Salesforce system that has a few hundred or even a few thousand contacts associated, all of those contacts will need to be passed to a Marketo Engage for an update to a related account field. If there are fields that do not need to be in Marketo Engage, but they’re already synced, you can simply hide the field from the Marketo sync user in Salesforce and it will break the sync for that one field only. Once you see there is no CRM field mapping in the field management tab in the admin section of Marketo, you can remove all dependencies and hide the field. If you want the field completely deleted, you can request a ticket with Marketo support, but a field with that same name can never be introduced to your Marketo instance again. Better to leave them hidden just in case. And with that, you’ve synced your Salesforce and Marketo Engage systems. It’s important to remember that things will occasionally change on both the Marketo Engage and Salesforce sites. And the managers of both systems will need to be notified of any field updates that occur. It can be an ongoing project to make sure the systems are both playing nicely together, so don’t just set it and forget it. We’ve covered how the Salesforce sync works, setting up the Salesforce sync to get the right data flowing, and finally a few things to check on to make sure it’s working properly. As always, reach out to Marketo support with any concerns or issues that arise. Thanks so much for tuning in.

accordion
Links used in the video:
Microsoft Dynamics

Learn how the Microsoft Dynamics 365 sync works and configure the setup properly to allow the two systems to speak to each other.

embed

https://video.tv.adobe.com/v/3424737/?learn=on

Transcript

Hello, I’m Marisol Lopez. I’m currently a Name Support Engineer at Adobe. I’ve been using Marketo Engage for three years. I’m a Marketo Certified Expert and I’ve been working with our marketing automation customers for five years. The Microsoft Dynamics integration is a native sync. Understanding how the sync works and the setup is extremely important as it is how the two systems speak to each other. In this video, I will be talking about how to set up Microsoft Dynamics 365 Sync and sharing my tips and tricks along the way. Please note that in this video, we will be going over how to sync for Microsoft Dynamics 365 Server-to-Server connection. If you have a different version of Dynamics, we have documentation on the steps for that setup as well. The sync between Marketo Engage and Microsoft Dynamics is bi-directional for leads and contacts. If you make changes in either Marketo Engage or Microsoft Dynamics, your updates will be reflected in both systems. All other objects in their respective fields, such as accounts and opportunities, are synced one way only, from Microsoft Dynamics to Marketo Engage. What is synced between Marketo Engage and Microsoft Dynamics? Leads, contacts, accounts, users, teams, also known as groups of system users, and opportunities. The first action that needs to be taken to get the Microsoft Dynamics sync setup is that we need to download the Marketo Lead Management solution. You may see this referred as MLM and product documentation or communications with Marketo support. Home screen. Click on Admin in the navigation bar and go to the Admin section. CRM. You will click on CRM and then click Microsoft. Microsoft Dynamics. Click Download the Microsoft Solution. Download Marketo Solution. Select the appropriate solution. A zip file of the solution will now be downloaded to your device. Step 1 of 3. Install the Marketo Solution with server-to-server connection. Dynamics home page. Log in to Microsoft Office 365. In a production instance, you would click Menu and select CRM. Here we will be selecting the Solution tab. Solutions. Click on Import. Click Browse and select the solution you downloaded. Click Next. View the solution information and click View Solution Package Details. Please note that when updating the solution later on, you will need to use different settings. Please see our documentation linked below on updating the existing Marketo solution with the latest version for Dynamics. When you’re done checking the Marketo lead management package details, click Close. Solution information page. Click Next. Import options. Make sure SDK option checkbox is selected. Click Import. Wait for the import to finish. You will need to enable popups on your browser to complete the installation process. Here’s a helpful note. You may see a message saying Marketo lead management complete with warning. This is fully expected. All solutions page. Marketo lead management will now appear on all solutions page. Select the Marketo solution and click Publish all customizations. Step 2 of 3. Set up Marketo Solution with server-to-server connection. Navigate client application in Azure AD. Navigate to this Microsoft article. Sign in to the Azure portal using the account with administrator permissions. You must use an account in the same Microsoft 365 subscription as you intend to register the app with. In the Azure portal, select Azure Active Directory in the left pane and select App Registration and click on New Registration. In the Register an Application page, enter your application’s registration information. In the Name section, enter a meaningful application name that will be displayed to the users. Under the Support Account type, select Accounts in this organizational directory only. Set the redirect URI. Click on Register to create the application. On the App Overview page, set the application ID URI value by selecting Add an application ID URI and then add a scope. Set the URI value to your target environment base address. When creating a scope, the base address that you’ll be using here will be the same base address that you used when creating a redirect URI for your app. That can be found by going over to the Overview in your app, going to Redirect URIs, selecting the link here, and you will find the web redirect URIs here. This will match what you create the scope with here. On the App Overview page, hover over Application Client ID value and select Copy to Clipboard icon to copy the value as you’ll need to specify this in your application authentication code or app config file when appropriate. Select Manifest tab in the Manifest Editor. Set the Allow Public Client property to true and click on Save. Select API Permissions tab. Click on Add a Permission. Search for and choose Dataverse under the API’s My Organization Uses tab. If Dataverse is not found, then search for Common Data Service. Click on Delegated Permissions and check the options and click on Add Permissions. This completes the registration of your application in Azure Active Directory. Grant Consent for Client ID and App Registration. In order to grant consent for all users in the app registration, you will need to click on API Permissions. From there, you will click on Grant Admin Consent for Marketo. And click Yes. Back in the app registration, generate a client secret in the Admin Center by clicking Certificates and Secrets. Click the New Client Secret button. Enter a Client Secret description and click Add. Make sure to make note of the Client Secret value as you’ll need it later. It is only shown once and you won’t be able to retrieve it again. Create an Application User. You can create an unlicensed application user in your environment. This application user will be given access to your environment’s data on behalf of the user who’s using your application. In an environment, you can only have one application user for each Azure AD registered application. To get to the page, type in the URL on the screen or find them in the reference section on the tutorial page. Sign in to the Power Platform Admin Center as a System Administrator. Select Environments and then select the environment from the list. Select Settings. Select Users and Permissions and then select Application Users. Select a new app user to open the Create a New App User page. Select Add an App. In this demo, the app user has already been created. Originally, you would see the application you created shown here and you would be able to select it. Because this app user has already been created, you don’t see the option here. The selected Azure AD app is displayed under App. You can select Edit to choose another Azure AD application. Under Business Units, select a business unit from the dropdown list. After choosing a business unit, you can select Edit for Security Roles to choose security roles for the chosen business unit to add to the new application user. After adding security roles, select Save. The specific role of Marketo Sync User must be added to enable the sync. This role will be created by Marketo Solution as you import it. Select Create. Configure Marketo Solution. Go back to the Advanced Settings section and click the dropdown arrow icon next to Settings and select Marketo Config. Click Default. Click the Search button on the Marketo User field and select the Sync User you created. Click the Add button in the bottom right corner to save the changes. Click the X in the upper right to close the screen. Click the dropdown arrow icon next to Settings and select Solutions. Click the Publish All Customization button. Another thing to check is to run the Validate Microsoft Dynamics sync process. It verifies that your initial setups were done correctly. Common errors happen when Marketo Sync User role is not checked, or Marketo Solution is not properly installed, or the Sync User is not assigned on the Marketo default page in Microsoft Dynamics. To fix these errors, please refer to our documentation on how to fix Dynamics validation sync issues. To validate sync setup, you will need a few different credentials. Here’s how to access them. For the username, you’ll want to go into your Power Platform Admin Center, go to Environments, select the environment associated to the Sync User, hit See All Users. Then you’ll see your Sync User and you’ll want to copy this username to use into the Validate Sync Setup. You’ll also want to provide a URL. To access the URL, you’ll want to go into Settings, Customizations, Developer Resources, and then copy the organization service URL here. You’ll also need a Client ID. To access the Client ID, you’ll go into the App Registration, select the app you’re using, and you’ll find Client ID here. You’ll want to copy this and paste it into the Validate Sync Setup. You’ll also need the Client Secret. If you go into your app, go to Certificates and Secrets, and find the one associated to your Sync User, the Market Integration. You can find the value here. This is a value that you will have copied when it was first set. You should have a copy of this in a notepad or in a Word document, something of that sort. You’ll copy that and you’ll enter that into the Validate Sync Setup. Lastly, you’ll need a Tenant ID. If we go back to the app in Overview, you’ll see here, Tenant ID. You’ll want to copy this and insert that into the Validate Sync Setup as well. Before proceeding to Step 3, Connecting MarketoEngage and Microsoft Dynamics in MarketoEngage Admin section, you’ll want to decide if you want to restrict the number of records you sync. You can do this by setting up a custom sync filter in Microsoft Dynamics. Step 3 of 3, Connect the Marketo Solution with Server-to-Server Connection. Enter dynamic sync user information. Log into Marketo and click Admin. Click on CRM. Select Microsoft. Click Edit in Step 1, Enter Credentials. Enter the dynamic sync user information and click Save when done. Please make sure your org URL is correct as we are unable to revert the set schema changes after submission. If an incorrect org URL is used, you’ll have to obtain a new MarketoEngage subscription. If you don’t know the URL, learn how to find it in the View the Organization Service URL product doc below. The username in Marketo must match the email address of the application user in the CRM. The format can be user at domain dot com or domain backslash user.

Step 3 of 3 continues, Fields to Sync. Click Edit in Step 2, Select Fields to Sync. Select the fields that you want to sync to Marketo so they will be preselected. Click Save. Marketo stores a reference to the fields to sync. If you delete a field in Dynamics, we recommend doing so with the Sync Disabled. Then refresh the schema in Marketo by editing and saving the select fields to sync. If you have created a custom sync filter, you will want to make sure the fields used for that are syncing as well. Enable Sync. Click Edit in Step 3, Enable Sync. Caution, Marketo will not automatically dedupe against a Microsoft Dynamics Sync or when you manually enter people or leads. Read everything in the popup, enter your email address and click Start Sync. The first sync may take a few hours. Once it’s done, you’ll receive an email notification. Remember, the initial sync will take time, from days to weeks. The sync cycle runs every 5 minutes. This does not mean that it updates every 5 minutes. This means that a sync cycle runs, which can take 1 minute, 10 minutes, 30 minutes and so on, depending on the amount of updates we need to make. Once that completes, the sync pauses for 5 minutes and then restarts again. And that’s it for this instructional video. You have learned how to download the MLM solution, how to install Marketo solution for server-to-server connection and how to connect Marketo Engage from Microsoft Dynamics. I hope you find it helpful for setting up your Dynamics Sync with Marketo Engage. Thanks so much for tuning in.

accordion
Links used in the video:

Authors

Peter Livadas {width="150"}

Peter Livadas, Marketo Engage Senior Technical Consultant at Adobe

Amy Chiu {width="150"}

Amy Chiu, Adoption & Retention Marketing Manager, Adobe

recommendation-more-help
baf68c6a-dcf0-4be6-8844-d26958069fee