Recently I have provided the proof of concept for a customer using CRM 2011 Online and I was surprised how hard it could be to configure the cloud based solution for the typical task of e-mail requests automation.
The task is simple. A company allowing the requests from the customers. Some customers could send formalized request in paper by post. Another group of customers could fill the web form on company’s website. Both requests should be stored in CRM to simplify the relationship management. If you are familiar with the capabilities of Dynamics CRM product than it is obvious that it is enough to use a standard functionality for e-mail processing using queues. So, proposed solution:
If we use the cloud to host the components of the solution than we can choose:
- Microsoft Dynamics CRM 2011 Online – the most recent implementation of the CRM for Microsoft technology stack.
- Microsoft Exchange 2010 Online – mailing service in the cloud.
- Microsoft Dynamics 2011 E-mail router – the component which allows to poll the mail box and direct the requests to the CRM queue.
As always things turn to worth while implementing the solution. For some reason Microsoft have not implemented the most important feature of e-mails polling out of the box in the online version. That is why we could not implement the entire solution in the cloud (You are kidding me!). Or we can? We can use Windows Azure service to create a virtual machine and set up E-mail Router. It is not so elegant but far better than to buy a server.
What is important for the implementation:
In Exchange:
- Set up the e-mail you will use for the queue.
- It may be required to grant a full access to the e-mail using Remoting Management for Exchange Online from PowerShell.
In Dynamics CRM you should:
- Create the team with dedicated queue.
- Set the e-mail for the queue and choose “E-mail router” as E-mail access configuration.
- Approve the e-mail.
- Assign the queue to the team, not only choose it in lookup! (it will require the access permissions for the team).
In Windows Azure:
- Create Virtual Machine.
- Add Application Server role in Windows Server.
- Setup MS Dynamics CRM 2011 E-mail Router (after that you will be able to interact with CRM but Exchange will not work with error 401 Unauthorised)
- Setup Update Rollup 7 for MS Dynamics CRM 2011 E-mail Router – there are separate installer for the router (Updates not installed during component installation. They are kidding you!)
- Setup Update Rollup 8 for MS Dynamics CRM 2011 E-mail Router.
- Configure E-mail Router using Exchange service which looks like https://podxxxxx.outlook.com/EWS/Exchange.asmx. The POD server could be found in Exchange options for POP connection.
- Configure E-mail Router using CRM service which looks like https://dev.crm5.dynamics.com/afe3c2ec40634335aaf340f360c2d9cr.
- If you need to troubleshoot the E-mail Router you can enable logging for the component.
- If your company use the HTTP proxy there is no way to make the component working. Common trick with .exe.config file for .NET application which contains default proxy settings is not working for Dynamics CRM E-mail router service. Machine.config not working too.
So, this is it! Now we can implement our custom workflow with assignments, document storing, barcode recognising and so on. I hope will tell this story some day. Thank you for reading!
CodeProject