How to Integrate your Drupal Website with MS Dynamics CRM
Recently I wrote about integrating Salesforce CRM with Drupal. Continuing in the same series, the next CRM we’re going to look at is MS Dynamics from Microsoft.
Unlike with Salesforce, there is not a plethora of modules offering integration with Drupal. In fact, there’s not even one! Okay I’ll admit, there’s one relatively new module which is still in development and not usable yet - MS Dynamics Client Connection.This seems largely due to the fact that the API is highly dependent on the data structure of the CRM itself, and as the configuration of each CRM instance is usually bespoke to the individual organisation, it leaves little to nothing that can be re-used in a generic Drupal integration module. In addition, Microsoft offer their own CMS option so are a bit reluctant to offer integrations with other systems.
On the MS Dynamics integration projects we have worked on, the client usually has had MS Dynamics specialists on board for the setup and configuration of the CRM (always advisable for any CRM project in my opinion). As well as the CRM setup, they can also provide an intermediate API layer between the website and the CRM. This abstracts the data structure and provides a simpler interface to interact it, removing the need for in-depth knowledge of the CRM structure.
The custom APIs we’ve worked with are normally SOAP or REST based, and again as they are custom to the CRM instance being integrated with, we’ve written custom modules to handle the integration and have been unable to contribute anything back to the wider Drupal community.
However, much like the Salesforce Webform Data Integration we’ve taken to allowing the client to define the mappings for webforms through the webforms UI. Unfortunately, most other mappings have had to be defined in code, but by allowing clients choose which API method to use for webforms and the mappings to use for each field, we’ve been able to provide clients with the ability to create new forms and integrate them with the CRM without the need for developers in the majority of cases.
Again similar to what we do with our Salesforce integrations, we’ve also implemented error handling and tracking to ensure no data ever gets lost. Filterable reports allow the client to check whether any submissions have failed to make it through to the CRM, and why, and to resubmit them if necessary.
I'd be interested to hear how other people have gone about integrating MS Dynamics and Drupal. Do you also rely on an intermediate API layer? Or do you integrate with MS Dynamics directly? What have been your experiences?
Stella Power Managing Director
As well as being the founder and managing director of Annertech, Stella is one of the best known Drupal contributors in the world.