<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><p><strong>In this </strong><strong>guide we will cover:</strong></p><p><strong>- What is the Chat Bot?</strong></p><p><strong>- How to Configure a Chat Profile</strong></p><p><strong>- User Verification</strong></p><p><strong>- Start Live Chat</strong></p><p id="isPasted"><strong>- Translate Live Chat (Using Azure Translator)</strong></p><p><strong>- Example Bot Flow</strong></p><p><strong>- Customising the Chat Bot Profile</strong></p><p><strong>- Setting which Chat Profile is used</strong></p><p><strong>- Determine the start step of the chat</strong></p><p><strong>- Chatbot Variables </strong></p><p><strong>- The Chat Area</strong></p><p><strong>- Virtual Agents</strong></p><p><strong>- Chat Auditing</strong></p><p><br></p><p><br></p><p><strong>Admin Guides:</strong></p><ul><li><strong><a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1841/" id="isPasted" target="_blank" rel="noopener noreferrer">Chat</a></strong></li></ul><p><br></p><p><strong>Related Guides:</strong></p><ul><li><strong><a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2509/" id="isPasted" target="_blank" rel="noopener noreferrer">Live Chat in Halo</a></strong></li><li><strong><a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2336/" id="isPasted" target="_blank" rel="noopener noreferrer">Virtual Agents in the Chat Bot</a><br></strong></li></ul><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is the Chat Bot? </span></strong></p><p>The chat bot in Halo PSA is a functionality which allows users and agents to view information/complete actions through a chat. A chat profile will need to be configured to control the direction of the chat and return pre-defined responses and outcomes. </p><p><br></p><p>In Halo, the chat bot can appear on the self service portal as an additional way for users to ask questions, log tickets, view information etc. It can also be configured in Halo and then <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1462/" id="isPasted" target="_blank" rel="noopener noreferrer"><strong>embedded to an external website</strong></a>, allowing users to log/ tickets outside of Halo. The chat bot can also be used in the agent application, by agents, to assist agents in finding information. </p><p><br></p><p><strong><span style="font-size: 14pt;">How to Configure a Chat Profile </span></strong></p><p>The chat profile determines how the chat bot operates, in terms of the responses it gives and the actions it can carry out. </p><p><br></p><p>Head to Configuration > Chat > Chat profiles > New, here give the profile a name then head to the 'Bot Flow' tab. It is within this tab that the responses/actions of the bot are configured. </p><p><br></p><p>Similarly to Halo workflows, each step of the chat can be configured, as the user works their way through the chat they will be taken to different steps depending on their responses. When creating a new step you will need to give the step a name and select the type of step. </p><p><br></p><p>Each step in the bot flow will have the setting 'Chat can start from this step', when this is enabled the starting step of the chat can be overridden to be this step instead when the chat is embedded into other sites. See <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1462/" id="isPasted" target="_blank" rel="noopener noreferrer"><strong>Halo Live Chat - embedded on other sites</strong></a> for more information on this. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg1MDlkOTZmLWFiOWYtNGEzZi1iY2Y2LTcwZTQ0NTZjNzVlNiJ9.hZx-_4zHlXZ2-h_Pd6AgDhcrERkPcWa5YaY4vGmN0y0" class="fr-fic fr-fil fr-dib" width="982" style="width: 984px; height: 468.809px;" height="469"></p><p><strong><span style="font-size: 10pt;">Fig 1. Step setup</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Step Types </span></strong></p><p><strong>Action:</strong></p><p>When selected you will be able to choose an action type, each of these can be used to have the chat bot complete a particular process. Such as logging a ticket, searching the knowledge base etc. Steps of this type will be within a blue box.</p><p><br></p><p>The action types complete action as follows:</p><p><br></p><ul><li><strong>Send a message:</strong> Will post a message into the chat, when selected a message field will appear, allowing you to set the message you would like to be sent into the chat at this step. $-variables can be used here to pull certain information into the message, a link to the available variables will be provided on the page. </li><li><strong>KB Search:</strong> This will search the knowledge base and return an article to the user. The criteria that is searched can be set using the 'KB search method' field.</li><li><strong>Log a ticket:</strong> This will log a ticket of a set ticket type or template. If the setting 'Send a link to a form awaiting completion' is enabled the user can be sent a link to complete a form for the ticket type/template in the portal, only once this is complete will the chat continue. To give them the link to the form $-LOGTICKET must be added to the ticket link message field. </li><li><strong>Start Live Chat:</strong> This will start a live chat with an agent through the chat bot. The user will be able to message an agent in real time. When selected you will be able to choose the teams the live chat can be assigned to. It is recommended to run a condition before this action to check an agent is available to avoid the user waiting long periods for an agent response. </li><li><strong>End Chat:</strong> This will end the chat flow. This should be used as the last step in the flow. </li><li><strong>Service Issues:</strong> The user will be shown the services that have issues of those they are subscribed to.</li><li><strong>Open Tickets:</strong> The user will be shown a list of their open tickets.</li><li><strong>Walk Through logging a ticket:</strong> This will log a ticket of the type/template selected. The user will be prompted to enter each field on the ticket one by one. Once all the fields are complete the ticket will be logged. Any dynamic field visibility configured for the ticket type chosen will still apply. </li><li><strong>Log a Service:</strong> This will log the ticket type associated to the service selected below. The user will be prompted to enter each field for the service one by one, if the service contains the option to log optional services the user will be directed to the portal. </li><li><strong>Start a new chat flow: </strong>This will begin a new chat flow, the chat will then continue using the flow selected. Under 'outcome' you will need to choose the step the chat moves to if it fails to start this flow.</li><li><strong>Verify </strong><strong>User:</strong> This will prompt the user to answer a series of questions and the answers must match a user-level field. If all questions are answered correctly the chat will become associated with that user account. When selected a table will appear in which you can add questions and their associated field. For example, if I add the question 'what is your email' with the matching field 'email address' the user will be asked this question, need to type in their email, if the email they enter matches that in the 'email address' field against the user account the outcome will be deemed as successful. </li><li><strong>Get Users Local Storage Data: </strong>This will obtain data from the users local browser storage. Local storage keys can be mapped to ticket custom fields, to have the desired data visible within a ticket. Keep in mind this will only be able to populate ticket fields of ticket created from the chat in an earlier step. Useful when you would like to be able to track user preferences or customise the chat experience. As of v2.232.1+,this can be used to set the User's name and Email Address on a linked ticket</li><li><strong>AI Response:</strong> This uses AI functionality to return a text response to the user, it cannot carry out system actions. You will need to enter a prompt in the 'OpenAI System Message' field to give the model the context in which it is functioning. You will need to be connected to an AI model to use this functionality. </li><li><strong>Virtual </strong><strong>agent </strong><strong>Conversation:</strong> When selected you can choose a virtual agent the user can converse with. Virtual agents use AI functionality, this is covered in more detail <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2336" id="isPasted" target="_blank" rel="noopener noreferrer">here</a>.</li><li><strong>Execute a Runbook:</strong> When selected you can choose a runbook to be triggered when the chat reaches this step. This allows you to run automations at set chat steps. For more information on this functionality check out our guide <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2511" id="isPasted" target="_blank" rel="noopener noreferrer">Execute Automation runbooks from the chatbot</a>.</li><li><strong>Update Ticket Custom Fields:</strong> This will update chosen custom fields on the ticket linked to the chat with pre-determined values when the chat reaches this step. When selected, you will need to choose which field(s) to update at this step and what value they should update with. </li></ul><p><br></p><p><strong>Input:</strong></p><p>This step type will prompt the user for input of some sort to help you determine the direction the chat should move in. This input may be stored in a set field for the duration of the chat, or can be used as part of an action e.g. to complete a search. These steps can also update the fields on a ticket after it has been logged as well and set them before logging. Steps of this type will be within an orange box. </p><p><br></p><p>The Input Types are used as follows:</p><p><br></p><ul><li><strong>Fr</strong><strong>ee </strong><strong>Text:</strong> The input required is prompted using text in the 'message' field, this is typically used to complete input based searches.</li><li><strong>Selection:</strong>Allows you to ask the user a question, giving them a selection of answers to choose from. The chat will move on based on the users selection. Enter the question to ask in the 'message' field and enter the selection options in the outcome table, setting which step the selection moves the chat to. <ul><li>You can add a free text field as a selection option. Done by entering the string "free_text" into the option text for the option. This allows users to type an applicable answer before being routed to a chosen step of the flow. Saving you needing to add an additional step asking for input before directing to live chat. </li></ul></li><li><strong>User Display Name:</strong> Prompts the user to enter enter their name. The text in the 'message' field will be used to give the prompt, once the user has entered their name this will be stored for if/when the user logs a ticket. When logging a ticket this will be attempted to match on an existing user, otherwise the ticket will be logged with this name as the end user. </li><li><strong>User Email address:</strong> Prompts the user to enter enter their email. The text in the 'message' field will be used to give the prompt, once the user has entered their email this will be stored for if/when the user logs a ticket. When logging a ticket this will be attempted to match on an existing user, otherwise the ticket will be logged with this email as the end user. </li><li><strong>Summary:</strong> This will prompt the user to enter some text and stores the text under the 'summary' field. If the user logs a ticket this input will be used as the summary. </li><li><strong>Details:</strong> This will prompt the user to enter some text and stores the text within the 'details' field. If the user logs a ticket this field will be added to the ticket and the input will be visible to the agent. The details field does not need to be against the ticket type being logged. </li><li><strong>Feedback:</strong> This will prompt the user to leave feedback on the chat so far. <a data-fr-linked="true" href="https://usehalo.com/halopsa/guides/1944/" id="isPasted" target="_blank" rel="noopener noreferrer">One-click feedback</a> will be used in line with your current configuration for this. If feedback is logged at this step the user will not be asked to give feedback at the end of the chat. </li><li><strong>Upload an Attachment:</strong> This will prompt the user to upload an attachment to continue the chat flow. </li><li><strong>All Custom fields:</strong> This will prompt the user to complete a custom field. If the user logs a ticket this field will be added to the ticket and the input will be visible to the agent. The field does not need to be against the ticket type being logged.</li></ul><p><br></p><p>An "Input" step has the option to "Fetch data from browser local storage when User completes this Input step". If enabled, a table will appear to map a Local Storage Key to chat or ticket custom fields. The data is only sent when the user completes that input step.</p><p><strong><br></strong></p><p><strong>Condition:</strong></p><p>When selected you will be able to enter rule criteria for the step, and an outcome. Steps of this type will be within a white box. This criteria will be checked at this step of the chat and if met the user will be moved to a set step in the chat, if not met they will be moved to another step. In the <strong>Fig 2</strong> example the working hours will be checked, if the chat is taking place within the working hours chosen here the chat will move to the step 'Log ticket'. If the chat is not taking place within working hours it will move to the step 'OOH ticket'. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZWEzY2JjLTAxM2EtNDBkNS05NjVhLWFhNTU0NjA4ZTcxNyJ9.ZIhAcFzKZf4sXvKNsSp7uhPO5RUYLykZpPytcQK1JEU" class="fr-fic fr-fil fr-dib" width="981" style="width: 983px; height: 567.289px;" height="567"></p><p><strong><span style="font-size: 10pt;">Fig 2. Condition step type example - evaluating working hours</span></strong></p><p><br></p><p>The "Use Criteria Groups" setting allows you to create groups of criteria which act as 'or' conditions. This means only one Criteria Group needs to be met for the outcome to be applied. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRhYWRmYzQ1LTYyZGUtNGFkOS1hMzRmLWNmODlkOTc3ZmI4ZiJ9.gtNpdP4cjN8_5ccSA1bwn6C2SCv3oJCJLI-SGeSJEss" class="fr-fic fr-fil fr-dib" width="1221" style="width: 1223px; height: 497.475px;" height="497"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 3. Criteria Groups </span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">User Verification action</span></strong></p><p>The action 'User Verification' can now be chosen as an action type. This action type allows you to ask the user a series of questions in order for them to verify who they are. The chat can then move the a step depending on the outcome of the verification, e.g. successful > log a ticket, unsuccessful > end chat. </p><p><br></p><p>When setting this step up you will need to map a question to a matching field, this is the field the user's answer will be matched to. For example, in <strong>Fig 3</strong> the user will be asked 'What is your email?', the answer they give will be attempted to be matched to an existing users email address field. If the answer they give matches data in this field this will be deemed as a match. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZkYmYyNWM4LWFhNWEtNGFiMi04MzYzLTMyZDc3MTVhYTE2MCJ9.sxuLG8BhSBpINaZK9_PIlwnkQS424kCm9RI9oHASnrE" class="fr-fic fr-fil fr-dib" width="983" style="width: 985px; height: 530.26px;" height="530"></p><p><strong><span style="font-size: 10pt;">Fig 4. Verify user question example</span></strong></p><p><br></p><p>In order for the outcome of the verification to be deemed as successful a number of conditions must be met:</p><p><br></p><ul><li>At least two fields will need to be matched successfully (full name does not count towards this). </li><li>One of the fields must be email address</li><li>All questions must be answered correctly </li></ul><p><br></p><p>User verification is typically used on chatbots that are embedded into external sites as users will be accessing them anonymously. This provides you with a way of verifying a user who has not logged in before giving out any personal information. Allowing you to maintain the functionality of the chatbot (i.e. allow users to see their tickets) without compromising user data. </p><p><br></p><p><strong><span style="font-size: 12pt;">Add webpages and videos into chat </span></strong></p><p>The chat flow can be configured to return a webpage or video to the user. Useful if you have existing resources for troubleshooting that you would like to make use of in your chat flow. </p><p><br></p><p>This is done by adding an Iframe into the message that the chat posts to the user. For example, add an action or input step to your chat flow and add an Iframe to the message field containing the webpage you would like to be shown to the user at this step, shown in figure 5. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJjN2IyOTFhLTY3MDMtNGVjMC1hMTNhLWZjMDEzM2M4ZjBlNyJ9.Xzc2byiDwif_mVkHPMcPOeL_WLSMxM_QdCcp0SCOT0g" class="fr-fic fr-fil fr-dib" width="1207" style="width: 1209px; height: 557.176px;" height="557"></p><p><strong><span style="font-size: 10pt;">Fig 5. Have chat return an Iframe</span></strong></p><p><br></p><p>In the above example the chat will return a video to the user at step 2, then the user will be given some multiple choice options and the chat flow will move on based on their selection. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZjZWIyN2M3LWE1N2EtNGNjZi1iYTU5LTI2ZTMwNGNiMGNiNCJ9.8c2CuRDFRvTePlwbGIy1CRYBZvCfD7iZ0F_Itea-_oI" class="fr-fic fr-fil fr-dib" width="302" height="524"></p><p><strong><span style="font-size: 10pt;">Fig 6. Chat returning video </span></strong></p><p><br></p><p>You may find it useful to add the following formatting to your Iframe here</p><ul><li><strong>allowfullscreen </strong>-This will allow the user to open the video/webpage in fullscreen.</li><li><strong>width =""</strong> and <strong>height =""</strong> - These will allow you to set the size of the video/webpage. If this is not set the iframe may exceed the size of the chat box. </li></ul><p><strong><span style="font-size: 12pt;">Start Live Chat </span></strong></p><p>This action will begin a chat between an agent and a user. The way in which live chat behaves/can be accessed by agents is determined by the setting 'New live chat display' under Configuration > Chat. </p><p><br></p><p>For more information on the live chat functionality, how this is used and how to set this up, check out our article <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2509/" id="isPasted" target="_blank" rel="noopener noreferrer">Live Chat in Halo</a>.</p><p><br></p><p><strong><em>Note: A chat module can be enabled to assist agents in managing live chats. See the article linked above for more information on this. </em></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Example chat profile bot flow</span></strong></p><p>You will have a pre-configured chat profile available in your Halo out-of-the-box. This can be found under Configuration > Chat > Chat profiles > HaloPSA Bot > Bot flow, this provides an excellent example on how the above step types can be used in conjunction with each other to create a chat flow. We will run through a few basic starting steps:</p><p><br></p><p>The starting step of the flow is indicated by a green box. Any step can be set as the starting step by enabling 'This is the start step' against the step. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMwNDcwNzYzLTAyYWEtNDAwYy1iOTdiLTI1NjIwMTQ0NWY2YyJ9.3bsPPF9cmGLHZmp_VgMRxgSO_8IMs-hRwl8kZ0J0YvA" class="fr-fic fr-fil fr-dib" width="983" style="width: 985px; height: 517.196px;" height="517"></p><p><strong><span style="font-size: 10pt;">Fig 7. HaloPSA bot flow example</span></strong></p><p><br></p><p>In the HaloPSA bot example our starting step is a condition. This means when the chat is started an evaluation will run to see if the criteria is met. In this condition we are checking if the user is authenticated, in order for a user to be authenticated their name/email must match an existing end user. If the condition is met the chat will move to step 'Menu Input', if not met it will move to 'Name Input'. </p><p><br></p><p>The Name input path has an input step type and prompts the user to enter their name. This information will be stored in the 'username' field for the duration of the chat. Then an action step sends a message into the chat, another input step prompts the user to enter their email, this will be stored in the 'email address' field. Both fields will be used in the event the user needs to log a ticket. </p><p><br></p><p>The 'Menu Input' step provides the user with a multiple choice selection, the path the chat follows will depend on the option the user selects. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjcyZWJhNTVkLTRlYTAtNGMzYy1hMjU1LTg5MWRjYjUxZTk1NCJ9.4jLdQU4Fykanjueqg59BYi4hKqTuv4ZGPrNpEFa2nwM" class="fr-fic fr-fil fr-dib" width="998" style="width: 1000px; height: 522.388px;" height="522"></p><p><strong><span style="font-size: 10pt;">Fig 8. Input step type with selection</span></strong></p><p><br></p><p>If the user selects 'I have a question' they will be asked for a free text input, this input will then be used to complete a search of the knowledge base. If a relevant KB article is found a link to this article will be posted into the chat. </p><p><br></p><p>If the users selects 'I'd like to report an issue' they will be prompted to enter some details (these will be stored in the 'details' field). Once entered the chat will send a message before logging a ticket, the incident ticket type will be logged. In this example the user is not prompted to enter any more fields so even though the incident ticket type has more mandatory fields only the details field will be populated when the ticket is logged. If you would like to ensure the user fills out all fields either enable 'Send a link to a form awaiting completion' against the step or use that action type 'walk through logging a ticket'. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRjOTdiMDU1LTE5MWUtNDYxNS05NWNkLWNhMDk4NTM4Nzg0MyJ9.aU9RYalAz2OQauhwvvz-7FjFq-d-ALnEpD0AtyPp_6Y" class="fr-fic fr-fil fr-dib" width="996" style="width: 998px; height: 519.934px;" height="520"></p><p><br></p><p><br></p><p><strong><span style="font-size: 10pt;">Fig 9. Action step type to log a ticket </span></strong></p><p><br></p><p>If the user selects 'I'd like to speak to someone' a condition will run to see if an agent is available for live chat a live chat will be started with an agent. At this point the flow will end as the agent will manage the chat. If an agent is not available for a chat the user will be prompted to advise if they would like a call back, if so to enter their phone number. A ticket will then be logged with the phone number the customer has provided. </p><p><br></p><p><strong><span style="font-size: 14pt;">Customising the Chat Bot Profile</span></strong></p><p>Under the 'details' tab of the chat profile are various settings that allow you to customise how this chat profile appears/functions. </p><p><br></p><p><strong><span style="font-size: 12pt;">Access</span></strong></p><p><strong>Access </strong>- Determines where the chat profile can be used. For example, if agent app is chosen, you will not be able to set this chat profile to appear on the portal. </p><p><strong>Working Hours </strong>- (Only applicable when this profile can appear on the portal) This determines when this chat profile can be used. For example if working hours are selected, this profile will not be able to be used outside of these working hours. This allows you prevent a chat profile being used outside of specific hours, useful if you would only like chat to be raised while agents are online. </p><p><br></p><p><strong><span style="font-size: 12pt;">Appearance</span></strong></p><p>Under the 'Chat Customisation' section of the Details tab, you can set how this chat profile looks. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFmNTAzZWQyLTI0YjYtNDMxNC05OGI0LWQyMzMzMzI2NjUyMiJ9.m9d0xP1Xgos1Y9Ls76F4YPFpJfT0Lelpvk3Bav7kl9s" class="fr-fic fr-fil fr-dib" width="987" style="width: 989px; height: 526.102px;" height="526"></p><p><strong><span style="font-size: 10pt;">Fig 10. Chat appearance customisation options</span></strong></p><p> </p><p>The bubble pop-up message can be customised so that the message differs depending on the URL the customer is accessing the chat through. This is useful when you have multiple portals set up, or the chat is embedded onto other websites as this allows the message to be customised to the site the customer is on. To do this enable 'Use URL mappings to show different bubble popup messages depending on current browser URL' then map a URL to the desired message in the table below.</p><p><br></p><p>To set the icon that is used for the chat bot add the URL of a hosted image into the 'Icon URL' field. You can also set the size of the icon using the 'icon size' field, this will set the size for all chatbots across both the agent app and portal. </p><p><br></p><p>You will also be able to have the chat bubble take the shape of this image using the setting 'Use icon image shape as chat bubble'. </p><p><br></p><p>To add an image into the header of the chat enable the setting 'Use a custom image for the chat header' and enter the URL of the hosted image you would like to appear in the header of this chat profile. This image will appear alongside the chat profile name but you can have the image replace the chat profile name using the setting 'Hide bot Name in the chat header', useful if you would like a company logo to appear here or you have an existing graphic for the chat name. </p><p><br></p><p><strong><em>Note: Settings to have the chat bubble take the shape of a custom image, and add an image to a chat profile header will only apply to chat profiles used on the self-service portal or embedded externally.</em></strong></p><p><br></p><p>User Chat banners can be added to each chat profile. These are banners of text that appear under the name of the chat profile, as seen in figure 11. </p><p><br></p><p><strong><em>Note: Banners can only be configured for chat profiles used on the Self-Service Portal and external websites.</em></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjExYmM0OGI1LTc3ZGUtNDBjZC1iOGJkLTFmNTUwNTJkMDg3MSJ9.gogo5urDZvzrJ6Bf2tNeeG3EfeWyB0gCJYoKv52zHGE" class="fr-fic fr-fil fr-dib" width="375" height="339"></p><p><strong><span style="font-size: 10pt;">Fig 11. Chat profile banner</span></strong></p><p><br></p><p>Multiple banners can be created against a chat profile, each configured to display at a different date/time. Precedence can also be applied to banners, the banner with the highest precedence (lowest number) will show on the chat, unless the chat is opened outside the start/end time of the banner, then the banner with the next precedence will be used. This allows you to configure banners to change automatically at a set date/time in the future, useful to alert users to scheduled maintenance. In the figure 12 example the banner with precedence 2 will show until the 31/01/25, at which point the banner with precedence 1 will take affect (as the start date of this banner will have begun). After the end date of banner 1 (03/02/25) banner 2 will resume showing.<img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImU2N2U1NGIyLTJjODMtNDkxZC1hZTMxLWJlZTEyNWZmYzI5MyJ9.PTb5FS8dxkfuU4wSniihkCQtjVbp1XVk1n21iyk-VVs" class="fr-fic fr-fil fr-dib" width="1217" style="width: 1219px; height: 382.487px;" height="382"></p><p><strong><span style="font-size: 10pt;">Fig 12. Chat banner example</span></strong></p><p><br></p><p>You will see there is also a field below this table that shows which banner message is currently being displayed against this chat profile. </p><p><br></p><p><strong><span style="font-size: 12pt;">Ticket Creation</span></strong></p><p>Under the 'ticket settings' section of the details tab you can set when/how tickets are logged from the chat. </p><p><strong>Ticket Creation </strong>- This setting determines when tickets are logged, whether they are only logged when configured in the flow, or automatically logged at the end of the chat. If set to log automatically at the end of the chat you will be able to choose the ticket type that is logged, this will be logged with all the information the user has provided within the chat. </p><p data-pasted="true"><strong>Auto-assign Ticket to live chat Agent (v2.234+) </strong>- When automatic ticket logging is set above, this setting will assign the ticket to the live chat Agent. If multiple Agents were involved in the chat, they will be added as additional Agents on the Ticket.</p><p><strong>Default Customer/Site of Ticket for unmatched Users</strong> - This determines which customer and site the ticket is logged under if the user of the chat cannot be matched to an existing user. </p><p><br></p><p><strong><span style="font-size: 12pt;">Feedback</span></strong></p><p>Under the 'Feedback' section of the details tab you can set feedback to be requested at the end of the chat. </p><p>To enable the use of feedback, enable 'Request one-click feedback when a chat is ended', this will cause the user to be prompted to leave one-click feedback when the chat ends. YOu can also set the message that appears when requesting this feedback in the 'Message before feedback' field. If you would like users to leave comments following feedback enable 'Request additional comments after one-click feedback'.</p><p><br></p><p><strong><span style="font-size: 14pt;">Setting which Chat Profile is used </span></strong></p><p>Agent app chat profiles will appear for all agents that have access to them. Allowing agents to have multiple chat profiles available. </p><p><br></p><p>Only one chat profile can appear on the portal, therefore the profile that appears can be set in a few places, allowing the chat profile to change based on the portal organisation or customer. The global default chat is set under Configuration > Chat, see <strong>Fig 7</strong>. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNlZjc0YjdjLTA5MDktNGFiNC1iNDczLTE2NjRlZjAzZDhlNSJ9.NHQ_sCnEIy814e4f1l4kTvT4wpXAhPG63_BzRxWo7AY" class="fr-fic fr-fil fr-dib" width="693" style="width: 695px; height: 392.602px;" height="393"></p><p><strong><span style="font-size: 10pt;">Fig 13. Chat profile that will appear on the portal (global setting)</span></strong></p><p><br></p><p>This can be overridden at organisation, customer and user role level too, for information on each level this can be overridden at checkout <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2618/" id="isPasted" target="_blank" rel="noopener noreferrer">Chat Profile (for Self-Service Portal) Overrides</a>. </p><p><br></p><p><strong><span style="font-size: 14pt;">Determine the Start step of the chat</span></strong></p><p>The start step of the chat can be changed dynamically based on the URL the chat started from. Useful if you would like the chat to start from a different step based on the area of the portal it is started in, such as based on the article in the portal the user is currently viewing. </p><p><br></p><p>To do this enable 'Use URL mappings to start the bot flow at different steps depending on the current browser URL'. When this setting is enabled a URL mappings table will become active. When adding mappings you will have to give a partial URL that when matched to will changed the start step of the bot flow for this user. If unmatched, the default bot flow start step will be used. The users browser URL only needs to be a partial match to the URL value specified in the URL to Bot Flow mappings table.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJkNzYyYTJlLTZlZGUtNDZlNS1iNjY3LWE4YmZmMDA4MzgyMiJ9.H79FiAXKNl9MhDV0uzg2ZNEqW8eggmC04HluAGVKHjY" class="fr-fic fr-fil fr-dib" width="1209" style="width: 1211px; height: 236.688px;" height="237"></p><p><strong><span style="font-size: 10pt;">Fig 14. Use URL mappings to start the bot flow at different steps depending on the current browser URL</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Chat bot Variables</span></strong></p><p><strong><span style="font-size: 12pt;">$-WAITTIME</span></strong></p><p id="isPasted">This variable can be used in tickets, for example in an acknowledgement email and in the chat as part of a "Send a message" action. This variable will show an estimated wait time for a response/for an Agent to join a Chat based on the historical average for a set period. This can be used before or as a live chat is started to give the user an idea of how long they can expect to wait for an agent to be available for live chat. </p><p><br></p><p>For more information on this variable, how it can be used and calculated, see <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2509/" target="_blank" rel="noopener noreferrer">Live Chat in Halo</a>. </p><p><br></p><p><strong><span style="font-size: 12pt;">$- CHATTRANSCRIPT</span></strong></p><p><span style="font-size: 11pt;">This variable is used to populate a ticket with the transcript of a chat when a ticket has been logged.</span></p><p><br></p><p>If a ticket is logged from a chat and the chat has ended successfully (reached the end of the flow) the chat transcript will automatically show against the ticket. However, if a ticket has been logged and the chat is still ongoing the chat transcript will not show against the ticket yet. Therefore, the variable $-CHATTRANSCRIPT can be used to populate a field in the ticket that has been logged from the chat with the chat transcript. This will only show the transcript up to the point the ticket is logged, if the chat continues following the ticket being logged the transcript against the ticket will not be updated. This allows agents to start working on a ticket (with the chat context) before the chat has ended. </p><p><br></p><p>If you are looking to use this variable you will need to add a field to the ticket that the chatbot logs and set this variable as the default value for this field (ideally making the field unable to be edited). </p><p data-pasted="true"><br></p><p>You can use this variable on a ticket any time there is a chat with a linked user.</p><p><br></p><p><strong><span style="font-size: 14pt;">The Chat Area</span></strong></p><p>You can enable the Chat area. This is a module where agents can see active and historical chats, allowing them to manage chats more effectively. The chat area can be used to:</p><p><br></p><ul><li>Allow agents to join, respond to and manage all their chats within a single module/area of Halo.</li><li>Allow agents to log and partake in chats with other agents, or with AI virtual agents.</li><li>See team members' chats.</li></ul><p>For more information on the chat area see <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2509/" target="_blank" rel="noopener noreferrer">Live Chat in Halo</a>. </p><p><br></p><p><strong><span style="font-size: 14pt;">Virtual Agents</span></strong></p><p>Virtual agents use AI technology to process requests from users and agents. They can be plugged into a chat profile to increase the functionality of a chat profile. For more information on virtual agents, how to set them up and what they can be used for, see our guide <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2336/" id="isPasted" target="_blank" rel="noopener noreferrer">here</a>. </p><p><br></p><p><strong><span style="font-size: 14pt;">Chat Auditing</span></strong></p><p>The auditing area provides an overview of the chat completed, as shown below. This includes a transcript of all the messages within the chat. If you are viewing the audit for an ongoing chat, the window will automatically refresh every 10 seconds to show the latest chat updates. From this version you will also find the manual refresh button. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNlZWM5MGJmLTBjNjEtNDQ2My05MmUxLWI5NDc1MDdhOGU3ZSJ9.D_legCSv8Q0BVcMB_KavF1zaePFoUHBuFRnvo6v2CTA" class="fr-fic fr-fil fr-dib" width="1215" style="width: 1217px; height: 596.454px;" height="596"></p><p><strong><span style="font-size: 10pt;">Fig 15. Chat audit area</span></strong></p><p><br></p><p>Agents will need to have the permission 'Chat Audit Level' in order to be able to access chat audits. This is set under the permissions of their agent account.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjllZDM4NDk5LTBkZjQtNGUyOC1iYWE2LWQ2Y2EwMTg2NmI1MCJ9.ZQkJ4FdMFJn-hxxOnIl3EY1YhFXdpOO2oT2BoD46NfE" class="fr-fic fr-fil fr-dib" width="590" style="width: 592px; height: 555.641px;" height="556"></p><p><strong>Fig 16. Chat audit permission</strong></p><p><br></p><p><strong>No Access</strong> - Agent will not be able to access chat audits.</p><p><strong>Read only</strong> - Agent will be able to read the audit but not edit any messages in the transcript.</p><p><strong>Read and Modify messages</strong> - Agent will be able to modify the chat messages when viewing in the audit area. </p><p><br></p><p>Chat audits can be viewed by right-clicking on a chat entry either from the chat area, from the chat tab against the ticket or from the recent chat history of the chat Profile.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNmYjYxMTk5LTJiMGYtNDI1My05N2NjLTA5OTRiZTMxOThkNSJ9.dpmdq-9d-9DsVivuwamvVkovOeTvFaHX3RBlfv_AGFE" class="fr-fic fr-fil fr-dib" width="1223" style="width: 1225px; height: 535.938px;" height="536"><strong><span style="font-size: 10pt;">Fig 17. View chat details from the chat area</span></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImYxNTNlMzlkLTViOTMtNDdmZC1iNDk0LWI0NDMzNTk1ZDI5NSJ9.bUiCojpq4QFCUNpQhxOdZrIw6d2oWtbDxz9-tLQiZJs" class="fr-fic fr-fil fr-dib" width="1068" height="405"></p><p><strong><span style="font-size: 10pt;">Fig 18. View chat details from the ticket</span></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgzZGZmZTAzLWEwMTgtNGZlNS1iNWZlLTZmZDlhZTJiODYzZCJ9.d39OTzf3tOFzc1iQg7TUwixwF5ReK2GIXxI7jmUMhPM" class="fr-fic fr-fil fr-dib" width="1210" style="width: 1212px; height: 312.323px;" height="312"></p><p><strong><span style="font-size: 10pt;">Fig 19. View chat details from the chat history</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Delete Attachments from the Chat </span></strong></p><p>Attachments can be deleted from the chat history using the chat audit. </p><p><br></p><p>To delete an attachment, head to the "Attachments" tab, right click on the attachment to delete. When deleted the chat message which added the attachment will be redacted and the attachment removed. </p><p><br></p><p><strong><span style="font-size: 12pt;">Modify the Chat Transcript</span></strong></p><p>When viewing an audit for a you can see the whole transcript for the chat. Agents with read and modify permissions will be able to edit the transcript, useful for removing sensitive data. </p><p><br></p><p>Once the transcript is edited, if an action/field is populated with this transcript the updated transcript will be used, rather than the original. This is useful when the variable $-CHATTRANSCRIPT is used to pull the transcript into fields. When agents re-visit the chat from the chat area/ticket the transcript will be updated in line with the edits too. </p><p><br></p><p><strong><em>Note: If the original transcript has already populated a field, this will not be updated after the transcript is changed. Only future uses of the variable will contain the modified transcript.</em></strong></p><p><br></p><p>To edit the transcript select the pencil icon when hovering over a chat message in the audit area. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhkZDg2NTc0LWU0MWItNGY1My1iMWQxLWJlYzQ0OTZhNjg4MyJ9.2l89Jdnmpdd_w7KhropVYpg6l971H1iU3NEGqPWg7MI" class="fr-fic fr-fil fr-dib" width="1210" style="width: 1212px; height: 514.636px;" height="515"></p><p><strong><span style="font-size: 10pt;">Fig 20. Edit chat message</span></strong></p><p><br></p><p>Then adjust the message as needed.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVhNWRhOGY1LTIyM2ItNDJkOS04MzJkLTdkMDVkMGZjZGZjNyJ9.z4_PozlGABgEQdwZGKOzE1Z8NHEilHpVt-zduKw11MM" class="fr-fic fr-fil fr-dib" width="642" height="337"></p><p><strong><span style="font-size: 10pt;">Fig 21. Edited message</span></strong></p><p><br></p><p>Once saved, the transcript will be updated. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI0ZDNiMzhkLTY4YWYtNGE4OC04NGIzLTFmNWM4MzMwMTU5YSJ9.ymcsEYglLroV7z0cQ6i7CvmHulD2ey51HqZiVf4TMag" class="fr-fic fr-fil fr-dib" width="1196" style="width: 1198px; height: 757.765px;" height="758"></p><p><strong><span style="font-size: 10pt;">Fig 22. Updated transcript</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Change chat transcript style </span></strong></p><p>By default the chat transcript will show in the style shown in figure 23. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQyZmIyMDEyLTZiZTUtNGI4Mi05OWQxLWEwMGZhMDM0MmFmNSJ9.O80VM0gXwlX9u_a-YFXB8GA8kggTiMEErHOb4Y7TOUE" class="fr-fic fr-fil fr-dib" width="1233" style="width: 1235px; height: 797.253px;" height="797"></p><p><strong><span style="font-size: 10pt;">Fig 23. Default transcript style</span></strong></p><p><br></p><p>If you would like to use the new transcript style, as shown in figure 24. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNhNWUxNjJlLTA0ZjUtNDg1Yi1iZTFiLTVmMWE4ODgyZTVmNyJ9.UiWXar1GMR4Ftf5VwZ-gACOW8OOD1adkBH2h22dX1mw" class="fr-fic fr-fil fr-dib" width="1035" style="width: 1037px; height: 779.098px;" height="779"></p><p><strong><span style="font-size: 10pt;">Fig 24. New transcript style</span></strong></p><p><br></p><p>Enable 'Use new Chat Transcript Style' under configuration > Chat. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE3M2UxOGE3LTNkZDEtNDMwZC04ZTJjLWI3OWY5ZDc0ZTExYiJ9.9Xgr1wyrKNmeo3Li-erblbNmiR3WPV2xyamL4dwOmaE" class="fr-fic fr-fil fr-dib" width="1080" style="width: 1082px; height: 776.335px;" height="776"></p><p><strong><span style="font-size: 10pt;">Fig 25. Setting to enable new transcript style</span></strong></p>