Skip to main content

Pia Triage

Pia currently supports triage capability with 3 primary features:

  • Ticket Classification
  • Ticket Stamping
  • Ticket Routing

Triage Updates​

Development of the triage feature is ongoing, we have received many feature requests! As releases are completed, this article will be updated with newly supported configuration options

  • 2022-11-17 Triage was released with ticket classification, stamping and routing functionality
  • 2023-01-11 Triage "Route to Board" feature is released, you can now configure board routing rules and 2 additional mapping rules can be created to support routing from board to board and stamping tickets from AI Classification into multiple board mappings.

Intro Video​

Watch the video below for a live view of this working.

YouTube Video Thumbnail

Triage Automation

caution
**Important:** This is an initial release of the triage automation. It has some limitations as specified under the configuration heading below. In addition, it has been built to only support ConnectWise and Autotask ticketing systems at this time.

Using Pia's automation platform, triage is currently available as an automation package called Pia: Triage.

Basic Flow​

The basic flow of this package is:

  1. As a ticket is created or updated in the ticketing system, an initial filter is evaluated to determine tickets which are "in scope" prior to executing this package. This typically consists of a simple board filter.
    • An example board filter is: board.name == "Board A" || board.name == "Board B". This can be read as "triage tickets which exist on Board A or Board B".
  2. The Triage automation will evaluate a set of conditions as defined in the triage configuration. See below on how to configure this and the options currently available.
  3. The Triage automation will then perform actions such as:
    • Stamping the ticket with the Type, SubType and Item
    • Assigning the ticket to a specific user (ticket owner/assignee)

Triage Package​

The triage automation is a package:

triage-automation3.png

Triage Log​

When it runs for a ticket, it will output its decision process in a detailed log that can be traced: triage-output3.png

Triage Configuration

This automation can be configured by modifying the JSON at the top of the automation package. Use the following guide to help with the configuration:

  • simulateOnly:
    • 'true' or 'false'.
    • If 'true' the automation will be put into simulation mode. This will mean that it will process tickets, but not actually perform the action. This is useful when testing the automation if you want to see what it would do in a specific scenario.
    • You can see the output log in the live packages view to help determine what decision would have been made for a specific ticket.
  • stampTicket:
    • 'true' or 'false'.
    • Set to 'true' to turn on ticket stamping feature.
    • When this is enabled, stampTicket conditions will be checked and if a mappingSet is found, the ticket will have its Type, SubType and Item set according to the relevant mapping.
  • stampTicket_TYPE_MATCHES:
    • Leave empty if not using this condition.
    • If this is set, the ticket type must match the one set in the config before the triage automation will perform ticket stamping.
    • This condition is evaluated using regular expression (RegEx).
  • stampTicket_AI_SCORE_GREATER_THAN: Required
    • Set this to a number between 0 and 1.
    • If the AI Classification Score of the incoming ticket is greater than this condition, then ticket stamping will be performed.
  • mappings:
    • Multiple mappings may be provided for different boards (as some ticketing systems, such as ConnectWise, allow you to specify different ticket categories per board)
    • The default configuration gives a list of all available AI classifications which can be mapped to ticket categories which will be used to stamp the ticket
  • mappings > ai:
    • This is the AI Classification which Pia has classified the ticket.
    • The model categories are set and there are currently 32 of them.
    • They are represented in the format TYPE|SUBTYPE|ITEM. You can find a complete list at the bottom of this article.
  • mappings > classify:
    • This is the ticket category (as defined in the partner's ticketing system) for the applicable board which corresponds to the Pia AI Classification.
    • When the mapping conditions are met, this is the ticket category which will be set on the ticket (i.e. ticket stamping).
    • They are represented in the format TYPE|SUBTYPE|ITEM.
    • There are 3 valid formats for this value:
      • TYPE
      • TYPE|SUBTYPE
      • TYPE|SUBTYPE|ITEM
  • mappings > boardMappings:
    • This is a set of boards and classifications, it allows you to change the classification based on the source board as different classifications may be required on different boards.
  • mappings > boardMappings > board:
    • This is the source board, if a ticket is on the board, it will then be classified as per the 'classify' field.
  • mappings > boardMappings > classify:
    • This is the ticket category (as defined in the partner's ticketing system) for the applicable board which corresponds to the Pia AI Classification.
    • When the mapping conditions are met, this is the ticket category which will be set on the ticket (i.e. ticket stamping).
    • They are represented in the format TYPE|SUBTYPE|ITEM.
    • There are 3 valid formats for this value:
      • TYPE
      • TYPE|SUBTYPE
      • TYPE|SUBTYPE|ITEM
  • routeTicket:
    • 'true' or 'false'.
    • Set to 'true' to turn on ticket routing feature.
    • When this is enabled, routeTicket conditions will be checked and actions will be applied according to the specific matched rule.
  • routeOnlyWhenStamping:
    • 'true' or 'false'.
    • Most cases, you will want this to be 'true'. This ensures that routing only occurs once when the ticket is initially stamped.
  • routeRules > evaluationOrder:
    • Not currently used, but this will be used to determine the order in which rules are evaluated.
    • Rule processing stops when a rule is matched, so the order is important. Currently rules are evaluated in the order they are specified in the configuration
  • routeRules > condition_TICKET_CLASSIFICATION_MATCHES:
    • You may only use either condition_TICKET_CLASSIFICATION_MATCHES OR condition_TICKET_AI_CLASSIFICATION_MATCHES, not both
    • A route condition which applies the rule only if the ticket classification matches the one specified.
    • This is evaluated using regular expression (RegEx).
    • Leave empty to skip this condition.
  • routeRules > condition_TICKET_AI_CLASSIFICATION_MATCHES:
    • You may only use either condition_TICKET_CLASSIFICATION_MATCHES OR condition_TICKET_AI_CLASSIFICATION_MATCHES, not both
    • A route condition which applies the rule only if the ticket ai classification matches the one specified.
    • This is evaluated using regular expression (RegEx).
    • Leave empty to skip this condition.
  • routeRules > condition_CLIENT_MATCHES:
    • A route condition which applies the rule only if the client name of the ticket matches the one specified.
    • This is evaluated using regular expression (RegEx).
    • Leave empty to skip this condition.
  • routeRules > condition_CLIENT_CONTACT_IS_MVP:
    • Not currently in use. Needs further work.
  • routeRules > action_ROUTE_TO_BOARD:
    • Specify a board which this ticket will be routed to if the conditions of the rule are matched.
  • routeRules > action_ROUTE_BOARD_STATUS:
    • Specify a status for the ticket to be assigned during routing.
  • routeRules > action_ROUTE_TO_ASSIGNEE:
    • Specify the member identifier of the assignee to route this ticket to

Sample Configuration​

Below is a sample configuration that can be used as a starting point for your Triage configuration.

{
"simulateOnly": false,
"stampTicket": true,
"stampTicket_TYPE_MATCHES": "MUST CHANGE",
"stampTicket_AI_SCORE_GREATER_THAN": 0.6,
"mappings": [
{
"ai": "Service Request|Staff Changes|New Staff",
"boardMappings": [
{ "board": "MS - Internal", "classify": "Service Request|Staff Change|New User - SR" },
{ "board": "Professional Services", "classify": "" }
]
},
{ "ai": "Incident|Account|Locked Out", "classify": "" },
{ "ai": "Incident|Account|Password Reset", "classify": "" },
{ "ai": "Incident|Application|Microsoft Teams", "classify": "" },
{ "ai": "Incident|Application|Outlook", "classify": "" },
{ "ai": "Incident|Application|Remote Desktop", "classify": "" },
{ "ai": "Incident|Backup|File Recovery", "classify": "" },
{ "ai": "Incident|Email|SPAM/Junk email", "classify": "" },
{ "ai": "Incident|Mail|Email Bouncebacks", "classify": "" },
{ "ai": "Incident|Mail|Outlook Mail Flow", "classify": "" },
{ "ai": "Incident|Mail|Quarantine", "classify": "" },
{ "ai": "Incident|Printing|Fault", "classify": "" },
{ "ai": "Incident|VPN|Issues Connecting", "classify": "" },
{ "ai": "Incident|Workstation|Slow Performance", "classify": "" },
{ "ai": "Service Request|Application|Install", "classify": "" },
{ "ai": "Service Request|Application|License", "classify": "" },
{ "ai": "Service Request|Application|Microsoft Office", "classify": "" },
{ "ai": "Service Request|Application|One Drive for Business", "classify": "" },
{ "ai": "Service Request|Application|Remote Desktop", "classify": "" },
{ "ai": "Service Request|File Share|Permission Request", "classify": "" },
{ "ai": "Service Request|Mail|Calendar Permissions", "classify": "" },
{ "ai": "Service Request|Mail|Create / Delete Contact", "classify": "" },
{ "ai": "Service Request|Mail|Edit Distribution Group", "classify": "" },
{ "ai": "Service Request|Mail|Mail Redirect", "classify": "" },
{ "ai": "Service Request|Mail|Mailbox Access", "classify": "" },
{ "ai": "Service Request|Mail|New Shared Mailbox", "classify": "" },
{ "ai": "Service Request|Mail|Setup Out of Office", "classify": "" },
{ "ai": "Service Request|Printing|Configuration", "classify": "" },
{ "ai": "Service Request|SharePoint|Permissions", "classify": "" },
{ "ai": "Service Request|Staff Changes|New Staff", "classify": "Service Request|Staff Change|New User - SR" },
{ "ai": "Service Request|Staff Changes|Staff Exit", "classify": "" },
{ "ai": "Service Request|Staff Changes|Update Details", "classify": "" },
{ "ai": "Service Request|Staff Changes|Update Photo", "classify": "" },
{ "ai": "Service Request|VPN|Setup", "classify": "" },
{
"boardMappings": [
{ "board": "MS - Internal", "classify": "" },
{ "board": "Professional Services", "classify": "" }
]
}
],
"routeTicket": true,
"routeOnlyWhenStamping": true,
"routeRules": [
{
"evaluationOrder": 1,
"condition_TICKET_CLASSIFICATION_MATCHES": "Service Request\\|Staff Changes\\|New Staff",
"condition_CLIENT_MATCHES": "Client Name",
"condition_CLIENT_CONTACT_IS_MVP": null,
"action_ROUTE_TO_BOARD": "MS - Internal",
"action_ROUTE_BOARD_STATUS": "Assigned",
"action_ROUTE_TO_ASSIGNEE": "User"
},
{
"evaluationOrder": 2,
"condition_TICKET_AI_CLASSIFICATION_MATCHES": "Incident\\|VPN\\|Issues Connecting",
"condition_CLIENT_MATCHES": "Client Name",
"condition_CLIENT_CONTACT_IS_MVP": null,
"action_ROUTE_TO_BOARD": "Professional Services",
"action_ROUTE_BOARD_STATUS": "Assigned",
"action_ROUTE_TO_ASSIGNEE": "User"
}
],
"boardsToSkipTriage": ["MS - Internal", "Professional Services"]
}

Pia AI Model Classifications​

Pia's AI can currently classify a ticket into the following 32 classifications.

The classifications are in the format TYPE|SUBTYPE|ITEM.

  • Incident|Account|Locked Out
  • Incident|Account|Password Reset
  • Incident|Application|Microsoft Teams
  • Incident|Application|Outlook
  • Incident|Application|Remote Desktop
  • Incident|Backup|File Recovery
  • Incident|Email|SPAM/Junk email
  • Incident|Mail|Email Bouncebacks
  • Incident|Mail|Outlook Mail Flow
  • Incident|Mail|Quarantine
  • Incident|Printing|Fault
  • Incident|VPN|Issues Connecting
  • Incident|Workstation|Slow Performance
  • Service Request|Application|Install
  • Service Request|Application|License
  • Service Request|Application|Microsoft Office
  • Service Request|Application|One Drive for Business
  • Service Request|Application|Remote Desktop
  • Service Request|File Share|Permission Request
  • Service Request|Mail|Calendar Permissions
  • Service Request|Mail|Create / Delete Contact
  • Service Request|Mail|Edit Distribution Group
  • Service Request|Mail|Mail Redirect
  • Service Request|Mail|Mailbox Access
  • Service Request|Mail|New Shared Mailbox
  • Service Request|Mail|Setup Out of Office
  • Service Request|Printing|Configuration
  • Service Request|SharePoint|Permissions
  • Service Request|Staff Changes|New Staff
  • Service Request|Staff Changes|Staff Exit
  • Service Request|Staff Changes|Update Details
  • Service Request|Staff Changes|Update Photo
  • Service Request|VPN|Setup