<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 style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><strong>In this guide we will cover:</strong></p><p><br></p><ul style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'>What are SLA Escalation Rules?</li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'>Configuring SLA Warning Thresholds (1st and 2nd Warnings)</li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'>Setting Up SLA Breach Notifications</li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'>Escalating via Workflows</li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'>AI-Driven Automation Based on Cluster Breach Percentage</li></ul><p><br></p><p style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><strong>Related Guides:</strong></p><p><br></p><ul style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><a href="https://usehalo.com/haloitsm/guides/1927" target="_blank" rel="noopener noreferrer"><strong>Service Level Agreements (SLAs)</strong></a></li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><a href="https://usehalo.com/haloitsm/guides/1848" target="_blank" rel="noopener noreferrer"><strong>Notifications</strong></a></li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><a href="https://usehalo.com/haloitsm/guides/919" target="_blank" rel="noopener noreferrer"><strong>Quick Actions</strong></a></li><li style='margin:0cm;font-size:11pt;font-family:"Arial",sans-serif;'><a href="https://usehalo.com/haloitsm/guides/1922" target="_blank" rel="noopener noreferrer"><strong>Modifying and Adding Workflows</strong></a></li></ul>
<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><span style="font-size: 14pt;">What are SLA Escalation Rules?</span></strong></p><p><br></p><p>HaloITSM allows you to configure automated escalation rules that trigger when an SLA response or resolution target is approaching or has been breached. This is achieved using a combination of native SLA Warning thresholds, Notifications, and workflow automations, with no custom development required.</p><p><br></p><p>The escalation lifecycle follows a three-stage model:</p><ul><li><strong>1st Warning</strong> - fires at a configured percentage of elapsed SLA time (e.g. 50%). This is your early alert, giving agents time to act before a breach.</li><li><strong>2nd Warning</strong> - fires at a configurable higher percentage (e.g. 75%). This is the final escalation prompt before breach, typically used to notify a team leader or supervisor.</li><li><strong>Breach</strong> - fires when 100% of the SLA target time has elapsed. Automated actions such as reassignment or priority changes are typically triggered at this stage.</li></ul><p><br></p><p><strong><span style="font-size: 14pt;">Configuring SLA Warning Thresholds</span></strong></p><p><br></p><p>Before setting up notifications or automated actions, you must first define when your 1st and 2nd SLA warnings should fire.</p><p><br></p><p><strong><span style="font-size: 12pt;">Setting Up the 1st Warning</span></strong></p><ul><li>Navigate to <strong>Configuration > Service Level Agreements > General Settings</strong> and scroll down to the notification section.</li><li>Select whether you want to configure the first warning to be based on hours before the target or a percentage threshold of the SLA Targets tab.</li><li>Set the <strong>Warning Percentage/hours</strong>. For example, entering 50 means the warning fires when 50% of the SLA target time has elapsed.</li></ul><p><br></p><p><strong><span style="font-size: 12pt;">Setting Up the 2nd Warning</span></strong></p><ul><li>Within the same interface, configure the Second SLA notification warning.</li><li>Select whether you want to configure the second warning to be based on hours before the target or a percentage threshold of the SLA Targets tab.</li><li>Set a higher <strong>Warning Percentage/number of hours</strong>. For example, entering 75 means the second warning fires when three-quarters of the SLA time has elapsed.</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVhYmIxNzMxLTUyOWMtNDlmNi1iMmY5LTg3Yjg0Nzc2YjJjYyJ9.AqYhoQr0gGPypGwjBNtHMTfAsbh2fJtl3Eps7M60NJc" class="fr-fic fr-fil fr-dib" width="910" height="247"></p><p><strong><span style="font-size: 10pt;">Fig 1. SLA warning threshold configuration.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Setting Up SLA Breach Notifications</span></strong></p><p><br></p><p>With warning thresholds defined, you can create Notifications that fire based on these thresholds. A separate notification should be created for each threshold and for when the SLA is breached, so that recipients and urgency can be tailored accordingly.</p><p><br></p><ul><li>Head to <strong>Configuration > Notifications</strong> and click <strong>New</strong> in the top right-hand corner.</li><li>Give your notification a Description, then set the notification type, delivery method and triggering event to one of the following native SLA events:<ul><li>1st SLA Warning</li><li>2nd SLA Warning</li><li>SLA Breached</li></ul></li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ1N2M3ZjJlLTI4OGItNDFmMS04ZWZiLTJmMDdhZWRlOWRhOSJ9.gIA21tqk58teu575Sf3CcPmrVJtuXEXg3PoyfUs2pso" class="fr-fic fr-fil fr-dib" width="1052" height="231"></p><p><strong><span style="font-size: 10pt;">Fig 2. Notification type and triggering event setup.</span></strong></p><p><br></p><ul><li>When setting the triggering event, you can also set the trigger to notify people other than the subscribed Agent:<ul><li><strong>Assigned to Recipient</strong>: Notifies the Agent the Ticket is assigned to.</li><li><strong>Assigned to Recipients Teams</strong>: Notifies subscribed members of the Team the Ticket is assigned to.</li><li><strong>Unassigned</strong>: Notifies subscribed Agents when a Ticket is in Unassigned.</li><li><strong>All</strong>: Notifies subscribed Agents, regardless of who the Ticket is assigned to.</li></ul></li><li>Click <strong>Save</strong> once the notification is configured.</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg0NWVhMTgyLWE5ZmUtNDk4ZS1hY2ZhLThhMzc1ZjZjOTdmYiJ9.B0cxgotUVP0cROXAq6EAIDMx4K8xqC1eny2z6DOhbmg" class="fr-fic fr-fil fr-dib" width="803" height="711"></p><p><strong><span style="font-size: 10pt;">Fig 3. Notification recipient configuration.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Escalating via Workflows</span></strong></p><p><br></p><p>HaloITSM provides a fully configurable, no-code workflow engine that enables automated SLA escalation, including reassignment to a supervisor or designated team, without any custom development. The recommended approach uses a combination of Quick Actions and logically conditioned workflow step automations.</p><p><br></p><p><strong><span style="font-size: 12pt;">Step 1: Create a Quick Action for Escalation or Reassignment</span></strong></p><p><br></p><p>A Quick Action defines the escalation behaviour. For example, reassigning the ticket to a supervisor or a dedicated breach-response team. This is then referenced by the workflow automation.</p><p><br></p><ul><li>Head to <strong>Configuration > Tickets > Actions</strong> and click <strong>New</strong>.</li><li>Configure the Action as a quick action under the details tab, allowing this action to be set up as an automation.</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU0NTg5ZDVlLTE4ZDUtNDk3OS1hNjUwLWMyOGQyYzhiOWZhZSJ9.JN_tTs3E7jzPwSZdenOxbk--ZruiQxtaDvyhkHclIlM" class="fr-fic fr-fil fr-dib" width="1010" height="141"></p><p><strong><span style="font-size: 10pt;">Fig 4. Quick action configuration toggle.</span></strong></p><p><br></p><ul><li>For the context of this guide, set the action to reassign the ticket to the agent or team designated to handle escalated tickets.</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ2NzMxYzIyLWM1YjktNGZhYi1hYjRhLWNiYmNhNDdjNzg3YyJ9.hb6t6goDQtlTATBPlwTNgck4F3JhZIX0q_vv-g9PqH0" class="fr-fic fr-fil fr-dib" width="1565" height="148"></p><p><strong><span style="font-size: 10pt;">Fig 5. Reassignment setting within the quick action.</span></strong></p><p><br></p><ul><li>Give the Quick Action an outcome description as well as a button name and click <strong>Save</strong>.</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVmZTdiNDM2LTljYTItNDcxYi1iODM1LTI2OWZmOGQ2OWYwOCJ9.daJgofKDBVnMQQLcFZSEPeSyJOlw03NxtpMoCzPkfV4" class="fr-fic fr-fil fr-dib" width="490" height="310"></p><p><strong><span style="font-size: 10pt;">Fig 6. Outcome description and button name fields.</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Step 2: Add the Automation to a Workflow Step</span></strong></p><p><br></p><p>The Quick Action is added as an automation to the workflow. This ensures that the escalation logic remains active throughout the ticket lifecycle.</p><p><br></p><ol><li>Head to <strong>Configuration > Tickets > Workflows</strong> and open the relevant workflow, or create a new one.</li><li>Open a workflow step and click <strong>Add</strong> to add the quick action created in Step 1.</li><li>Add the Quick Action you created. Then configure the Conditions to evaluate prior to queuing the automation, allowing the automation to be triggered when the ticket has met any conditions at this step. The automation will take place when the condition is met on the ticket.</li></ol><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA1NGY1YzlkLTM5YzctNDZmNi1hZmM5LTNhZDJiNTM0ZTRhMyJ9.YAp-IoGqfU2DOl8pMMoSmxnygT5pLV4VhrN2lhcci-A" class="fr-fic fr-fil fr-dib" width="605" height="696"></p><p><strong><span style="font-size: 10pt;">Fig 7. Adding the quick action and conditions to a workflow step.</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Step 4: Assign the Workflow to the Ticket Type</span></strong></p><p><br></p><ol><li>Head to <strong>Configuration > Tickets > Ticket Types</strong> and open the relevant ticket type.</li><li>Set the <strong>Workflow</strong> field to your configured workflow and save. Any ticket of that type will then follow the workflow and its SLA escalation automations from the moment it is logged.</li></ol><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNiN2I3NGUwLThkYTUtNDRiZi1iYWY4LWE4ZDdjNzI0NzYwOCJ9.51SEfUd4pjfIfvaEOHnijBDK6JFITtgaZ325bNjn2hg" class="fr-fic fr-fil fr-dib" width="395" height="264"></p><p><strong><span style="font-size: 10pt;">Fig 8. Setting the workflow on a ticket type.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">AI-Driven Automation: Cluster Breach Percentage</span></strong></p><p><br></p><p>In addition to per-ticket SLA rules, HaloITSM includes an AI-powered escalation capability that monitors patterns across clusters of similar tickets. Rather than reacting to individual breaches, the system can automatically trigger actions when a defined percentage of tickets within a cluster have already breached their SLA targets.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNmODVkYTIwLWI1N2ItNDg0Mi04OWJhLTYxYTEwZjZjMDMyMyJ9.BT330w7smioA_k23-n4IRK50MEGaDFzhpeDyifuB8OI" class="fr-fic fr-fil fr-dib" width="1171" height="337"></p><p><strong><span style="font-size: 10pt;">Fig 9. AI cluster breach percentage configuration.</span></strong></p><p><br></p><p>HaloITSM's AI engine groups tickets into clusters based on shared attributes such as category, team, client, or ticket type. When the proportion of breaching or at-risk tickets within a cluster exceeds a configured threshold, the system treats this as a systemic risk and triggers an automated response. To configure this:</p><p><br></p><ul><li>Navigate to <strong>Configuration > AI > AI Suggestions</strong>.</li><li>Define the <strong>cluster grouping criteria</strong> — this determines which tickets are analysed together (e.g. all tickets of the same type, or all tickets from a specific site).</li></ul><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ3ZWI4ZDJkLTQwZTYtNGM4My04NTkwLTcxNThlMWYxNGJmMyJ9.PqREBRK_oblgsVBcjaqchdCaoVat5p0VFPXOAsW5qUU" class="fr-fic fr-fil fr-dib" width="559" height="784"></p><p><strong><span style="font-size: 10pt;">Fig 10. Cluster grouping criteria in AI Suggestions.</span></strong></p><p><br></p><ul><li>Set the <strong>percentage threshold</strong>. For example, if 40% of tickets in a cluster have had their SLA target breached, the automation will fire.</li><li>Define the <strong>automation</strong> to fire when the threshold is reached, such as sending a notification to the service manager, reassigning the affected tickets, changing priority across the cluster, or creating a linked Major Incident.</li></ul><p><br></p><p>The platform's AI ticket clustering capability allows service teams to identify and respond to service degradation trends proactively, before individual breaches accumulate into a wider service failure.</p>