Improve the Outlook Experience with CRM, part three


Part One

Part Two

Reduce Exchange Traffic by Modifying your Outlook Rule

I typically get a number of questions from customers about how email really works in CRM and what roles the Sink mailbox and Exchange Router play in the process. The two work hand-in-hand with the client routing rule in order to promote email to CRM activities automatically. To make this clearer, I’ll go through the process in detail:

1) A user sends out an email and they choose “Track in CRM” and “Set Regarding” to a specific contact’s email address.

    a. If done via the web client, the message would be sent out via SMTP bypassing the Exchange Server

    b. If done via the Outlook client, the message would be sent out via Exchange

    c. The message will have a tracking token appended to the subject line (by default CRM: 00010001)

2) When the contact receives that email, they reply to the message.

3) When the message comes back to the CRM user, the Outlook rule on the user’s computer forwards that message to the sink mailbox as an attachment.

4) The sink mailbox receives the message in the Inbox and the Exchange Router then looks in the Inbox and processes the email

    a. If the subject line doesn’t have a tracking token, the message will be deleted except if one of the recipients is tracking all emails.

    b. If the subject line has a tracking token, the Exchange Router will try to resolve that tracking token to an existing token in CRM.

        i. If it can, it will create an email activity based related to the tracking token. Then the message will be deleted

        ii. If it can’t resolve the token due to network issues, SQL server issues such as deadlocks, a CRM reboot, etc., it will place the message in the Undeliverable folder

You’ll notice Step 3 talked about the fact that the Outlook rule will forward the message to the sink mailbox as an attachment. This rule is typically deployed via the Rule Deployment Wizard on the Exchange Server. The Rule Deployment Wizard can automatically create the rule and track to see which CRM users have the rule on their machine. The Wizard creates the rule to forward all messages to the sink mailbox as an attachment.

For customers only tracking CRM emails, to reduce the Exchange traffic on your system, I often recommend to customers that they modify their Outlook rule to forward only those messages where CRM:* is in the subject or body. This will eliminate the forwards to the sink mailbox that are just going to get deleted anyway. Here are the steps to modify your rule:

1) In Outlook, go to Tools > Rules and Alerts

2) Select the current CRM forwarding rule and click the Change button and choose Edit Rule Settings

3) In Step 1: Select conditions, check the option for “with specific words in the subject or body”

4) In the Step 2 box, edit the specific words to be “CRM:”*

5) Click Finish to save the rule.

* CRM: is the default prefix specified for the tracking token in the System Settings > E-mail tracking tab in CRM settings. If you’ve changed your prefix, change the instructions to use the value in the prefix setting in System Settings.

Once you’ve made that change, you’ll be reducing the amount of traffic being forwarded around your Exchange server and limit the risk of your sink mailbox overfilling if your Exchange Router service ever goes down.

Eric Newell

Comments (5)

  1. esandstrand says:

    I know this isn’t directly related, but I wanted to share this with the group as I haven’t seen a solution elsewhere yet.

    If someone could move this to an appropriate article, I’d be grateful.

    The problem is described in the comments for this article: http://blogs.msdn.com/crm/archive/2006/07/03/655714.aspx and I wasn’t able to find a macro script that didn’t error out in Outlook 2007.  Although I’m not a programmer by any stretch, I was able to modify it and get it to work ok as follows:

    Sub SyncCRMCompanyName()

     Dim objApp As Application

     Dim objNS As NameSpace

     Dim objContacts As MAPIFolder

     Dim colItems As Items

     Dim objContact As ContactItem

     Dim strParentAcct As String

     Dim i As Integer

     Set objApp = CreateObject("Outlook.Application")

     Set objNS = objApp.GetNamespace("MAPI")

     Set objContacts = objNS.GetDefaultFolder(olFolderContacts)

     i = 0

     Set colItems = objContacts.Items

     For Each objContact In colItems

      strParentAcct = ""

      If objContact.CompanyName = "" Then

           If objContact.UserProperties.Count > 0 Then

               strParentAcct = objContact.UserProperties.Item("Parent Account")

               If strParentAcct <> "" Or objContact.CompanyName <> strParentAcct Then

                   Rem Answer = MsgBox(strParentAcct, vbOKCancel)

                   objContact.CompanyName = strParentAcct

                   objContact.Save

                   i = i + 1

               End If

           End If

       End If

     Next

     MsgBox ("All done: " & i & " records updated")

    End Sub

    Hopefully this will help someone

    Thanks,

    Eivind

  2. Modify your Internet Explorer Settings to Reduce Potential Issues Inside and Outside Outlook Part One

  3. Modify your Internet Explorer Settings to Reduce Potential Issues Inside and Outside Outlook Part One

  4. Pablo Gómez says:

    Hello everybody!!

    I´m using the Deploy Rule Wizard from MS CRM 3.0 and I would like to know how to distribute the CRM rule with the modification of the rule with the specify words in the subject condition. Do you know how to do this???

    Kindest regards,

    Pablo

Skip to main content