This third part of the Server-Side Sync blog series will focus on what correlation is and how to view Exchange item properties.
What is correlation?
For Dynamics 365, correlation is a set of checks to determine if an email matches any condition that is configured by an end user to automatically promote an Exchange item into Dynamics.
Remember that "promotion" in this context doesn't mean a change in rank, it means the attempted creation of an activity record within Dynamics (such as an Emails or Appointments) using data within an Exchange item.
How is Correlation configured?
When setting up Server-Side Sync for the first time, InReplyTo correlation is configured by default for user mailboxes. There are two areas within Dynamics 365 where this is controlled, the organization-level System Settings and the user-level personalization options.
System Settings-> Email:
The "Use correlation to track email conversations" checkbox allows Server-Side Sync to evaluate emails to determine if they match any correlation method setup within the organization. You'll notice some others available for selection here, such as Tracking Token and Smart Matching, which we will discuss later in this series.
User-Level Personalization Settings -> Email
The value for each user is by default set to "Email messages in response to Dynamics 365 email" upon user record creation. This value means that it will use InReplyTo correlation when determining whether to not to automatically create an Email record in Dynamics using values from the email sitting within the Exchange Inbox.
How are emails stored in Dynamics? What fields are evaluated by Server-Side Sync?
Recall in the previous entry in our series that Emails within Dynamics have a "MessageID" field that contains a unique, duplicate constrained value. Activity records such as emails are stored on the ActivityPointerBase in SQL, where the MessageID exists as one of the columns for each record. This Message ID conforms to the format "< x @ y . z >", including the greater than and less than symbols around the data. A real example of a Message ID would look like this:
< BN6PR21MB062536CDFCD13267532F0EB1EE2E0@BN6PR21MB0625.namprd21.prod.outlook.com >
Now that we understand that these unique Message ID values are stored in SQL for each activity item, we can then examine how Exchange handles forwards and replies. For every Exchange item, behind-the-scenes values can be examined that give more data on the individual properties that define what the item is. These values can be basic data such as subject, body, recipients, and received time, but also contain more esoteric properties such as messageid, references, thread-index and content-type.
These properties can be accessed multiple different ways, but the most common is to view the message headers of the item in Outlook/OWA or to use an application such as EWS editor to be able to examine the properties of items in a mailbox directly. Here is an example of a section of message headers for an email I sent through Dynamics:
From: Cody Dinwiddie <codin@OBFUSCATED.onmicrosoft.com>
To: Cody Dinwiddie <codin@microsoft.com>
Subject: [EXTERNAL] Test Email
Thread-Topic: Test Email
Thread-Index: AQscuKgXz0bUld+ni9oW2WvWgJcWog==
Date: Tue, 1 Sep 2020 19:35:55 +0000
Message-ID:
<142408F2977449AE9A3EB234870D156A1D6809716A2B@CODIN.OBFUSCATED.ONMICROSOFT.COM>
Accept-Language: en-US
Since this message was sent through Dynamics, I know that there is an ActivityPointerBase record in Dynamics SQL that contains all of the values the email uses, including the MessageID above.
Now that we understand how Dynamics stores emails and that Exchange items have properties that can be examined, we will explore In-Reply-To Correlation in the next entry in our series.
*This post is locked for comments