Integrating contacts between your Customer Relationship Management (CRM) software and a third-party application can be one of the trickiest parts of your integration project. I was recently tasked with creating a two-way integration for contacts between Microsoft Dynamics CRM and Cvent, an online tool for event management and marketing. I was able to accomplish this utilizing the Cvent Web Services Application Programming Interface (API) and the Scribe Web Services Adapter.
The integration of contacts from CRM to Cvent went quite smoothly but I ran into a big snag when attempting to create the integration for contacts from Cvent to CRM. The reason is the Cvent Web Services call definitions return data in arrays that Scribe is unable to process. I came up with a solution to create a custom web service that returns the data to Scribe in a compatible format.
Creating Scribe Data Translation Specifications
Here is a high-level overview of the solution that includes two Scribe Data Translation Specifications (DTS) and the custom web service to easily transfer any new or updated contacts from Cvent to Microsoft Dynamics CRM.
The first Scribe DTS uses the ‘GetUpdated’ call definition from the Cvent Web Services API, as the source. The web service returns the unique IDs of any new or updated contacts from Cvent to the custom web service. Using Scribe’s ‘LASTRUNDATE’ and passing it to the ‘GetUpdated’ call definition, we are able to get any new or modified contacts from Cvent since the last time we ran the DTS.
The custom web service takes each of the unique IDs as they are passed and uses the ‘Retrieve’ call definition from the Cvent Web Service API to return an array containing all the required contact details we want to pass to Microsoft Dynamics CRM. The custom web service then formats the array data into XML and places it into the Scribe Queue. Here’s a sample of the custom web service:
From there we have a second Scribe DTS that creates or updates the contact in Microsoft Dynamics CRM:
You can schedule the first Scribe DTS as frequently as required, depending on how often you would like the Microsoft Dynamics CRM contacts to be updated or created. That is how I modelled the integrations to have a “live” integration from Cvent to Microsoft Dynamics CRM. Hopefully this is helpful and saves you some time while integrating contacts between Cvent and Microsoft Dynamics CRM.