I recently wrote a blog titled Our Story: Synchronizing the Sonoma Salesforce.com and MSCRM Dynamics Environments about an internal project that I did at work regarding syncing data from Salesforce.com into a Microsoft Dynamics system to create a single master system.
As a partner of both salesforce.com and Microsoft, we have separate sales teams handling each product using their respective CRM tools, salesforce.com and Microsoft Dynamics CRM. Unfortunately, this leads to having two “systems of record” in terms of customer base, sales pipeline/history, and contact management.
In the past, our salesforce.com teams have had to manually re-create records in Dynamics CRM, which robbed them of valuable time. To remedy this, we built an in-house solution to synchronize our CRM data into a single system of record, which we chose to be Dynamics CRM for a couple reasons. We have done some robust customizations to our internal system over the last few years to really make our process flow fit our business, and we also use it as the focal point of our internal project management and time tracking. Instead of rebuilding any of these pieces out again in salesforce.com, it made the most sense to leverage our existing work and push our salesforce.com projects into Dynamics CRM when we needed to start taking advantage of our other solutions.
While this implementation was nowhere near as complex of an integration as it could have been (no security precautions, one-way sync, etc.), it was still an interesting example of how to architect data dumping out of Salesforce.com automatically using triggers, future methods, JSON serialization, and HTTP callouts.
Read more here if you are interested.