![](https://haloitsm.com/wp-content/uploads/2021/05/Add-a-heading-16.png)
HaloITSM Guides
Documentation to assist with the setup and configuration of the HaloITSM platform
AI Emotion Detection
As of v2.152 the AI Emotion Detection is configured through integration runbooks. This may be subject to change in newer version of Halo.
Disclaimer
If you are using the Azure OpenAI connection, you can configure the runbook the same way you would configure the OpenAI one. Make sure to use the 'Sentiment Analysis' runbook, as this contains the correct variables in the API connection URL to Azure AI's models. Different runbooks will be visible depending on your AI module configuration i.e. whether you are using Azure OpenAI or OpenAI.
One of the new features that is possible with an OpenAI connection is the ability to detect the emotion of users. Currently this is acheived via an integration runbook. The following guide will explain how to setup the runbook for the Connection Type - 'Own OpenAI Connection' (this method only requires an API key to be plugged in).
To enable use the emotion detection feature, you must have the AI module enabled (click on the '+' icon of the module from within the configuration area)
Scrolling down the list of AI settings, you will find the Sentiment Analysis dropdown:
Enable the checkbox and click into the runbook. The connection to the API of your Halo instance and to OpenAI is pre-configured. In the Halo trials, the OpenAI API key works, using your own Key or Azure AI model (when using the Azure OpenAI connection type) will stop the chances of reaching a rate limit. Make sure you are in the correct runbook when you click the link, the runbook should be called 'OpenAI Emotion Detection'
NB: If you are using the Azure OpenAI connection, you can configure the runbook the same way you would configure the OpenAI one. Make sure to use the 'Azure OpenAI Emotion Detection' runbook, as this contains the correct API connection to Azure AI.
Within the details tab of the runbook, you can create the event which will trigger the runbook, in this example the event chosen is an Incident or Service Request ticket being updated by the user You must create two events, as criteria uses a logical AND operator for the criteria):
Alternatively you may want to have it trigger when a ticket is closed, in this case you can set the event to be 'closed'. Most customers will likely want to see the overall sentiment/ satisfaction when a ticket is closed, rather than after every update:
Make sure to save the entire runbook at this point.
The explanation of the runbook is the following:
- The event which triggers the runbook is a ticket being updated that is of type Incident or Service Request, from this moment, the runbook is now active and will flow through the steps that are defined in the 'Flow Chart'
- The first step is a Halo API Action that gets the non system actions from the ticket (Name - Get Sentiment Action), and then creates an output variable for the ticket history, which is acheived by taking certain elements of the response generated from the action created.
- Step 2 is sending the ticket history to OpenAI so that it can assess the sentiment/ tonality of the user at this point in the ticket. Satisfaction level is graded from 1-10 by OpenAI. It then creates output variables for the Satisfaction Level and the Emotion Evaluation, which will be used in the next step.
- The last step is to Update the ticket by posting the Sentiment and Satisfaction Level of the user via to pre-configured custom fields.
Creating The Runbook
Step 1:
Use the following JSON body even if you are connected to the Azure OpenAI models. The 'outcome' is the name of the Action, 'Who' is the entity carrying out the action, the action is set to be hidden from the user, and finally the note is using a variable which pulls through all non system (automated) actions i.e. user updates:
{
"ticket_id": <<ticket^id>>,
"outcome": "Analyse Sentiment",
"who": "Automation",
"hiddenfromuser": true,
"note_html": "$ALLNONSYSACTIONS"
}
Step 2
Within the method itself (Click into 'Edit Method'), you must configure it the following way:
Headers:
Body:
Output Variables:
The output variable names shown will be SatisfactionLevel and Evaluation if you are using the Azure OpenAI connection, variable names do not have to be a specific string, although it is important to ensure the naming convention is consistent throughout the runbook in order for the variables to pull through to each step correctly.
Step 3
This step will require some custom fields to be created if you dont already have them in your instance (CFAISentimentAnalysis, CFSatisfactionLevel). After creating the custom fields, make sure to get the custom field ID from the URL:
'https://aitesting.halopsa.com/config/custom/fields?id=212'
so ID 212 would be placed into the runbook like so:
Now that the runbook setup is complete, the next focus is on how to display this sentiment analysis in the ticket. The configuration may be working already within the configuration of your ticket type. To use the emotion detection fields on tickets, it is worth considering whether to add it onto a new custom tab or not.
To configure a custom tab, make sure the entity type is ticket:
Then when it comes to configuring the field on the field list of the ticket type, the tab can be set for the emotion detection fields. To make it easier to see the emotion detection fieds, a field group can also be created(Configuration > Tickets > Field Groups):
Then add the field group, field groups can be selected when adding to the field list:
Then you can edit the fields on the group and set them to show under the emotion detection custom tab, first edit the group:
Then edit the fields on the field list of the group:
Finally you can edit the 'Tab' to be the emotion detection tab:
The Final Product
Each time the user updates the ticket, the sentiment will be analysed and posted to the ticket(Hidden from the user):
The 'AI Emotion Detection' Tab will contain information capturing the emotion and satisfaction level of the user:
The Sentiment is that the user is Angry and the satisfaction level is 2, meaning they are very unsatisfied with the service. The Sentiment Analysis can also be fairly detailed:
Popular Guides
- Asset Import - CSV/XLS/Spreadsheet Method
- Call Management in Halo
- Creating a New Application for API Connections
- Creating Agents and Editing Agent Details
- Departments, Teams and Roles
- Halo Integrator
- Importing Data
- Multiple New Portals with different branding for one customer [Hosted]
- NHServer Deprecation User Guide
- Organisation Basics
- Organising Teams of Agents
- Step-by-Step Configuration Walk Through
- Suppliers