Match incoming Emails with existing Tickets in Crow Canyon Service Request (email threading)

Applies To

SharePoint Online and On-Premises (2013/2016/2019/SharePoint Server Subscription Edition)

Description

Crow Canyon application checks different parameters to determine if an incoming email is a reply to an existing Ticket. Replies are linked to existing Tickets and if email cannot be matched to an existing Ticket then a new Ticket is created. The matching algorithm is configurable and parameters used are:

  1. Case Id: Application generates a unique Case Id for each Ticket. This Id is added to subject of outgoing mails related to the Ticket. If user replies to such emails, then based on this Id email is linked to the existing Ticket having that Id
  2. Conversation Id (Message-ID): Email providers assign a unique identifier to every email. This message Id is available in reply mails and is used by mail clients to show a conversation view of the related emails. We use the same technique if ‘Case Id’ is not found in the subject
  3. Email Subject: If above two checks do not give a match, application performs additional checks to match based on subject of the email. In addition to subject other parameters like email sender, date of Ticket creation with matching subject, Ticket status and original mail body are matched to find the most appropriate Ticket to link the email

Matching based on ‘Case Id’ and email subject is part of standard product. Please refer below configuration details to enable matching based on Conversation Id and parameters that control the overall matching behavior.

Configuration Details

Matching functionality is part of Crow Canyon Product App component and installation is required. Please refer below details to create the columns in lists to enable and control the functionality. Note that you can change the display name of the columns after creating them with the names given below:

List Name Column Name and Type Description
‘Email Tickets’

and

‘Tickets’

CCSConversationId

(Single Line of Text)

This column stores the Conversation Id (Message-ID) of the email.

This column need not be shown in Views and Forms as it is only for internal use by the application.

‘Email Tickets’ CCSOriginalTo

(Single Line of Text)

This column stores the information about the email recipients as received in the original email. It is used in matching sender when subsequent replies are received.

This column need not be shown in Views and Forms as it is only for internal use by the application.

‘Configurations’ EmailMatchingSettings

(Multi-line Plain Text)

This column is used to specify options to control the behavior of email matching. Each option is given in a separate line with format as shown below:

MatchOption=3
MatchConversationDays=30
MatchSubjectDays=7
DisableMatchForSenders=
DisableMatchForStatus=;Closed;

Please refer below for more details on each option. Note:

  1. This is plain text data and should not contain any HTML tags
  2. The values shown above are used as default if this column doesn’t exist or has invalid or null data
  3. This column should be added to the list form so that you can modify the value as required

Configuration options

S. No. Option Name Option Description
1. MatchOption Numeric values to control the overall matching behavior. Note that ‘Case Id’ based matching is always enabled and not affected by this setting.

0: Set zero value to disable matching by conversation, subject and sender.

1: Set value of one to enable matching by conversation

2: Set value of two to enable matching by mail subject

3: Set value of three to enable matching by conversation Id and subject. Conversation Id based match is tried first and if that doesn’t give any matching email then subject based matching is tried

2. MatchConversationDays Numeric value that specifies the number of days past today for which Tickets should be checked for conversation Id match. Tickets created in this interval will be matched and Tickets created prior won’t be matched
3. MatchSubjectDays Numeric value that specifies the number of days past today for which Tickets should be checked for subject match. Tickets created in this interval will be matched and Tickets created prior won’t be matched
4. DisableMatchForSenders Matching can be disabled for specific senders like in case of emails generated by automated systems. Format for this option is one or more email addresses separated by semicolon. Please keep the value for this as blank in case you don’t want to disable for any sender. Value format:

;mail1@abc.com;mail2@abc.com;

5. DisableMatchForStatus To disable linking to Tickets having specific status, specify these status values as semicolon separated values:

;Closed;Resolved;