Extended Case Logging Via Email
versaSRS has been extended to provide a mechanism to uniquely define all the properties of a Case when received via email. This is achieved via an XML style document defined as part of the email body. The XML style document can be used to determine how the Case should be logged within the system.
For example, an on-line form may be used to compose an email which contains specific logging instructions based on the information captured and business logic within the form.
Below is a list of tags that define the properties of a Case, tags must be within {} “curly brackets”, this allows the system to identify the areas to map the Case data.
The email must be sent in Plain Text, otherwise additional HTML mark up can interfere with the XML tag content.
Tag | Data Type (range/limitation) |
Default Value | Notes |
---|---|---|---|
{CallID} | Integer | 0 | Must be set to 0. The system will generate a new Case ID when logging the Case. |
{CallPID} | Integer | 0 | Defines the unique Case ID of the Parent Case. |
{SiteID} | Integer | 1 | Must be set to 1. |
{HDUserID} | Integer | 1 | Defines the User that logged the Case. Value corresponds to the field UserID of the database table tbl_Users.*** Set to a value of 1 to specify System Administrator. |
{Closed} | DateTime | Defines the date the Case was Closed. The date must be specified in the following format: yyyy/MM/dd hh:mm:tt ss or yyyy/MM/dd HH:mm:tt. | |
{PerformedOn} | DateTime | Defines the Performed On date when the Case was Closed. The date must be specified in the following format: yyyy/MM/dd hh:mm:tt ss or yyyy/MM/dd HH:mm:tt. | |
{ResUserID} | Integer | 0 | Defines the User that Resolved the Case. Value corresponds to the field UserID of the database table tbl_Users.*** |
{DateStarted} | DateTime | Defines the date when work started on the Case. The date must be specified in the following format: yyyy/MM/dd hh:mm:tt ss or yyyy/MM/dd HH:mm:tt. | |
{ElapsedTime} | Integer | 0 | Integer value expressed as number of seconds |
{CallType} | Integer | Value corresponds to the field CallTypeID of the database table tbl_CallType | |
{ReceivedBy} | Integer | Value corresponds to the field ReceivedByID of the database table tbl_ReceivedBy | |
{CallStatusID} | Integer, 1 - 9 |
1 | Value corresponds to the field CallStatusID of the database table tbl_CallStatusID |
{Subject} | String, nvarchar(500)* | Case Subject | |
{Description} | String, nvarchar(max) | Case Details. Can contain HTML, must enclose HTML data in demonstrated CDATA tag: {![CDATA[Case Details here]]}. | |
{SolutionTypeID} | Integer | 1 | Value corresponds to the field SolutionTypeID of the database table tbl_SolutionTypes |
{Solution} | String, nvarchar(max) | Case Solution. Can contain HTML, must enclose HTML data in demonstrated CDATA tag: {![CDATA[Case Solution here]]}. | |
{PriorityID} | Integer, 1 - 10 |
Sets the Priority of the Case based on the Teams Priority Settings. Value corresponds to the field PriorityID of the database table tbl_Priority. | |
{Key1} | Integer | 0 | Sets the Key 1 value of the Case. Value corresponds to the field PrimaryKeyID of the database table tbl_PrimaryKeys.*** |
{Key2} | Integer | 0 | Sets the Key 2 value of the Case. Value corresponds to the field SecondaryKeyID of the database table tbl_SecondaryKeys.*** |
{Key3} | Integer | 0 | Sets the Key 3 value of the Case. Value corresponds to the field TertiaryKeyID of the database table tbl_TertiaryKeys.*** |
{DueDate} | DateTime | The Case Due Date. The date must be specified in the following format: yyyy/MM/dd hh:mm:tt ss or yyyy/MM/dd HH:mm:tt. | |
{QueueID} | Integer | Sets the Team the Case will appear in. Value corresponds to the field QueueID of the database table tbl_Queues. | |
{GroupID} | Integer | 0 | Sets the Skill Group of the Case. Value corresponds to the field GroupID of the database table tbl_Groups.*** |
{UserID} | Integer | 0 | Sets the User assigned to the Case. Value corresponds to the field UserID of the database table tbl_Users.*** |
{EstSolDate} | DateTime | The Case Estimated Solution Date. The date must be specified in the following format: yyyy/MM/dd hh:mm:tt ss or yyyy/MM/dd HH:mm:tt. | |
{Notification} | Integer | 0 | Reserved - Must be set to a value of 0 |
{EmailNotification} | Integer | 0 | Reserved - Must be set to a value of 0 |
{ClosedOnCall} | Integer, 0 - 1 |
0 | Defines whether the Case should be Closed when it is logged. Set this to a value of 0 or 1 to indicate the Case is Closed, or not Closed, respectively. |
{ContactLookup} | Integer, 0-1 |
1 | Set to a value of 1 to look up the value(s) provided for {Email} and/or {ReqEmail} and match them to a known versaCRM record if it exists. |
{CompanyName} | String, nvarchar(250) | Primary Requestor Company Name | |
{CompanyID} | Integer | 0 | Primary Requestor Company ID |
{ContactID} | Integer | 0 | Primary Requestor Contact ID |
{CompanyIDGUID} | String, varchar(100)** | Primary Requestor Unique Company ID | |
{ContactIDGUID} | String, varchar(100) | Primary Requestor Unique Contact ID | |
{FirstName} | String, nvarchar(200) | Primary Requestor First Name | |
{LastName} | String, nvarchar(200) | Primary Requestor Last Name | |
{Email} | String, nvarchar(200) | Primary Requestor Email | |
{Username} | String, nvarchar(200) | Primary Requestor Username | |
{Phone} | String, nvarchar(200) | Primary Requestor Phone Number | |
{Division} | String, nvarchar(200) | Primary Requestor Company Division | |
{Department} | String, nvarchar(200) | Primary Requestor Company Department | |
{Location} | String, nvarchar(200) | Primary Requestor Location | |
{Computer} | String, nvarchar(200) | Primary Requestor Computer Info | |
{ReqCompanyName} | String, nvarchar(250) | Secondary Requestor Company Name | |
{ReqCompanyID} | Integer | 0 | Secondary Requestor Company ID |
{ReqContactID} | Integer | 0 | Secondary Requestor Contact ID |
{ReqCompanyIDGUID} | String, varchar(100) | Secondary Requestor Unique Company ID | |
{ReqContactIDGUID} | String, varchar(100) | Secondary Requestor Unique Contact ID | |
{ReqFirstName} | String, nvarchar(200) | Secondary Requestor First Name | |
{ReqLastName} | String, nvarchar(200) | Secondary Requestor Last Name | |
{ReqEmail} | String, nvarchar(200) | Secondary Requestor | |
{ReqUsername} | String, nvarchar(200) | Secondary Requestor Email | |
{ReqPhone} | String, nvarchar(200) | Secondary Requestor Phone Number | |
{ReqDivision} | String, nvarchar(200) | Secondary Requestor Company Division | |
{ReqDepartment} | String, nvarchar(200) | Secondary Requestor Company Department | |
{ReqLocation} | String, nvarchar(200) | Secondary Requestor Location | |
{ReqComputer} | String, nvarchar(200) | Secondary Requestor Computer Info | |
{DueDateNotification} | Integer, 0-1 |
0 | Defines whether a Due Date Notification has been generated for the Case. Setting this to a value of 0 will cause the system to generate a Due Date Notification when required. Set this to a value of 1 to instruct the system not to send a Due Date Notification |
{EstSolDateNotification} | Integer, 0-1 |
0 | Defines whether an Estimated Solution Date Notification has been generated for the Case. Setting this to a value of 0 will cause the system to generate an Estimated Solution Date Notification when required. Set this to a value of 1 to instruct the system not to send an Estimated Solution Date Notification. |
{OpenNotificationOnLog} | Integer, 0-1 |
0 | Defines whether the system should send an Open Notification to the requestor(s) when the Case is logged. Set this to a value of 1 to send the notification or a value of 0 to not send it. |
{CloseNotificationOnLog} | Integer, 0-1 |
0 | If Case not Closed on logging, this will default to a value of 0. |
{UrgencyID} | Integer | 0 | Sets the Urgency level of the Case. Value corresponds to the field UrgencyID of the database table tbl_Urgency. |
{RiskID} | Integer | 0 | Sets the Risk level of the Case. Value corresponds to the field RiskID of the database table tbl_Risk. |
{ProductTypeID} | Integer | 0 | Value corresponds to the field ProductTypeID of the database table tbl_ProductType. |
{ProductID} | Integer | 0 | Value corresponds to the field ProductID of the database table tbl_Product. |
{ImpactID} | Integer | 0 | Value corresponds to the field ImpactID of the database table tbl_Impact. |
{SymptomCodeID} | Integer | 0 | Value corresponds to the field SymptomCodeID of the database table tbl_SymptomCode. |
{CauseCodeID} | Integer | 0 | Value corresponds to the field CauseCodeID of the database table tbl_CauseCode. |
{JobTitle} | String, nvarchar(200) | Primary Requestor Job Title | |
{ReqJobTitle} | String, nvarchar(200) | Secondary Requestor Job Title | |
{Custom1} - {Custom20} | String, XML 200 chars | Optional Custom Field for extra Case data |
**varchar only allows traditional English characters
***ID's set for these values must correspond to those available for the QueueID (Team) specified
NOTE: As stated above, the values of these properties are subject to the Team configuration. The Team selected is defined by the tag {QueueID}. Setting {GroupID} to a value of 15 does not guarantee that the Case will be assigned to a Skill Group; the Skill Group must belong to the Team.
If the system is presented with invalid data, or QueueID is not for a valid Team, the email will be logged as a new Case received via email and the tag based instructions ignored. Unless specific values are desired for Integer fields, set these values to 0.
Example: Below is the structure the XML must be specified in to successfully log a Case. By including this XML style document within the email body a Case will be logged with the system defined by the tag values.
{CallData}
{CallID}{/CallID}
{CallPID}{/CallPID}
{SiteID}1{/SiteID}
{HDUserID}1{/HDUserID}
{Closed}{/Closed}
{PerformedOn}{/PerformedOn}
{ResUserID}{/ResUserID}
{DateStarted}{/DateStarted}
{ElapsedTime}{/ElapsedTime}
{CallType}1{/CallType}
{ReceivedBy}2{/ReceivedBy}
{CallStatusID}1{/CallStatusID}
{Subject}Test Case Logged By XML{/Subject}
{Description}Case Details...{/Description}
{SolutionTypeID}1{/SolutionTypeID}
{Solution}{/Solution}
{PriorityID}5{/PriorityID}
{Key1}{/Key1}
{Key2}{/Key2}
{Key3}{/Key3}
{DueDate}2021-10-01 10:00:00:AM{/DueDate}
{QueueID}1{/QueueID}
{GroupID}1{/GroupID}
{UserID}{/UserID}
{EstSolDate}{/EstSolDate}
{Notification}{/Notification}
{EmailNotification}{/EmailNotification}
{ClosedOnCall}{/ClosedOnCall}
{ContactLookup}1{/ContactLookup}
{CompanyName}{/CompanyName}
{CompanyID}{/CompanyID}
{ContactID}{/ContactID}
{CompanyIDGUID}{/CompanyIDGUID}
{ContactIDGUID}{/ContactIDGUID}
{FirstName}Fred{/FirstName}
{LastName}Smith{/LastName}
{Email}Fred.Smith@versadev.com{/Email}
{Username}{/Username}
{Phone}{/Phone}
{Division}{/Division}
{Department}{/Department}
{Location}{/Location}
{Computer}{/Computer}
{ReqCompanyName}{/ReqCompanyName}
{ReqCompanyID}{/ReqCompanyID}
{ReqContactID}{/ReqContactID}
{ReqCompanyIDGUID}{/ReqCompanyIDGUID}
{ReqContactIDGUID}{/ReqContactIDGUID}
{ReqFirstName}Fred{/ReqFirstName}
{ReqLastName}Smith{/ReqLastName}
{ReqEmail}Fred.Smith@versadev.com{/ReqEmail}
{ReqUsername}{/ReqUsername}
{ReqPhone}{/ReqPhone}
{ReqDivision}{/ReqDivision}
{ReqDepartment}{/ReqDepartment}
{ReqLocation}{/ReqLocation}
{ReqComputer}{/ReqComputer}
{DueDateNotification}{/DueDateNotification}
{EstSolDateNotification}{/EstSolDateNotification}
{OpenNotificationOnLog}0{/OpenNotificationOnLog}
{ClosedNotificationOnLog}{/ClosedNotificationOnLog}
{ClosedNotificationOnLog}{/ClosedNotificationOnLog}
{UrgencyID}{/UrgencyID}
{RiskID}{/RiskID}
{ServiceAreaID}{/ServiceAreaID}
{ProductTypeID}{/ProductTypeID}
{ProductID}{/ProductID}
{ImpactID}{/ImpactID}
{SymptomCodeID}{/SymptomCodeID}
{CauseCodeID}{/CauseCodeID}
{JobTitle}{/JobTitle}
{ReqJobTitle}{/ReqJobTitle}
{Custom1}{/Custom1}
{Custom2}{/Custom2}
{Custom3}{/Custom3}
{Custom4}{/Custom4}
{Custom5}{/Custom5}
{Custom6}{/Custom6}
{Custom7}{/Custom7}
{Custom8}{/Custom8}
{Custom9}{/Custom9}
{Custom10}{/Custom10}
{Custom11}{/Custom11}
{Custom12}{/Custom12}
{Custom13}{/Custom13}
{Custom14}{/Custom14}
{Custom15}{/Custom15}
{Custom16}{/Custom16}
{Custom17}{/Custom17}
{Custom18}{/Custom18}
{Custom19}{/Custom19}
{Custom20}{/Custom20}
{/CallData}
{/LogCall}
NOTE: To enable versaSRS Extended Case Logging via Email ensure that the CheckEmailXML Global Setting is set to true as pictured below. If you have to enable this setting, you must also restart the versaSRSMailIn Service.