<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>- Why create a Dispatch Agent?</strong></p><p data-pasted="true"><strong>- Key Considerations</strong></p><p data-pasted="true"><strong>- How to create a Dispatch Agent</strong></p><p><strong>- The Dispatch Agent in Action</strong></p><p><br></p><p><br></p><p data-pasted="true"><span style="font-size: 14pt;"><strong>Why create a Dispatch Agent?</strong></span></p><p><a href="https://www.usehalo.com/guides/2783" target="_blank" rel="noopener noreferrer">Process Agents</a> can be instructed to use AI to re-assign Tickets. This can be incorporated into the Triage process to route Tickets to the most suitable Team and Agent. These Process Agents are referred to as Dispatch Agents. Using these Agents automates Ticket assignment, collecting Ticket information, and related Tickets, before assigning the Ticket to the relevant Team and Agent. </p><p><br></p><p>The Dispatch Agent reviews the User's past Tickets, Ticket themes from the month, and the Team Assignment Rules Article to determine which Team should be assigned the Ticket. The Dispatch Agent then adds a note to the Ticket explaining the findings and any Actions taken. </p><p><br></p><p data-pasted="true"><strong><span style="font-size: 14pt;">Key Considerations</span></strong></p><p data-pasted="true">Business Teams & Internal IT (ESM & ITSM) trials created after September 2026 have this functionality built out of the box, and will not need to follow this setup. However the Agent and Runbook can be customised as required, allowing full control over when the Process Agent is triggered, what the Agent is instructed to do, and what Tickets the Process Agent can run on. </p><p><br></p><p>Clients on versions without this functionality provided out of the box can follow this guide to build a Dispatch Agent in their instance. </p><p><br></p><p data-pasted="true">From v2.250+ when a runbook is downloaded from the online repository, if it contains a Process Agent, the Agent will be created in your instance automatically. Therefore from this version, if you download the Dispatch Agent from the Online Repository you will not need to configure the Agent or Runbook yourself. </p><p><br></p><p>Out of the box the Agent Runbook cannot be started if the Custom Field "CFAITriage" is selected. If your Runbook does not trigger as expected when a Ticket is logged, check if this checkbox is selected on the Ticket.</p><p><br></p><p data-pasted="true"><span style="font-size: 14pt;"><strong>How to create a Dispatch Agent</strong></span></p><p><br></p><p data-pasted="true"><span style="font-size: 12pt;"><strong>Before creating a Dispatch Agent</strong></span></p><p>The Dispatch Agent relies on the function Get_Incident_Themes_This_Month which retrieves the report "Clustering - Themes this Month". This report must be downloaded from the Online Repository in order for the AI to successfully fetch the data. </p><p>This report looks for Ticket Clusters which must be enabled in Configuration > AI > Platform Intelligence. More information on setting up Ticket Clustering can be found <a href="https://www.usehalo.com/guides/2794" target="_blank" rel="noopener noreferrer">here</a>. </p><p><br></p><p>The Agent uses a Knowledge Base Article to understand how Teams are assigned Tickets. In order for the Agent to successfully route Tickets you must have this article in your instance. A template can be downloaded using the "Team Assignment Rules.docx" file attached at the end of this guide (Only available when viewing via the <a href="https://support.haloservicedesk.com/portal/kb?id=2999" target="_blank" rel="noopener noreferrer" data-pasted="true">Halo Portal</a>). Once this Article has been created update the Article ID provided in the AI instructions.</p><p><br></p><p data-pasted="true"><span style="font-size: 12pt;"><strong>API Application (Versions v2.250+)</strong></span></p><p>On versions v2.250+ an Automation Identity API Application will be created for you automatically when creating a Process Agent, saving you needing to create an API Application yourself. Once the agent is saved a link to the created application will be available. </p><p><br></p><p data-pasted="true">The permissions the Automation Identity application has will be determined by the functions you enable for the Process Agent. E.g. adding the "Get One Ticket" function to the Agent automatically adds the "read:tickets" permission.</p><p><br></p><p data-pasted="true"><span style="font-size: 12pt;"><strong>API Application (Versions prior to v2.250+)</strong></span></p><p>To create a Dispatch Agent, you will first need to create an API Application to allow the Agent to connect to Halo. Head to Configuration > Integrations > Halo API, and click on the "View Applications" button. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijk2NGRhZTgwLWY1NmMtNDRhZi1iYmVjLTI4MDY3ZWY5NGE4ZCJ9.PDY9QWONhe1ipVVtmaWIYN7Nfy6HEYetHq-AI1THjss" class="fr-fic fr-fil fr-dib" width="982" style="width: 984px; height: 214.691px;" height="215"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 1. API Applications</strong></span></p><p><br></p><p data-pasted="true">Click "+ New" to create a new API Application. </p><p><br></p><p data-pasted="true">Give this application a sensible name and set the Authentication Method to "Halo Automation Identity". </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI0NDQ1YjU0LWFlOWYtNGY1NC05MDM3LTJkMDI5ZGIxZTg5YyJ9.zTbiC6iH2JzNJnYhFCsa4ZDfxAWon-Slms-vn9Udp58" class="fr-fic fr-fil fr-dib" style="width: 990px; height: 513.552px;" width="988" height="514"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 2. Creating an API Application with Halo Automation Identity</strong></span></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 <a href="https://www.usehalo.com/guides/882" target="_blank" rel="noopener noreferrer">roles </a>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><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVhNmZjM2M2LWY3MjctNDE5OC04ZGMzLWE2MmE5ZjYzNTEzOCJ9.XkK1-2nEl9KJCIsq1fE8u3mqQTe49xopmdgu_Ruzr-s" class="fr-fic fr-fil fr-dib" width="990" style="width: 992px; height: 236.391px;" height="236"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 3. API Application using Application identity </strong></span></p><p><br></p><p><span style="font-size: 12pt;"><strong>Creating the Process Agent</strong></span></p><p>To create your Dispatch Agent, head to Configuration > AI > AI Agents, and click the "Process Agents" button. Click "+ New" to create a new Process Agent. </p><p><br></p><p data-pasted="true">When you create a new AI Agent you will need to set a name, and connection for your Process Agent to use. On versions prior to v2.250+, you will need to set the "Halo Application to authorise as" to your newly created application. On versions v2.250+, if you are creating the Agent yourself, you will need to set the "Agent to log in as" for the AI Agent. It is recommended this is set to "Application Identity", and the relevant "Identity Roles" are added to determine which roles to use as the base level permissions.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU1MjM1MjZmLTRjODgtNGU0Ni05NTlhLWMwNTAwYzA3ODlkNCJ9.Qh6lDc-fhHfwLl4JITU2m8EE7cU7ST08E_qiwt_Y5Ho" class="fr-fic fr-fil fr-dib" width="1021" style="width: 1023px; height: 430.258px;" height="430"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 4. Creating a Process Agent</strong></span></p><p><br></p><p data-pasted="true">Next you can set the instructions for your AI Agent to follow. The instructions you set here control the request that is sent to the API. You must state exactly what you want the AI Agent to do here. The instructions for your Dispatch Agent to follow can be downloaded from the linked file titled "Dispatch Agent Instructions.docx" (Only available when viewing via the <a href="https://support.haloservicedesk.com/portal/kb?id=2999" target="_blank" rel="noopener noreferrer">Halo Portal</a>). </p><p><br></p><p>Leave the "Force JSON repsonse" checkbox unchecked.. </p><p><br></p><p data-pasted="true">These instructions include input variables in the format <<variable_name>>, which need to be specified in the table below. These variables let you change the instructions dynamically based on the event that triggered, or information obtained by the Runbook. The Dispatch Agents Input variables are as follows: </p><p><br></p><p> </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"> No</p></td><td style="text-align: left;">This parameter should be set to the initial ticket ID</td></tr><tr style="height: 30px;"><td id="name"><strong data-pasted="true">TicketSummary </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 summary of the incoming ticket.</td></tr><tr style="height: 30px;"><td id="note"><strong data-pasted="true">TicketDetails</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: 30px;"><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 to information about the user.</td></tr><tr style="height: 39.8333px;"><td><p data-pasted="true"><strong>UserTicketInfo</strong></p></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 recent user ticket information.</td></tr></tbody></table><p><br></p><p><br></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU2NzliNDk5LTk1OTMtNGZiZi05MWI0LTcxZWFlOGVmZjMxYSJ9.pr4boY-41Dnq6JtjpAcvdzorgLXkngV19XpMzbkDPDs" class="fr-fic fr-fil fr-dib" width="1022" style="width: 1024px; height: 475.168px;" height="475"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 5. Input Variables</strong></span></p><p><br></p><p>Finally you will need to determine which functions the AI will have access to. For the Dispatch Agent, deselect "Include all system functions", and add the following functions to the functions table:</p><p><br></p><p> </p><table class="styled-table grid" style="width: 64%; height: 221px; margin-left: 20px;"><colgroup><col style="width: 37.482%;"></colgroup><colgroup><col style="width: 43.7698%;"></colgroup><colgroup><col style="width: 18.7482%;"></colgroup><tbody><tr style="height: 48px;"><td style="text-align: left; background-color: rgb(0, 204, 248);"><strong><span style="color: rgb(255, 255, 255); font-size: 12pt;"><strong data-pasted="true"><span style="color: rgb(255, 255, 255); font-size: 12pt;"> Name</span></strong></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><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></tr><tr style="height: 35.8333px;"><td><strong data-pasted="true">CF_Get_One_Ticket </strong></td><td>Use this function to get more information about one ticket. </td><td style="text-align: left;"><p data-pasted="true">Get One Ticket</p></td></tr><tr style="height: 30px;"><td id="name"><strong data-pasted="true">CF_Get_One_Knowledge_Base_Article </strong></td><td>Use this function to pull information from the knowledge base on the domain areas each team is responsible for. </td><td style="text-align: left;"><p data-pasted="true">Get One Article (Article: Team Assignment Rules)</p></td></tr><tr style="height: 30px;"><td id="note"><strong style="box-sizing: inherit; font-weight: 700; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; 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;" data-pasted="true">CF_Apply_AI_Suggestions </strong></td><td>Use this function to apply the AI Suggestions on the ticket. These suggestions derive from previous values on semantically matched tickets.</td><td style="text-align: left;"><p data-pasted="true">Apply AI Suggestion</p></td></tr><tr style="height: 30px;"><td><strong data-pasted="true">CF_Add_Note_To_Ticket</strong></td><td>Use this function to add a note to the ticket. </td><td style="text-align: left;"><p data-pasted="true">Add Note to Ticket</p></td></tr><tr style="height: 39.8333px;"><td><p data-pasted="true"><strong data-pasted="true">CF_Get_Incident_Themes_This_Month </strong></p></td><td>Use this function to pull the information on the clustered incident themes for this month.</td><td style="text-align: left;"><p data-pasted="true">Get Report Data (Report: Clustering - Themes this Month)</p></td></tr></tbody></table><p><br></p><p data-pasted="true"><strong><em>Note: The CF_Get_Incident_Themes_This_Month function retrieves report data from the "Clustering - Themes this Month" report, this report can be found in the Online Repository. </em></strong></p><p><strong><em>Note: The CF_Get_One_Knowledge_Base_Article function pulls Article ID 43. You must have an Article outlining Team assignment rules, and this must be updated in the Instructions to pull the relevant Article ID.</em></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA0ZTVlM2RhLTc1Y2EtNDU3Ny04ZjAzLTM1N2YxNmY0NDNlNyJ9.4J-P_F17Z8Dp-5_HWGFdQ80UrvAVoBZ5ylhY95iHluY" class="fr-fic fr-fil fr-dib" width="1047" style="width: 1049px; height: 487.084px;" height="487"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 6. Agent Functions</strong></span></p><p><br></p><p><span style="font-size: 12pt;"><strong>Creating the Runbook</strong></span></p><p data-pasted="true">In order for the Dispatch Agent to run on a Ticket you will need to create a Runbook in your instance. The Runbook determines when the Dispatch Agent is triggered, and allows the "RecentUserTicketInfo" variable to be populated, updating the AI instructions dynamically based on the information obtained via a SQL query.</p><p><br></p><p>In Configuration > Integrations > Custom Integrations, click the "Integration Runbooks" button. Click "+ New" to create a new Runbook. </p><p><br></p><p>Set a name for the Runbook, and make sure the "Enabled" checkbox is selected. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI0MmYyOWQ3LTg0ZTEtNGM3Ny05ODFmLTQxYmFiZDBjNjkyYSJ9.Meh79KPDYtEGHmcO3xmrBPFynzghwUCRt7rPbJdvfKQ" class="fr-fic fr-fil fr-dib" width="1060" style="width: 1062px; height: 559.903px;" height="560"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 7. Creating a Runbook </strong></span></p><p><br></p><p>Further down the page, set the "Runbook Start Access" to "Can only be started from Halo (e.g. through an Action, Event or Workflow)", then scroll down and add the trigger "New Ticket Logged" to the events table.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQyMjQ1YjkxLWEwNmEtNDBlZi1hNzdjLTc3MDY2YmE2YmE0OCJ9.SR_UpisEDjvJ59XVcKBsa8cIHnueJ6Y7_Bfp09GCgE4" class="fr-fic fr-fil fr-dib" width="1056" style="width: 1058px; height: 531.403px;" height="531"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 8. Settings for starting the Runbook</strong></span></p><p><br></p><p>The "New Ticket Logged" trigger should have any relevant conditions applied to restrict when the Runbook will trigger. This can be customised so the Runbook will only trigger when your chosen conditions are met. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImViNTBmMjc1LWRiN2QtNDg5YS1iZTczLTY4M2NkNzIxZjJkZSJ9.reK7rRxfy29QdjZVsXgbucQpZZCJlAyIydscZqWzQrw" class="fr-fic fr-fil fr-dib" width="520" style="width: 522px; height: 454.572px;" height="455"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 9. Runbook trigger</strong></span></p><p><br></p><p>Now save the Runbook, and select "Import from JSON".</p><p>Download the file entitled "halo-integrationrunbook" linked at the end of this guide (Only available when viewing via the <a href="https://support.haloservicedesk.com/portal/kb?id=2999" target="_blank" rel="noopener noreferrer" data-pasted="true">Halo Portal</a>).</p><p><br></p><p>Copy the contents of this file, and paste this into the JSON field.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgyOWQ0NWFjLTNjYzUtNDM0NS1hMDE1LTZiYjc4ZTk4OTVkOSJ9.UEq8UM1DDpRd5Sb_Zl-SpEQKtNr71OYQ3dvWs-o_I1U" class="fr-fic fr-fil fr-dib" style="width: 1003px; height: 553.837px;" width="1282" height="709"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 10. Importing Runbook JSON</strong></span></p><p><br></p><p>Save the JSON and move to the Flow Chart tab. </p><p><br></p><p>You will see a Runbook Flow Chart similar to the below. Change back to "Edit" mode and click the edit icon on the Process Agent step. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdlYjk2YzI5LThlMjMtNDAxMy05MTAzLTY4NTAwMmNlN2E2MSJ9.jlk4Ta837VwCn5yPvArDtC95yF8LdA3HdTQg3UL3p7k" class="fr-fic fr-fil fr-dib" width="991" style="width: 993px; height: 436.213px;" height="436"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 11. Dispatch Agent step</strong></span></p><p><br></p><p data-pasted="true">Select your Dispatch Agent from the Process Agent dropdown, and the instructions will appear below.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdiZGU2MjE3LTYzYTItNDczNy05ZmZiLWQ4MjU5YWFmZWQ4YiJ9.tMrPqlFRDep9wld25O969AGYOArBqNmMIxuMhDf8MVU" width="963" style="width: 965px; height: 435.531px;" height="436" class="fr-fic fr-dii"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 12. Setting the Dispatch Agent</strong></span></p><p><br></p><p>Now save the Runbook.</p><p><br></p><p data-pasted="true"><strong><span style="font-size: 14pt;">The Dispatch Agent in Action</span></strong></p><p>When a Ticket is logged which meets the criteria specified (in this case an Incident Ticket with AI Triage enabled), then Runbook will be triggered. Since the start step of the Runbook is a sleep step, the Runbook will not start any Actions until the specified amount of time has passed.The Runbook then moves to the SQL step, where a SQL query is run to find information on the User's previous Tickets. Once this data has been obtained the Agent will use the data, Ticket Clustering report, and the Team Assignment Rules Article to reassign the Ticket and provide relevant context for the Ticket. </p><p><br></p><p>Once the Dispatch Agent step has been completed you will see a Note provided by the Agent explaining the Ticket details and any Actions taken. These Actions can be seen by switching to the "All Actions" view.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU5OWVmYzM5LWRhMDUtNGQ5Yi04MTQzLWFhN2JkZjMxZjc5MyJ9.64PVh4ZcYBLUvi74nRtshbmt7qvuCjRy9ifaPXFPhYI" class="fr-fic fr-fil fr-dib" width="973" style="width: 975px; height: 455.401px;" height="455"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 16. Process Agent on a Ticket</strong></span></p>