Microsoft CRM Integration with Lotus Domino Email Server

    February 14, 2005

Microsoft Business Solutions CRM is in the market expansion mode and this CRM solution is using all the recent Microsoft technologies – Microsoft SQL Server 2000, Microsoft Exchange 2003/2000, Active Directory, etc.

Microsoft CRM has a connector to Microsoft Exchange to send and receive email from Microsoft CRM lead, opportunity, account, and contact. There is a competitor email server: Lotus Domino. Some large and middle size customers, who decided to use Microsoft CRM – want to use Lotus Domino as their e-mail server. In this small article we would like to give you top level technical overview.

When emails are received in Lotus Domino, a trigger in Domino should check if email has a GUID in the header and, if so, should check on the object in MS CRM with this GUID. If the object is found in MS CRM, email activity should be created in CRM and be attached to the object.

The incoming message is processed before delivery by a Java Agent registered on incoming mail boxes (Inbox folder) and sent mail (Sent folder).

The Purpose of the Java Agent is to transfer a kernel of communications to MS CRM (the information in the received messages such as addressees, recipients, bodies of messages etc).

For incoming messages, it is necessary to transfer the necessary message RFC-headings for an analysis by the Java Agent. The analysis consists of checking the Subject heading (CRM: {GUID}:MRC).

For outgoing messages, the agent should modify the heading Subject by adding a similar line at the end of the existing data. In this case, the Outgoing Message Connector will carry out message transfers from MS CRM to Lotus Notes/Domino

The Java agent carries out the communications with Web Services Front-end by means of asynchronous calls to a web-service. This will prevent a big number of blocking methods when processing messages and it will also allow reducing the load on the Lotus Domino Server

The Web Services Front end accepts the information and transfers it to a COM + Back end. The COM + Back end is composed of objects which carry out the communications with MS CRM using MS CRM SDK and direct access to MS CRM database

The COM+ Back end consists of objects written in .NET C#. These objects contain methods for searching users in MS CRM, creation of Email Activity and queue updates, among others.

Boris Makushkin is senior software developer in Alba Spectrum Technologies US nation-wide Great Plains, Microsoft CRM customization company, based in Chicago and having locations in multiple states and internationally ( ), he is Unix, SQL, C#.Net, Crystal Reports, Microsoft CRM SDK and Exchange Server SDK developer. You can reach Boris: