Have CRM Online post data to you


I'm a little embarrassed that it's taken me a while to 'see' this but it's really very simple solution to what has seemed to be a challenge for CRM Online.

One of the differences between Microsoft Dynamics CRM hosted by Microsoft and Microsoft Dynamics CRM On-premise is that you can't use plug-ins in the Online environment. Plug-ins allow you to have code running on the server that can subscribe to events such as 'a new lead was created'. With the Microsoft hosted deployment model, you can not put code on the server, so it can't subscribe to the events. Typically, plug-ins that receive events are used to update or integrate to other systems as activity takes place in the CRM business.

The question becomes if I'm running CRM Online, how can I get notified of events such as when a deal gets closed or a new service request comes in ?

The solution is so simple solution that it has alluded me. The solution is to send email to an address with the event information and have code that monitors that mailbox for new mail. Presto, you know have CRM Online pushing data to you.

To catch the events on the CRM system, you can use workflow. CRM workflow can monitor when objects are created or updated and send an email to the appropriate email address. Pretty simple so far, the complex part is monitoring the email inbox for email and then parsing the email for the appropriate information and responding to that information. To get to the email, you could write a service application that monitors the inbox directly from Exchange Server or write an add-in to Microsoft Outlook and catch the email as it comes into the user's inbox. There are couple of advantages and disadvantages to both approaches.

While monitoring and parsing email from Exchange or the Outlook client inbox is not a trivial exercise and does require development skills, it's not a monumental effort. This technique of pushing out information in an email from CRM Online is a fairly secure means of integrating with CRM Online services that does not require code on the server. I've been working on the add-in to Outlook approach and will post more later.

Cheers,

Jon White

Update: Don't forget you can use email templates to create XML blocks for the email body and use dynamic fields to populate them. That would make parsing the email body a breeze.

Comments (1)

  1. I believe a cleaner solution is to have a "Command" entity where you can store any information that you need to send to external systems and have an external process "poll" CRM (via the SDK).

    Using email can get messy pretty easily.

Skip to main content