Search
Recommended Sites
Related Links






   

Informative Articles

Cookies: How To Learn From Your Visitors and Improve Your Website
Time for a quick question and answer session. Question: How can you improve your visitors' experiences of your website, AND at the same time learn how to improve your website (or learn how to increase sales)? Answer: Use cookies...

Could The New Google Spider Be Causing Issues With Websites?
Around the time Google announced "Big Daddy," there was a new Googlebot roaming the web. Since then I've heard stories from clients of websites and servers going down and previously unindexed content getting indexed. I started digging into...

Designing Your Site For The Search Engines
When you design a website, it's easy to focus on what your visitors are going to see. What you have to realise, though, is that you're going to have another kind of visitor with a completely different agenda: they're not going to be looking at your...

RSS for Bloggers
While syndication has many applications, we will deal specifically with its use for blog content and some technical information will be included at the end of this article. If you have any interest in blogs or weblogs as a publishing format,...

Usability analysis
Ways to increase the Usability of the site. Websites are the most valuable in the world these days. Each year, companies and individuals spend millions of dollars. A good homepage can help you to attract more hits and this increase the...

 
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.


Microsoft CRM, the CRM application from Microsoft Business Solutions utilizes almost all the recent Microsoft technologies: .Net (it is actually written in C#.Net with HTML and Javascript at the web client side plus has Microsoft CRM SDK with C# and partially VB.Net samples), Microsoft SQL Server, Microsoft Exchange 2003/2000 and others. Now to give you brief review from the workflow and messages - you can send email directly from Account, Contact or Lead and it will be processed by Microsoft CRM-Exchange connector. This email will have GUID in the message header. When addressee answers the email - it will be processed by the connector - it will recognize the GUID and will find the original activity and will attach this email as closed activity to the original object: contact, account or lead. This is very nice feature, but in the real world you may have these situations:


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 john@bestcorporation.com. Now new person in Best Corporation, Susan sends you message from susan@bestcorporation.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.


Happy customizing! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com






Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization partner, based in Chicago, California, Colorado, Arizona, Texas, Minnesota, New York, Georgia and Florida, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is Great Plains Dexterity, SQL, C# and VB.Net, Crystal Reports and Microsoft CRM SDK developer.

akarasev@albaspectrum.com




Sign up for PayPal and start accepting credit card payments instantly.