Use AI to Auto-Set Category and Issue Type

Applies To: NITRO Helpdesk Application (SharePoint Online)

Description:

In Crow Canyon Helpdesk applications, Tickets list has category and issue types. Categories are used to organize the Tickets. Using artificial intelligence (AI) Tickets can be auto categorized based on the Ticket’s subject and description.

By analysing the Ticket’s subject and description, AI identifies the best match from predefined list of issue types/categories, simplifying Ticket management.

This article describes the instructions to use artificial intelligence in Crow Canyon helpdesk applications in SharePoint online.

Ticket classification process using AI:

  • When a Ticket is created (either manually or via email), the system extracts key phrases from its subject and description.
  • AI compares these phrases with the descriptions in the category/issue type list.
  • Using embeddings, the AI calculates the semantic similarity between the Ticket’s text and the description in the category/issue type list, selecting the best match.
  • If necessary, the AI recalculates embeddings to ensure up-to-date matching.

Summary of steps:

  1. List schema
  2. NITRO form changes
  3. Configure AI settings
  4. Auto categorization process
  5. Other methods to auto set Category and Issue Type in a Ticket

Detailed Steps:

List Schema:

Create columns below lists with the internal names and display names given below:

Category/Issue Type list:

Create below columns in “Category” and “Issue Type” lists.

Go to the helpdesk site -> Administration page -> Configure lists -> Category/Issue Type -> List Settings -> Create below columns:

Column Internal NameColumn Display NameColumn Type
EmbeddingEmbeddingMultiple lines of text (Plain Text)
ChecksumChecksumSingle line of text
DescriptionDescriptionMultiple lines of text (Rich Text)
  • Embedding: A “Multiple lines of text” column to store AI-generated embeddings, which are numerical representations of text meaning.
  • Checksum: A “Single line of text” column used to track any changes in data.
  • Description: A “Multiple lines of text” column where you provide description for issue type/category.

Configurations

Create below columns in ‘Configurations’ list.

Go to the helpdesk application -> Administration page -> Configure lists -> Configurations -> Create below columns:

Column Internal NameColumn Dispaly NameColumn Type
AISettingsJSONAISettingsJSONMultiple lines of text (Plain Text)

NITRO Form Changes

Add above created columns to the NITRO forms.

Category/Issue Type list:

  1. Add “Description” column to the NITRO forms and publish the forms.

Go to the Category/Issue Type lists -> List Settings -> Crow Canyon NITRO Forms -> add ‘Description’ column to the form and publish NITRO forms.

  • Specify the category/issue type details in ‘Description’ column for the issue type/category. This helps AI to understand and classify Tickets based on their content.

Configurations list:

  1. Create a new tab ‘AI Connection Settings’ and add ‘AISettingsJSON’ column to this tab

Go to the ‘Configurations’ list -> List Settings -> Crow Canyon NITRO Forms ->Create new tab ‘AI Connection Settings’ and ‘AISettingsJSON’ to the form and publish NITRO forms.

Configure AI Settings

Configure AI settings in ‘General Configurations’ in helpdesk applications.

Go to application administration -> General Configurations tab -> Click ‘General Configurations’ tile -> ‘AI Connection Settings’ -> Specify below JSON settings in the ‘AISettingsJSON’ column.

This JSON tells the system how to use AI for Ticket classification.

Enter below JSON in AISettingsJSON
{
              “AIConnection” : “Azure Open AI”,
              “AutoPopulateIssueType” : {
                           “Enabled”:true,
                            “EmbeddingColumn”:”Embedding”,
                           “ChecksumColumn”:”Checksum”,
                           “CalculateEmbeddings”:true,
                           “DescriptionColumn” : “Description”,
                           “RefinerString” : “”
              }
}
  • AIConnection: Specifies the AI service (in this case, Azure Open AI) name configured in the Crow Canyon NITRO Site Settings.

If AI connection is not configured, application will use SharePoint search to find the matching category/issue type. However, for proper matching, it is recommended that AI settings are configured.

To create azure services, refer this article: https://www.crowcanyon.help/article/747/

To configure AI connection settings in NITRO Site Settings, go to site settings -> Crow Canyon NITRO Site Settings -> AI Connection Settings -> New AI Connection

  • AutoPopulateIssueType: Enabling this setting will auto set category/issue type based on the Ticket subject and description.
  • EmbeddingColumn: Specify internal name of the ‘Embedding’ column created in category/issue type lists.
  • Checksum Column: Specify internal name of the ‘Checksum’ column created in category/issue type lists.
  • Calculate Embeddings: Enable this to generate embeddings (requires AI connection setup) for the category/issue types.
  • DescriptionColumn: Specify internal name of the ‘Description’ column created in category/issue type lists.

Auto categorization process in the helpdesk application

Case 1: Configured AI connection and enabled calculate Embedding

Configuration Check:

Verify if AI and embedding columns are configured for processing Ticket data.

Key Phrase Extraction:

Extract key phrases from the subject and body of the ticket. These key phrases likely summarize the main issues or topics mentioned in the ticket.

Search on Issue Type List:

Perform a search using the extracted key phrases against an Issue Type list.

Top 10 Matching Items:

Identify the top 10 Issue Types that best match the extracted key phrases from the Ticket.

Embedding Retrieval:

Retrieve embeddings (embedding vectors) for the Ticket subject and body. Embeddings are numerical representations that capture the semantic meaning of text.

Matching with Issue Types:

Compare the embeddings of the Ticket subject and body with the embeddings of the top 10 Issue Types. Ensure that each Issue Type has an associated embedding value for comparison.

Calculation and Update:

If any Issue Type does not have an embedding value, trigger a calculation process within the product application to generate and update the embedding for that Issue Type.

Checksum Validation:

Monitor changes in checksum (likely referring to a hash or a unique identifier) to determine if there have been updates or modifications to the embeddings or other data.

Recalculation of Embeddings:

If the checksum has changed, initiate a recalculation of embeddings to ensure that all embeddings are up to date and reflect any changes in the ticket data or Issue Type definitions.

Clarifications:

AI and Embedding Columns: These likely refer to the use of artificial intelligence algorithms for natural language processing (NLP) and the configuration of columns or fields in a database or system where embedding vectors are stored.

Issue Type List: This is a predefined list categorizing different types of issues or Tickets based on their nature or purpose.

Checksum: Used to track changes and ensure data integrity, especially concerning embeddings and possibly other relevant data points.

Result: We get better matching result if AI connection and Embedding is present

Case 2: An AI connection is configured in NITRO Site Settings; the Embedding column is not in the Issue Type list.

If embedding functionality is not available and you’re relying solely on key phrases for searching and categorizing Tickets, here’s how the process would typically work:

  1. AI and Key Phrase Extraction:
  2. Utilize AI algorithms to extract key phrases from the subject and body of the ticket. Key phrases are important keywords or phrases that summarize the main topics or issues discussed in the ticket.
  3. Search on Issue Type List:
  4. Perform a search using the extracted key phrases against an Issue Type list. This list categorizes tickets into different types such as tasks, incidents etc.
  5. Top 10 Matching Items:
  6. Identify the top 10 Issue Types that best match the extracted key phrases from the ticket.
  7. Matching Process:
  8. Compare the extracted key phrases directly with the descriptions or keywords associated with each Issue Type in the list.

JSON used in this case

{
              “AIConnection” : “Azure Open AI”,
              “AutoPopulateIssueType” : {
                           “Enabled”:false,
                           “EmbeddingColumn”:””,
                           “ChecksumColumn”:””,
                           “CalculateEmbeddings”:false,
                           “DescriptionColumn” : “Description”,
                           “RefinerString” : “”
              }
}

Result: In this case,we get a less accurate result compared to Embedding based method if an AI connection is present, but Embedding is not present

Case 3: An AI connection and Embedding are not both present

If both AI and embedding capabilities are not available, then SharePoint search is used to match the issue type based on Ticket title. Since matching is done based on the full title text, search will be less effective than the keywords-based search.

  1. Ticket Title Extraction:
  2. Extract the ticket title (subject) from the ticket details.
  3. Search for Matching Issue Type:
  4. Perform a search using the ticket title against a predefined list of issue types.
  5. Top Matching Item Selection:
  6. Select the top matching issue type based on the relevance or similarity of the ticket title to the descriptions or keywords associated with each issue type.
  7. Assignment and Processing:
  8. Assign the selected issue type to the ticket for further processing

JSON used in this case

{
              “AIConnection” : “”,
              “AutoPopulateIssueType” : {
                           “Enabled”:true,
                           “EmbeddingColumn”:””,
                           “ChecksumColumn”:””,
                           “CalculateEmbeddings”:false,
                           “DescriptionColumn” : “Description”,
                           “RefinerString” : “”
              }
}

Other methods to auto set Category and Issue Type in a Ticket

When a Ticket is created via email, the system automatically sets the Category and Issue Type according to the following steps:
  1. Check the Issue Type List: The system first looks at the Issue Type List for any entries that include the email ticket list name in the ‘Receivers’ column. If it finds a match, it assigns the first relevant Issue Type along with its corresponding Category to the ticket.
  2. Category Assignment Only: If the Issue Type List does not have the email ticket list name in the ‘Receivers’ column, but the Category List does contain it in the ‘Auto Categorization’ column, then only the Category will be assigned to the ticket.
  3. Fallback to AI or SharePoint: If neither the Issue Type List nor the Category List includes the email ticket list name, the system will use AI methods to determine the appropriate values, assuming an AI connection is available. If there is no AI connection, a SharePoint search will be conducted to find the suitable Category and Issue Type.
  4. This process ensures that each email ticket is accurately categorized and assigned based on the available data and resources.

Refer below article to auto set Category and Issue Type

SharePoint Online: Auto fill Category and/or Issue Type on Email to Ticket conversion – Crow Canyon Software Support

How to auto set category when Tickets gets created via Email? – Crow Canyon Software Support

Note: This method takes precedence over AI based method to auto set Category and Issue Type in a Ticket.

When a Recurring Ticket is created using a Recurring Template, the process for assigning the Category and Issue Type depends on the template’s specifications.
  1. Using the Template: If the template includes a specified Category and Issue Type, the ticket will be assigned those attributes directly.
  2. AI-Based Assignment: If the template does not specify these attributes, and if an AI connection is established, the system will use AI to determine and assign the appropriate Category and Issue Type.
  3. SharePoint Search: If neither of the above methods is applicable—meaning there’s no specified information in the template and no AI connection—the system will then resort to a SharePoint search. It will match the Ticket Title and Description to assign the most relevant Category and Issue Type.

This ensures that each ticket is categorized appropriately based on the available resources and methods.

Follow this article to configure Recurring Tickets

Examples for configuring Recurring Tickets (Weekly/Specific Date) – Crow Canyon Software Support