How to Configure a Triage Policy

How to Configure a Triage Policy

Overview

This article walks you through configuring a Triage Policy in Horizon, including setting up classification steps, text generation steps, title formulas, and triage hints that give you deterministic control over how tickets are classified and titled.

Where to find it: Admin Panel → Components → Triage → Policies

Prerequisites

  • An active helpdesk integration (ConnectWise, Autotask, etc.) with synced ticket fields and picklist values
  • An AI integration configured under Admin Panel → Integrations → AI

Steps

Create or Edit a Triage Policy

  1. Navigate to Admin Panel → Components → Triage → Policies.
  2. Click Create Policy (or click an existing policy to edit it).
  3. Enter a Name for the policy. A unique key will be auto-generated.
  4. Select a Prompt Strategy:
    • Baseline — No prompt enhancements. Uses default AI prompts only.
    • Keyword — Adds software detection and picklist value hints from ticket content.
    • RAG — Learns from historical triage patterns to improve accuracy over time.
  5. Toggle Active to enable the policy.
  6. Save the policy.

Add Picklist Classification Steps

Picklist steps classify tickets into predefined field values (e.g., Priority, Issue Type). All picklist steps run in parallel.

  1. On the policy view page, scroll to the Triage Steps section.
  2. Click Create Step.
  3. Set Step Type to Field (for a single field like Priority) or Field Pair (for related fields like Issue Type / Sub-Issue Type).
  4. Select the Helpdesk Fields to classify. These are your provider's field names (e.g., priority, issueType, subIssueType in Autotask).
  5. Set Minimum Confidence — the AI must meet this threshold for the classification to be applied. For example, 0.70 means 70% confidence required. Set to 0 to always apply.
  6. Click Save changes.

Add a Text Generation Step

Text steps generate or assemble values for text fields like the ticket title. They run after picklist steps and can use picklist results as context.

  1. Click Create Step.
  2. Set Step Type to Text Generation.
  3. Select the Output Field (e.g., title).
  4. Set Minimum Confidence as needed.
  5. Optionally, enter a Custom Prompt to override the default AI prompt for this step.
  6. Optionally, enter a Formula to control exactly how the output is assembled (see below).
  7. Click Save changes.

Using Title Formulas

Formulas let you define a template for the output instead of relying entirely on AI. A formula uses {{namespace:key}} tokens that are replaced with real values at triage time.

Available Namespaces

Namespace What It Resolves From Example
field The ticket's current field values (before triage) {{field:title}}, {{field:queueID}}
result Triage classification results from earlier steps {{result:priority}}, {{result:issueType}}
contact The linked contact's attributes {{contact:firstName}}, {{contact:lastName}}
company The linked company's attributes {{company:companyName}}
ai AI-generated text for this step {{ai:text}}

Note: Field names within each namespace use your helpdesk provider's native naming. The examples above use Autotask field names. ConnectWise, HaloPSA, and other providers will have different field names.

Fallback Chains

Use the pipe character (|) to define fallbacks. If the first value is empty, the next one is tried. Segments without a colon are treated as literal text.

  • {{result:priority|field:priority}} — Use triage result, or fall back to the ticket's current priority if triage skipped it.
  • {{result:priority|N/A}} — Use triage result, or show "N/A" if empty.
  • {{result:priority|field:priority|Unclassified}} — Try result, then field, then the literal "Unclassified".
  • {{contact:firstName|Unknown}} — Use contact name, or "Unknown" if no contact is linked.

Formula Examples

Formula Example Output Uses AI?
{{result:priority|field:priority}} - {{field:title}} High - Printer is down No
{{result:priority}} {{contact:firstName}} - {{ai:text}} Critical John - Server connectivity failure on VLAN 12 Yes
[{{result:priority|Unclassified}}] {{company:companyName|?}} - {{ai:text}} [High] Contoso Corp - Printer paper jam on floor 3 Yes
{{field:title}} Printer is down No (passes through original title unchanged)

How It Works

  • If a formula contains {{ai:text}}, the AI runs first, then the formula wraps the AI output with other variables.
  • If a formula does not contain {{ai:text}}, the AI is skipped entirely. This is faster and costs nothing.
  • If no formula is set, the step behaves as pure AI text generation (the default).
  • If a token cannot be resolved (e.g., no contact linked to the ticket), it renders as an empty string unless a fallback is defined.

Configuring Triage Hints

Hints give the AI additional context to improve classification accuracy. They are injected into the AI's system prompt when triage runs. There are three levels of hints, each layering on top of the previous.

Account-Level Customer Context

Where to find it: Admin Panel → Components → Triage → Customer Context

These are MSP-wide hints that apply to every ticket triaged under your account. Use them to tell the AI about your business, common terminology, or classification preferences that apply across all customers.

Each hint has a Label (the category, e.g., "Industry", "Naming Convention") and a Body (the instruction). Examples:

LabelBody
IndustryWe are an MSP serving manufacturing and healthcare clients.
Priority RulesAny ticket mentioning "production down" or "server offline" should be Critical priority.
Naming ConventionTickets about recurring maintenance should be classified as IT:Change, not IT:Problem.

Company-Level Context Overrides

Company hints are scoped to a specific customer company. When a ticket is linked to that company, its hints are used instead of any account-level hint with the same label. Non-overridden account-level hints still apply.

For example, if you have an account-level hint with label "Priority Rules" and a company-level hint for ABLE Manufacturing with the same label "Priority Rules", the company version wins for ABLE Manufacturing tickets. All other customers still see the account-level version.

Picklist Field Hints

Account-level: Admin Panel → Components → Triage → Field Hints

Policy-level: Open a policy → Field Hints tab

These hints operate at the picklist value level. For each picklist value in your helpdesk (e.g., each Priority option, each Issue Type), you can configure:

  • AI Label — An alternate name the AI should use for this value (e.g., rename a cryptic code to something descriptive). Account-level only.
  • Hint — Additional context to help the AI understand when to select this value (e.g., "Use for hardware failures involving servers, switches, or routers"). Account-level only.
  • Excluded — Remove this value from the AI's options entirely. Useful for deprecated or rarely-used values you don't want the AI to select. Available at both account-level and policy-level.

Account-level settings apply to all policies. Policy-level exclusions add additional exclusions on top of account-level settings, allowing different policies to offer different picklist options to the AI.

Result

Your triage policy now has classification and text generation steps configured. When triage runs on a ticket, picklist fields are classified first, then text fields are generated using your formulas (or AI). The results appear as recommended changes on the ticket, subject to your confidence thresholds.

Related Articles

    • Related Articles

    • Ticket Lifecycle: Overview

      What Is Ticket Lifecycle? Ticket Lifecycle connects helpdesk statuses to automated actions — when a ticket hits the status you configure, the system runs triage, routing, or both. Where to find it: Admin Panel → Ticket Lifecycle Key Concepts ...
    • Setting Up AI Integration

      Overview This guide walks you through connecting Horizon to an AI provider. Horizon uses AI for triage, smart tagging, and other capabilities. You can bring your own API key from any of the 10 supported providers. Where to find it: Admin Panel → ...
    • Adding Horizon ConnectWise Widgets

      Overview This article walks you through setting up the Horizon widgets in ConnectWise Manage: the Menu Link Dashboard (full Horizon panel in the sidebar) and the Ticket POD (inline ticket insights on Service Ticket pages). Prerequisites An active ...
    • How to Set Up SMTP Relay

      Overview Configure an SMTP Relay so that Horizon sends emails directly through your own mail server, improving deliverability and ensuring emails arrive as your address — not ours. This is especially important for calendar invites and other ...
    • How Inbound Webhooks Work in Horizon

      What Are Inbound Webhooks? Inbound webhooks let external systems — like your PSA, Zapier, or n8n — send data to Horizon in real time. When something happens in an external tool (a ticket is updated, a form is submitted, a rule fires), that tool sends ...