Microsoft CRM Customization – Processing In/out-going Email Messages
We would like to give you several situations, when you may need custom development and programming to improve Microsoft CRM functionality. This overview is for programmer, software developer, IT specialist, database administrator.
1. CRM user will not use CRM interface and will send email from his/her Outlook. Addressee will receive and respond and these emails will not be handled by Microsoft CRM-Exchange connector. They will not have GUID and connector has no idea on what to do with them.
2. Imagine, that you have Account Best Corporation, with contact person John firstname.lastname@example.org. Now new person in Best Corporation, Susan sends you message from email@example.com – and her email will not be connected to your Best Corporation account, because this email doesn’t have GUID and it also doesn’t have matching email in the contact person. So – it is probably nice to catch emails by domain name as well, say – all the emails, coming from www.bestcorporation.com should be attached to Best Corporation account.
3. Now – your sales rep initiated the first email to the client from Microsoft CRM and got response, transferred back into CRM account. Then he occasionally replied on the reply from outlook – this reply, having GUID will be replied back and not transferred into MS CRM, because MS Exchange connector “thinks” that this message was already replied by the first reply.
4. To decrease the possibility that users will use outlook to send new messages and answer the messages from there – you would probably like the idea to delete them from MS Exchange database when they are transferred to the CRM. In this case they will not be seen in MS Outlook (We are not talking about Microsoft CRM Outlook client, where you actually see CRM data and objects)
If you are programmer or software developer – you can actually program these advancements and we’ll give you the direction.
This technique is COM+ applications, registered as Microsoft Exchange sinks or handlers. You can use VisualStudio.Net, but you will not have debugging available, because these applications will work as event handlers. Microsoft Exchange allows you to alter it’s logic in the events, exposed for custom handling. Incoming emails should be handled, when ONSYNCSAVE Microsoft Exchange Database event is fired before the commitment. You use Microsoft CRM SDK to create the email activity. You should use direct SQL update to flag the activity as closed (however not recommended by Microsoft – but Microsoft CRM SDK doesn’t have the method to close the activity – so you really don’t have an option from SDK side). Outgoing emails should be handled with so-called transport events firing, which is more complex and less documented part of Microsoft Exchange SDK.
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Texas, New York, Georgia and Florida and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.