Microsoft Lystavlen - the Online display board

Lystavlen is the danish word for 'the display board'. This blog is all about sharing the beauty of Microsoft Online Services

Connecting Dynamics Marketing to Dynamics CRM - Let the Sync Begin

Connecting Dynamics Marketing to Dynamics CRM - Let the Sync Begin

  • Comments 16
  • Likes

Microsoft Dynamics Marketing (MDM) is great for generating Leads and Microsoft Dynamics CRM (CRM) is great for working the Lead-to-Opportunity process.

So why not have the two sync Contacts, Leads, Opportunities and more between them?

Enter the "Dynamics Marketing Connector for Dynamics CRM".

  • connects both MDM and CRM thereby allowing marketing data to be synchronized between these two applications
  • leverages a managed solution for CRM which customizes a CRM organization to support the connector

The Dynamics Marketing solution is installed using the normal solution installation process for CRM. It customizes entities (see table below) and add a Security Role - "Dynamics Marketing Connector" - which you must assign to a user for the purpose of Dynamics Marketing Connector Integration

The following table outlines the changes made by the solution.



Synchronizing MDM with CRM

In order for the synch to happen automatically, you need to complete three steps

  1. Download and install required connector resources
  2. Make sure "Integration Services" are availabe to you
  3. Configure the MDM-CRM Connector



To download the connector resources (the "Microsoft Dynamics Marketing - CRM Connector.msi") and more click here

The files will be downloaded to your PC in the folder you specify, eg. "Downloads"

Installing the Connector

1. Navigate to where you downloaded the files, right-click the file "Microsoft Dynamics Marketing 16.1 - CRM Connector.msi" (1) and click Install

2. In the dialog click Next

Note

  • After running the installation with the default options, the resource files will be located here on your local machine: C:\Program Files (x86)\Microsoft Dynamics Marketing\Connector for Microsoft Dynamics CRM

3. Optional - Browse to a new location for the installation files

Click Next

4. Click Finish

To install the solution in your CRM

1. Click Settings and then Solutions

2. Click Import

3. Click Choose File

4. Navigate to the folder C:\Program Files (x86)\Microsoft Dynamics Marketing\Connector for Microsoft Dynamics CRM and select the file DynamicsMarketingConnectorSolution_managed.zip

5. Verify you selected the correct file and click Next

5a. Optional - click View solution package details

5b. Optional - have a look at the entities etc being synchronized

6. Click Close and verify the solution has been installed


To be able to configure the connector the so called "Integration Services" need to be enabled. These services are only deployed in your MDM instance by Microsoft upon request

You can check whether the services are enabled by navigating to Settings -> Integration Options in MDM

  • The Status indicator at the top of the "Settings" page is should be a blue checkmark
  • If the Status indicator is red, the "Integration Services" have not been yet deployed for your MDM instance

Requesting the Integration Services to be deployed

If you require the "Integration services" to be deployed, you must file a Service Request through your Office 365 portal.

In the "Office 365 admin center" click Support in the left navigation panel

Select "Service Requests"

Click "+" to create a new Service Request (SR) with the following settings:

  1. Issue Type = "Technical Support"
  2. Service = "Dynamics Marketing"
  3. Service Area = "Connector"
  4. Problem area = "Connector Setup installation"
  5. Title = (type a title for your SR)
  6. Description = (include a description - good idea to include the URL of your MDM instance)
  7. Contact Name
  8. Contact Phone Number

A member of the support team might call you to verify the request details. As soon as the connector service has been deployed, you will see the blue checkmark and then you can complete step #3 - configuration of the Connector.


The remaining steps for configuring the connector are

  1. Configure a connector user in CRM
  2. In MDM specify the CRM Endpoint and the credentials of the CRM Connector user
  3. In MDM enter an Azure Namespace and allow MDM to configure the Service Bus with two Queues that are secured to establish the connection channel between CRM, the integration service and MDM.

After the "Dynamics Marketing Connector for Dynamics CRM" solution is installed in your CRM, you must create a 'connector user' in CRM. This user must be assigned the “Dynamics Marketing Connector” security role. The "Dynamics Marketing Connector" security role is created when the Dynamics Marketing solution is installed in Dynamics CRM.

Create a new user

1. Log in to Office 365 as an admin, click Users and Groups, Active Users and then "+" to create a new user

2. Provide the required information and finish. In my example I call the user "MDM Connector"

Assign Sercurity Role to User

After creating the user in O365, you must next navigate to CRM and assign the security role “Dynamics Marketing Connector” to the user

1. Click the "..." menu and then CRM

2. Click Settings -> Administration -> Users 

3. Click the Connector user and then Manage Roles

Assign the role "Dynamics Marketing Connector" to the user.


 
Configure a CRM Endpoint

To facilitate access to CRM from MDM via the Connector Service you must define a CRM Endpoint in MDM. The account you enter for the endpoint is used by the "Integration services" to create and change entities in the CRM system. 

1. Navigate to MDM

2. Click Home -> Settings -> click Integration Options to open the "Integration Settings" page

3. In the "CRM Endpoint" section (1) click the Configuration button (2) to open the "Configure CRM Account for Access by the Connector Service" dialog

4. Provide the URL for your CRM Service (1) and the credentials of your Connector account (2). You can click Verify (3) to test that the credentials you have entered are valid. Click Submit to save and close

 
Configure an Azure namespace to serve as the transportation channel

In order to complete the Connector configuration you need to provide an Azure Namespace that you own.

Note:

  • If you do not have an Azure subscription yet you can click here

With your Azure Subscription in place all you need is a Service Bus Namespace and the associated Management key.

1. Log in to Azure, click Service Bus and then click Create to create a new namespace


 
2. Provide a name for your namespace (eg. "MyNameSpace110").

Make a note of the namespace name as well as the generated management key ("DEFAULT KEY") - you'll need them later

4. Return to MDM and the "Settings" page

In the "Service Bus" section (1) click the Configuration button (2) to open the "Configure Windows Azure for Microsoft Dynamics Marketing" dialog


5. In the "Configure Windows Azure for Microsoft Dynamics Marketing" dialog

  1. Enter the service bus namespace in the "Azure Namespace field"
  2. Enter a name for the "Queue from Dynamics CRM", eg "CRM2MDM"
  3. Enter a name for the "Queue from Dynamics Marketing ", eg "MDM2CRM" 
  4. Click Configure Azure ACS to open the "Provide Credentials for configuring the Azure Service Bus " dialog

IMPORTANT september 2014:

The above confuration dialog has changed since the original post - authenticating through the Microsoft Azure Active Directory Access Control (also known as Access Control Service or ACS) is not longer facilitated throught the interface as shown above (the "Configure Azure ACS" button has been removed).

You need to use PowerShell now. Please see comment by Christian Abeln below,  the 'See also' section, and the december update at the very end of this post.

 
6. In the "Provide Credentials for configuring the Azure Service Bus" dialog you must provide a number of administrative credentials in order to setup the secured trust relationship between the integration service and your CRM system through your Azure service bus. None of these administrative credentials will be ever stored. They will be used for an automated configuration, which eases the configuration immensely.



  • Type or paste the Azure Management key in the "Management Key" field (1)
  • Enter the CRM Certificate issuer name in the "Dynamics CRM certificate issuer name" field  (2) - You can find the issuer name from your CRM Online system under Settings / Customizations / Developer Resources (its crm4.dynamics.com in Europe)
  • Download the certificate file from CRM (see screenshot above) and save it to your local machine
  • Upload the certificate file in the third field on the Azure service bus configuration dialog (3)
  • In the bottom two fields enter the credentials of an administrative account of your CRM system (4)


7. Click OK to save and close the "Provide Credentials for configuring the Azure Service Bus" dialog and return to the "Configure Windows Azure for Microsoft Dynamics Marketing" dialog (Azure service bus configuration is now done)

8. Click Submit to save and close the "Configure Windows Azure for Microsoft Dynamics Marketing" dialog (the configuration of the communication channel is now complete)

9. Verify in the "Services" sections in the Integration settings page that you now have three service roles running:

  1. "MDM Listener" - listens for messages in the Azure Service Bus queue that indicate changes to make to data contained in Dynamics Marketing
  2. "MDM Publisher" - publishes messages to the Azure Service Bus queue to indicate changes that need to be made in Dynamics CRM
  3. "CRM Listener" - listens for messages that indicate a change needs to be processed in CRM. This role retrieves the messages from the Azure Service Bus queue and then executes a request against the CRM Organization Service to complete the change

Initial Synchronization

The final step for your configuration is the initial synchronization.

On the "Settings" page, scroll down to the "Initial Synchronization" section (1) and click the arrow button (2) - and wait until this step has completed.

You might need to refresh the "Settings" page a few times until the step is marked as complete.




I wont go into details about the entity mapping between MDM and CRM here, but to get an indication about some of the synchronized entities please refer to the below bullets (MDM left - CRM right):

  • Company <-> Account
  • Contact <-> Contact
  • Lead -> Lead
  • Opportunity <- Opportunity
  • Campaign -> Campaign
  • Marketing List -> Marketing List

So Accounts and (Marketing) Contacts you can create in either MDM or CRM and the new entity will sync to the other. Leads 'born' in MDM will sync to CRM (and then updates to fields will flow either way). Opportunities  'born' in CRM will sync to MDM (and then updates to fields will flow either way).

To test you can create a Marketing Contact in MDM and verify its created in CRM as well

1. Create a marketing contact in MDM - eg. Michael Schmidt from the company MSDAS

2. Open CRM and verify the contact has been created there too - please note that the Owner of the contact is "MDM Connector" (3) - the user you created above

3. Now to test the opposite synch direction add the (missing) title of the contact in CRM

4. Open MDM and verify that the title is synchronized from CRM to MDM

I hope you are as exited as I am about the wonderful services from Microsoft Dynamics and what they can do for your business

See also

  • Get the best of Microsoft Dynamics Marketing Connector for Microsoft Dynamics CRM - link
  • Microsoft Dynamics Marketing Spring '14 CRM Connector Setup (video) - link
  • Walkthrough: Configure Microsoft Azure ACS for integration with Microsoft Dynamics CRM 2013 - link
  • How to Configure Social Listening in CRM Online - link

Update November 2014

For the creation of the Azure ServiceBus using PowerShell, please make sure to use the argument 1 for the parameter –CreateACSNamespace

> New-AzureSBNamespace -Name YOUR_NAMESPACE -NamespaceType Messaging -Location "YOUR_LOCATION" -CreateACSNamespace 1

For the parameter –CreateACSNamespace using ‘1’ means is True and using ‘0’ means False (see also "Service Bus Authentication and Authorization" - link)

Thanks to my collegue Mihail Cretu for pointing this out

Note December 12

If you are having trouble getting the MDM Listener and MDM Publisher services to work (start) in a brand new MDM Organisation please check if you have set the Default Currency (Settings -> Site Settings -> "Financial Options" -> "Default Currency") for your MDM Organisation (thanks to my collegue Rodrigo Cristelli Lugarinho for the input)

Comments
  • Hi Jesper, great write-up and thanks for posting.

    I must say I am a little bummed that Microsoft has made this so complicated and require so many steps to setup. They really could have automated a lot more of this; like most 3rd party apps have done.

    At least it is available now. I look forward to Microsoft making this a whole easier in the future.

  • Hi Mike,

    Thank you for your comment. We very much appreciate your feedback – it is critical for us and enable us to further improve and build best in class products and services. If you have a product or service suggestion, we encourage you to log it at Microsoft Connect platform https://connect.microsoft.com/ and provide insight to the Microsoft development community about it. Thank you very much in advance.

    Regards,

    Nina Peneva
    Microsoft Dynamics CRM

  • Awsome writeup... and it Works too!!! Thanks
    i agree with mike, that this is a looong script to run through. not all but some of the steps can be automated

  • Thanks for the detailed write up, I installed the connector successfully this week but when I check the mappings I do not see a sync for Marketing List. Do you have that in your copy? Thanks!

  • this was really helpful- all the other sources i have used to set up the connector have been disjointed and don't cover all of the steps. Quick question - all our leads are in CRM and these are the people we send email campaigns too... i want to know whether i need to some how get these all into Dynamics Marketing and create lists etc that way or create the lists in CRM which push into dynamics marketing?!

    now we have the connector i am a little unsure of the next steps!

  • Thank-you for this write up!

    Question/Problem: On your screen shot "Picture45.png" related to the Azure Service Bus Name Space Key. It seems something has changed as of August regarding ACS and service buses. When I follow these steps only "SAS" shows up and an "ACS" name space is not created.

    If I try to use just the SAS key the I get the error "An error has occurred while performing administration operation. The remote name could not be resolved: [MyNameSpace]-sb.accesscontrol.windows.net'" I tried the power shell route as well and apparently the -useACS param on New-AzureSBNamespace is no longer accepted. Has something changed?

  • very good article, thank you.

  • To see a video of the above walkthrough, please go to https://www.youtube.com/watch?feature=youtu.be&__sc_=12PXi&v=-LmHO8CMsGw&app=desktop

  • I have the same issue as CRMKonrad above.

    ...The ACS information appears to be hidden/unavailable in Namespace 'Connection Information' in Azure.

    A workaround/solution would be greatly appreciated.

  • A change has been introduced in the Azure Management portal. When you create a new ServiceBus namespace the ACS authentication method is not provisioned anymore. Existing ServiceBus which had been provisioned earlier with ACS will not be modified until ACS will finally be phased out. But: The Windows Azure Active Directory team is trying to phase out ACS (over time). The new preferred authentication method is SAS (Shared Access Authentication)

    See here: https://brentdacodemonkey.wordpress.com/2014/08/27/shared-access-signatures-with-azure-service-bus/

    This is very unfortunate both MDM, because it is still relying on ACS authentication in a ServiceBus. And it will take some time to support SAS.

    But there is a "workaround". Windows Azure PowerShell allows to create a ServiceBus with ACS. We are going to provide documentation for that.

    But in a nutshell:

    Install Azure PowerShell.
    http://azure.microsoft.com/en-us/documentation/articles/install-configure-powershell/
    Start is and use the following commands:
    > Add-AzureAccount
    > New-AzureSBNamespace YOUR_NAMESPACE –useAcs True -Location "YOUR_LOCATION"

    The current version of Azure PowerShell is 0.8.7.1. If you’re using this version or an earlier version, omit the –useAcs True parameter and value in the New-AzureSBNamespace command. To see the version of Azure PowerShell that you’re using, enter the command Get-Module Azure.
    After you enter Add-AzureAccount, you’ll be prompted to provide the credentials of your Azure subscription account. Substitute an appropriate namespace name for YOUR_NAMESPACE and an approximate location for YOUR_LOCATION. The supported locations are: Central US, East US, East US 2, North Central US, South Central US, West US, North Europe, West Europe, East Asia, Southeast Asia, Brazil South, Japan East, and Japan West.

    Hope this helps
    Christian

  • Hello

    Would it be possible to get some help

    on the “configuring the Azure ServiceBus “it appears an error message “error has accrued while performing administration operation. The remote name could not be resolved”. I couldn’t go further this step, so would it be possible to get some help please thank you

  • I have tried the Power Shell solution, and it works without the -useAcs parameter. Apparently, the Service buses created with Powershell are by defect of ACS type.
    Thanks for the article and for the comments, they have been very helpful.

  • Hi, I need assistance with downloading the certificate for CRM on Premise? We have implemented it for CRM Online and had no issues unlike with on Premise. Thanks in advance.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment