<style> .chartjs-size-monitor { display: none !important; height: 0 !important; overflow: hidden !important; }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>
.chartjs-size-monitor {
display: none !important; height: 0 !important; overflow: hidden !important;
}
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 guide we will cover:</strong></p><p><strong>- What is the AI 1st Line Support Agent?</strong></p><p><strong>- 1st Line Support Agent in Action</strong></p><p><strong>- Create Runbook to Allow the Agent to send Emails</strong></p><p><strong>- Create Custom Field to Control when the Agent is Triggered</strong></p><p><strong>- Creating an API Application (Versions prior to v2.250 only)</strong></p><p><strong>- Creating the Process Agent</strong></p><p><strong>- Creating the Runbook</strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is the AI 1st Line Support Agent?</span></strong></p><p>The Halo AI 1st Line Support Agent analyses incoming tickets in real time, cross-referencing your historical ticket data and knowledge base to identify accurate, context-aware troubleshooting and resolution steps. The Agent then delivers these steps to users as a polished, professional response, automatically. Resulting in a touch-free resolution experience, where routine enquiries are handled quickly and consistently. This frees up your team to handle more complex enquiries that require human expertise. Driving greater efficiency, faster resolution times, and a leaner, smarter service desk. </p><p><br></p><p>The 1st Line Support Agent will be built into instances of Halo used by ITSM teams, that were deployed after September 2026. If this is already built into your instance no setup is required, you can refer to this guide to see how the agent should function out of the box (OOTB) and how it can be customised. If this Agent is not already built into your instance, this guide will walk you through how to build this into your instance. </p><p><br></p><p><strong>Pre-requisites:</strong></p><ul><li>A <a href="https://www.usehalo.com/guides/2385" target="_blank" rel="noopener noreferrer">default AI connection</a> must be set for your instance</li><li>Ticket <a href="https://www.usehalo.com/guides/2673" target="_blank" rel="noopener noreferrer">embeddings </a>must be enabled<ul><li>Your chosen vector search database must contain some embeddings (vector scores) - in other words you need to have indexed your historical tickets</li></ul></li><li><a href="https://www.usehalo.com/guides/2673" target="_blank" rel="noopener noreferrer">Article embeddings</a> must be enabled<ul><li data-pasted="true">Your chosen vector search database must contain some embeddings (vector scores) - in other words you need to have indexed your articles</li></ul></li></ul><p><strong><em>Note: To get the most out of the 1st Line Support agent we recommend having a strong store of embeddings in your vector search database, both for tickets and for articles. </em></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">1st Line Support Agent in Action (out of the box)</span></strong></p><p>Once a new incident ticket has been logged agents can complete the initial actioning of the ticket, this can include triaging the ticket, closing the ticket, or reaching out to the user for clarifying information. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJiOGViYjk5LTIyOGEtNDc5OS1hM2JiLThhZDk4OWYxOTA3YSJ9.ybpbrf7tnsrs5A9U_adZfl9R5YHru5lxFlFh5T3EXVE" class="fr-fic fr-fil fr-dib" width="1497" style="width: 1499px; height: 721.348px;" height="721"><strong><span style="font-size: 10pt;">Fig 1. Enabling 1st Line Support agent for ticket</span></strong></p><p><br></p><p>When actioning a new incident the agent will need to set whether the ticket is appropriate for the AI 1st Line support agent to handle using the "AI Auto Resolution" field. </p><p><br></p><p>Then they can respond to obtain any clarifying information about the issue. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjM1MzVlNjhmLWFiMTctNGMxZC05ZTI0LWRhYTFkNDBiYWNlMiJ9.jCqKKY-Do7u4dk8IiYpAtA9zed59iSNtGwtyGA1k-mo" class="fr-fic fr-fil fr-dib" width="1499" style="width: 1501px; height: 596.965px;" height="597"></p><p><strong><span style="font-size: 10pt;">Fig 2. Agent Responding to User</span></strong></p><p><br></p><p><strong><em>Note: The Agent has been set OOTB to not run automatically on tickets until an actual agent has reviewed the ticket and deemed it appropriate for the Agent. But this can be customised should you like the agent to complete all first responses automatically. </em></strong></p><p><br></p><p>Once the user responds (the ticket is updated with a user update) the 1st Line Support Agent will run, generating resolution steps and sending these out to the user automatically. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijk4ZjdkN2U1LTM1ODktNGEzOS1hODNkLWZmNjQ2ZjNiNGEyYSJ9.8Z0DGElPuCfxbiriQZVT6gQLcF9WUTIDi4CwDg7kSBY" class="fr-fic fr-fil fr-dib" width="1544" style="width: 1546px; height: 846.988px;" height="847"></p><p><strong><span style="font-size: 10pt;">Fig 3. Email sent to end user</span></strong></p><p><br></p><p><strong><em>Note: If no tickets or articles can be found that relate to this ticket the Agent will add an audit note to the ticket to state this and will not automatically email the user. </em></strong></p><p><br></p><p>The agent will also leave a note on the ticket to summarise what it has done (for auditing purposes), and set's the ticket's status back to "with User" so the ticket is on SLA hold. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRmNzkwMTI3LWNjZDctNDNhMC04ZDM0LWVkY2Y4YzUxNjEzNiJ9.Lf2MfSE6OwumNwj4l8Q5qv83020MqWBS8fdEtqyJ8vs" class="fr-fic fr-fil fr-dib" width="1573" style="width: 1575px; height: 862.876px;" height="863"></p><p><strong><span style="font-size: 10pt;">Fig 4. Auding note and ticket Status</span></strong></p><p><br></p><p>Any further updates from the user will be automatically responded to by the 1st Line support agent.</p><p><br></p><p><strong><span style="font-size: 14pt;">Breakdown of the Process</span></strong></p><ul><li>The 1st Line Support agent is triggered each time the user updates the ticket, provided the ticket has "AI Auto Resolution" enabled.</li><li>The AI Agent is provided with the whole ticket conversation so far.</li><li>The Agent searches through similar historical tickets and knowledge base articles to construct a suggested resolution. </li><li>The Agent constructs an email with resolution steps and sends this to the user.</li><li>The Agent adds an auditing note to the ticket outlining what it has done.</li><li>The ticket is placed on SLA hold "with User" until the user responds again. </li></ul><p><br></p><p><strong><span style="font-size: 14pt;">Create Runbook to Allow the Agent to send Emails</span></strong></p><p>In order for the Agent to email users you will need to create a runbook in your instance. This runbook can be downloaded from our online repository, it is called "Halo AI - Triggered Automation: Send Email to User". Alternatively, the JSON required for this runbook can be found attached to this guide "Halo AI - Triggered Automation Send Email to User" (if you are viewing this guide on our website you will need to obtain the attachment from our portal <a href="https://support.haloservicedesk.com/portal/kb?id=3004" target="_blank" rel="noopener noreferrer">here</a>).</p><p><br></p><p>Once created the flow for the runbook should look as shown in Figure 5. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMxZWE4NDNmLWE3MjgtNDFiMi05OWZhLTg1Y2ZiYjJmNTEzZiJ9.tmLeuqGyGf9IA_CU9qsYLobnpdWbw8EIsScTi0fyhjg" class="fr-fic fr-fil fr-dib" width="610" style="width: 612px; height: 396.161px;" height="396"></p><p><strong><span style="font-size: 10pt;">Fig 5. Runbook to email user</span></strong></p><p><br></p><p>Once you have the JSON head to Configuration > Integrations > Custom Integrations > Integration Runbooks > Import from JSON > Paste the JSON into the box provided. </p><p><br></p><p><strong><span style="font-size: 14pt;">Create Custom Field to Control when the Agent is Triggered</span></strong></p><p>In order for the agent to be triggered the ticket must have the field "CFAIAutoResolution" enabled on the ticket, this gives you granular control over which tickets have the agent run. Therefore, this field will need to be created and added onto the field list of the tickets you wish to use it on. </p><p><br></p><p><strong><em>Note: This is optional if you would not like the the Agent running to be based on a custom field.</em></strong></p><p><br></p><p>Head to Configuration > Custom Fields > New, give the field the following configuration:</p><ul><li>Field Name: AIAutoResolution</li><li>Field Label: AI Auto Resolution</li><li data-pasted="true">Type of Field: Single Selection</li><li>Values: Yes, No</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZlNmJhZjE2LTJmZTMtNDA1ZC1hMzQ4LTczOTNjM2YxMGMxYyJ9.BmJitOjN_DA3Vn5cyDFuQnnw1sV7niFUhiRjnTPMUnk" class="fr-fic fr-fil fr-dib" width="1140" style="width: 1142px; height: 589.419px;" height="589"></p><p><strong><span style="font-size: 10pt;">Fig 6. CFAIAutoResolution</span></strong></p><p><br></p><p>Once created, ensure you add it to the field list of the ticket types you would like the 1st Line Support Agent to run on. </p><p><br></p><p><strong><span style="font-size: 14pt;">Creating an API Application (Versions prior to v2.250 only)</span></strong></p><p>If you are on a versions prior to v2.250 you will need to create an API application, this will be given to your process agent to authorise it access you execute requests in your Halo instance. On v2.250+ you can skip this section and head to "Creating the Process Agent" as an application will be created for you automatically when the agent is created. </p><p><br></p><p>To create an API application head to Configuration > Integrations > Halo API, and click on the "View Applications" button. </p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;" data-pasted="true">Head to Configuration > Integrations > Halo API, and click on the "View Applications" button. <br style="box-sizing: inherit; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZhMDYxNDNiLWRkMzUtNDY0MS1hYmM5LWIwMGI2YWM1OTg3ZCJ9.UzuDz5ZG7OAsIQ38JJt5GCqmwq_x7rdIcMYQFW4vMrs" class="fr-fic fr-fil fr-dib" width="987" style="width: 989px; height: 215.782px;" height="216"></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><strong><span style="font-size: 10pt;">Fig 7. View Applications</span></strong></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em;"><br></p><p data-pasted="true">Click "+ New" to create a new API Application. </p><p><br></p><p>Give this application a sensible name and set the Authentication Method to "Halo Automation Identity". </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjljOWFlYjIyLTEyYTktNDBiYS1hOTkxLTE0NDU3Y2FkNmMyMiJ9.CsuhSd_vf-Anb7voi4SHyUu1YAPfin9Mb1MO0H10804" class="fr-fic fr-fil fr-dib" width="997" style="width: 999px; height: 555px;" height="555"></p><p><strong><span style="font-size: 10pt;">Fig 8. Create API application using Halo Automation identity</span></strong></p><p><br></p><p data-pasted="true">Once selected, you will need to specify an identity for the application. This informs the base level of access granted to the application. The option "Application identity" is recommended here, as you can use roles to control the base level of permission rather than having to pick a specific Agent. When this option is selected the "Identity Roles" field can be used to determine which roles to use as the base level permissions.</p><p><br></p><p>Now under the permissions tab assign the application the following permissions:</p><ul><li data-pasted="true">read:tickets</li><li data-pasted="true">edit:tickets</li><li data-pasted="true">read:kb</li></ul><p><strong><span style="font-size: 14pt;">Creating the Process Agent</span></strong></p><p>The process agent can either be created manually, or if you are on v2.250+ you will have the option to download the "Halo AI -1st Line Support" runbook from the online repository. When downloading this from the repository the agent will be created for you automatically, in which case you can skip this step and start using your Agent right away.</p><p><br></p><p>To create a Process agent, head to Configuration > AI > AI Agents > Process Agents > New. Give the Agent a name and choose the AI connection method to use. </p><p><br></p><p>Then in the "Halo Application to authorise as" field select the application created earlier, or if you are on v2.250+, you have the option to create an application identity to authorise the agent with here. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ1NDhlNjEwLWE2ZjItNGRkOS04OGFiLTNkOGZhYjQ1Yjc3NSJ9.xZWO6fhfZI2126x0DYIXf8sjBAFLPFH3XWeKsnvCRr8" class="fr-fic fr-fil fr-dib" width="1201" style="width: 1203px; height: 625.398px;" height="625"></p><p><strong><span style="font-size: 10pt;">Fig 9. Create the Process Agent</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Instructions</span></strong></p><p>In the "Instructions" field you need to enter the instructions given the to Agent. The instructions required can be found in the "1st Line Support Agent - Process Agent Instructions" file attached to this guide (if you are viewing this guide on our portal you will need to obtain the attachment from our portal <a href="https://support.haloservicedesk.com/portal/kb?id=3004" target="_blank" rel="noopener noreferrer">here</a>). </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEyODdhNjFlLTk5MjgtNGViMy1hNjBkLWFmNTYzZTUxYzc4MCJ9.miJrH8CrJjI8KIeYaC8WHuvxHuUEOP60eO6KOtzX4sY" class="fr-fic fr-fil fr-dib" width="1480" style="width: 1482px; height: 722.526px;" height="723"></p><p><strong><span style="font-size: 10pt;">Fig 10. Instructions for Agent</span></strong></p><p><br></p><p>"Force JSON response" does not need to be enabled. </p><p><br></p><p><strong><span style="font-size: 12pt;">Add Input Variables</span></strong></p><p>Now you will need to the variables shown in Figure 11 to the agent. </p><p><br></p><table class="styled-table grid" style="width: 51%; text-align: left; height: 161px;"><colgroup><col style="width: 10.3198%;"></colgroup> <colgroup><col style="width: 7.2068%;"></colgroup> <colgroup><col style="width: 8.3156%;"></colgroup> <colgroup><col style="width: 20.1578%;"></colgroup><tbody><tr style="height: 30px;"><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Name</span></strong></td><td style="text-align: left; background-color: rgb(0, 204, 248);"><div style="text-align: center;"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Data Type</span></strong></div></td><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong data-pasted="true"><span style="color: rgb(255, 255, 255); font-size: 12pt;">Mandatory</span></strong></td><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Description</span></strong></td></tr><tr style="height: 37px;"><td><strong data-pasted="true">TicketID </strong></td><td> Number</td><td style="text-align: left;"><p data-pasted="true"> No</p></td><td style="text-align: left;">This parameter should be set to the ticket ID</td></tr><tr style="height: 31px;"><td id="name"><strong data-pasted="true">TicketSymptom</strong></td><td> String</td><td style="text-align: left;"><p data-pasted="true"> No</p></td><td style="text-align: left;">This parameter should be set to the ticket subject.</td></tr><tr style="height: 31px;"><td id="note"><strong data-pasted="true">ConversationThread</strong></td><td> String</td><td style="text-align: left;"><p data-pasted="true"> No</p></td><td style="text-align: left;">This should be set to the details of the incoming ticket.</td></tr><tr style="height: 31px;"><td><strong data-pasted="true">UserInformation</strong></td><td> String</td><td style="text-align: left;"><p data-pasted="true"> No</p></td><td style="text-align: left;">This parameter should be set the conversation thread of the ticket thus far.</td></tr></tbody></table><p><strong><span style="font-size: 10pt;">Fig 11. Input Variables to add to the Agent </span></strong></p><p><br></p><p>These variables allow data to dynamically be used in the prompt for the agent based on the ticket the agent is being used on. </p><p><br></p><p><strong><span style="font-size: 12pt;">Add Functions </span></strong></p><p>No you will need to disable "Include all system functions" and add the functions to the variables shown in Figure 12. </p><p><br></p><table class="styled-table grid" style="width: 63%; height: 398px;"><colgroup><col style="width: 25.0631%;"></colgroup> <colgroup><col style="width: 24.5541%;"></colgroup> <colgroup><col style="width: 50.3828%;"></colgroup><tbody><tr style="height: 48px;"><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Name</span></strong></td><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong data-pasted="true"><span style="color: rgb(255, 255, 255); font-size: 12pt;">Use</span></strong></td><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Description</span></strong></td></tr><tr style="height: 35px;"><td>Get_Matching_Tickets_and_KBs</td><td style="text-align: left;"><p data-pasted="true"> Get matching Articles and Tickets for a Ticket</p></td><td style="text-align: left;">Use this function to get the semantically matched tickets and knowledge base articles for the ticket record.</td></tr><tr style="height: 43px;"><td id="name"><p data-pasted="true"><br></p><p>Get_One_Article</p></td><td style="text-align: left;"><p>Get One Article</p></td><td style="text-align: left;">Use this function to get the semantically matched tickets and knowledge base articles for the ticket record.</td></tr><tr style="height: 62px;"><td id="note"><p data-pasted="true"><br></p><p>Search_Knowledge_Base</p></td><td style="text-align: left;"><p data-pasted="true">Search Knowledge Base</p></td><td style="text-align: left;">Use this function to get detailed ticket information for one ticket.</td></tr><tr style="height: 48px;"><td><p data-pasted="true"><br></p><p>Get_One_Ticket</p></td><td style="text-align: left;"><p data-pasted="true"> Get One Ticket</p></td><td style="text-align: left;">Use this function to send an email back to the user. Ensure that the relevant documentation has been searched and format the response as a technician an ITSM Service Desk.</td></tr><tr style="height: 83px;"><td><p>Send_Public_Email</p></td><td style="text-align: left;"><p data-pasted="true"> Execute a Runbook</p><p>Runbook : Halo AI - Triggered Automation: Send Email to User</p><p>Runbook execution mode: Execute and await completion</p></td><td style="text-align: left;">Use this function to send an email back to the user. Ensure that the relevant documentation has been searched and format the response as a technician an ITSM Service Desk.</td></tr><tr style="height: 30px;"><td><p>Add_A_Note_To_Ticket</p></td><td style="text-align: left;"><p>Add Note to Ticket</p></td><td style="text-align: left;">Use this function to add a note to the ticket. </td></tr><tr style="height: 48px;"><td>Resolve_Ticket</td><td style="text-align: left;">Use a Specific Action<br>Action: Resolved (Resolve Ticket)</td><td style="text-align: left;">Use this function to close the ticket when you determine the user's issue is resolved. This could be when they confirm they no longer need help or the fix provided has worked. </td></tr></tbody></table><p><strong><span style="font-size: 10pt;">Fig 12. Functions to assign to the Agent </span></strong></p><p><br></p><p><strong><em>Note: CF_ will be prepended to these functions names after saving.</em></strong></p><p><br></p><p>The function "Send_Public_Email" also requires some additional parameters to be set. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjViMjM2NGY2LWVlOGUtNGJiZi04ODZiLWFhYzdkN2FhZjM5NiJ9.j7LZVKniGirvoPM9lIcuyP6qT1CHcxsO6Pjq7lj-CWA" class="fr-fic fr-fil fr-dib" width="532" style="width: 534px; height: 723.932px;" height="724"></p><p><strong><span style="font-size: 10pt;">Fig 13. Send_Public_Email function</span></strong></p><p><br></p><p>Set the parameters here as follows:</p><p><br></p><table class="styled-table grid" style="width: 63%; height: 221px; margin-left: 20px;"><colgroup><col style="width: 20.8438%;"></colgroup> <colgroup><col style="width: 16.7542%;"></colgroup> <colgroup><col style="width: 20.4547%;"></colgroup> <colgroup><col style="width: 41.9473%;"></colgroup><tbody><tr style="height: 48px;"><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Name</span></strong></td><td style="text-align: left; background-color: rgb(0, 204, 248);"><div style="text-align: center;"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Data Type</span></strong></div></td><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong data-pasted="true"><span style="color: rgb(255, 255, 255); font-size: 12pt;">Mandatory</span></strong></td><td style="text-align: center; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;">Description</span></strong></td></tr><tr style="height: 35.8333px;"><td><strong data-pasted="true">TicketID </strong></td><td> Number</td><td style="text-align: left;"><p data-pasted="true"> Yes</p></td><td style="text-align: left;"><p data-pasted="true">Set this to a Ticket ID. This will be the Ticket ID input from the instructions</p></td></tr><tr style="height: 30px;"><td id="name"><strong>EmailBody</strong><strong></strong></td><td> String</td><td style="text-align: left;"><p data-pasted="true"> No</p></td><td style="text-align: left;">This parameter should be set to the full HTML email body we're sending to the end user.</td></tr></tbody></table><p style="margin-left: 20px;"><strong><span style="font-size: 10pt;">Fig 14. Parameters to assign Function</span></strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">Creating the Runbook</span></strong></p><p>A runbook is required to trigger the process agent and provide the agent with the information from the ticket. The runbook can be created by either:</p><ul><li>Importing the JSON required for the runbook manually</li><li>Downloading the runbook into your instance from our runbook repository (v2.250+)</li></ul><p><br></p><p>If downloading the runbook from our online repository the Process Agent required will be created automatically for you, so ensure you have not already created one. </p><p><br></p><p>If importing JSON to create the runbook, the JSON required for the runbook can be found attached to this guide "Halo AI - Agent 1st Line Support", if you are viewing this guide on our website, you will need to navigate to our portal <a href="https://support.haloservicedesk.com/kb?showmenu=true&id=3004" target="_blank" rel="noopener noreferrer">here</a>. </p><p><br></p><p>Once the runbook has been created edit it > Flow Chart Tab > edit the step '1st Line Support Agent Action' > set the "Process Agent" field to use the agent created earlier (if downloading the runbook from the repository this should already be set). </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE2NzcxNzYwLTM5ZjctNGRkYi1iMWVkLWU2YzJkZmNiNzAxYyJ9.WcT8Hzf1rJXH7tUmCog6p3z4giSxQokVaAZE0O821jA" class="fr-fic fr-fil fr-dib" style="width: 1455px; height: 626.671px;" width="1453" height="627"></p><p><strong><span style="font-size: 10pt;">Fig 15. Select Process Agent to run</span></strong></p><p><br></p><p>This ensures this agent is triggered at this step of the runbook. </p><p><br></p><p><strong><span style="font-size: 12pt;">Control/Set when the Runbook Triggers</span></strong></p><p>Now you will need to set when the runbook triggers, this controls when the 1st Line Support Agent is in use. Navigate to the Details Tab > Events section > add an Event. </p><p><br></p><p>OOTB the event will be set to "Ticket Updated by User - All" with the conditions shown in Figure 16. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjIyY2ZmM2ZjLWIyNDYtNGQ0Yi04MjM0LTc2ZjBhNDI3NjBlOSJ9.76d3q_Rz5Yk7m1qVCeT_a3kMO3RR0xmb028SdIfhNtY" class="fr-fic fr-fil fr-dib" width="566" style="width: 568px; height: 413.164px;" height="413"></p><p><strong><span style="font-size: 10pt;">Fig 16. Events to trigger 1st Line Support Agent</span></strong></p><p><br></p><p>Setting up as shown in Figure 16 will result in the agent running each time the ticket is updated by the user provided the ticket type is an incident and the field "AI Auto Resolution" field is enabled. </p><p><br></p><p>However, you can customise this if you would like the Agent to come into effect at different times. For example, if you would like the agent to complete initial responses you could set this to trigger after the ticket has been logged, or triaged. </p><p><br></p><p>Now setup is complete and the 1st Line Support Agent is ready to use. </p>