How many times have you found yourself in an implementation where Gmail is the client’s primary email server? Not often. What are your options when you land up in this scenario? This blog article talks about three options for Gmail integration that need evaluation.
My client has more than 450 franchises and 1000+ users across Australia. Their primary e-mail server is Gmail. One of the key outcomes from the Dynamics CRM implementation was to surface a single view of the customer, along with the interaction history of the customer. Additionally, this was a multi-tenant Dynamics CRM implementation which implied that the Asynchronous Service was shared between tenants.
Options for Gmail Integration
I had the following options to integrate Dynamics CRM with Gmail.
- E-Mail Router
- Server Side Synchronisation
- Outlook Client with Gmail IMAP
My preference was to use E-Mail Router for the following reasons
- Tried and Tested – E-Mail Router has been around for long and there’s plethora of support materials available to troubleshoot e-mail router. Server Side Synchronisation was only introduced in CRM 2013 and Troubleshooting is not easy with Server Side Synchronisation.
- Easy to Scale – E-Mail Router can be installed on a dedicated machine if the load is heavy on the current server given the high number of mailboxes (1000+)
- Load on Asynchronous Services – Server Side Synchronisation uses Asynchronous Services for Mailbox Synchronisation. There were 1000+ mailboxes which would be polled every 5-10 minutes. And given that this was a multi-tenant application with a large workflow base, there was a need to consider the load on the Asynchronous Services.
- Lack of clarity on Microsoft and Google’s support for CRM Outlook Client and IMAP – Outlook stopped working when we connected CRM Outlook client to Gmail through IMAP. IMAP did not work for us – either due to a limitation of the CRM Outlook Client/ Outlook /Gmail to interface with e-mail in an IMAP store. Neither Microsoft nor Google was able to confirm this. A further deep-dive on Google provided us information about this issue (discussed in a Google Forum). So, I had to rule out Outlook Client with Gmail IMAP.
But all the above considerations went for a heave when I figured that the users have to manually set their passwords for their mailboxes on the e-mail router. This was the key difference between setting up E-Mail Router with Exchange Server and Gmail. Since these users were remote, it was practically impossible for them to log in remotely to E-Mail Router server and setup their password. Back to square one!
Initially, it seemed like three different options were available. But in reality, there was only one option: Server Side Synchronisation. If the load on the Asynchronous Services was heavy, it was decided to either scale up or scale out the server architecture.
It was quite simple to setup Server Side Synchronisation with Gmail on the client’s UAT environment with their test Gmail accounts, but we hit a roadblock on the production environment when the users were able to send e-mails from CRM but not able to receive e-mails.
Upon further investigation, we realised that the issue was with the user’s Gmail address being accessed on multiple clients through POP. If the message was already sent to another POP client, CRM would not receive the email. The solution was to configure the user’s e-mail address in CRM as ‘recent:firstname.lastname@example.org’ instead of ‘email@example.com’. Voila! The users were able to send and receive e-mails from CRM! Happy customer!