OpenMax How-to Guide
TL;DR
  • An AI ticket classifier uses LLMs to read, categorize, prioritize, and route support tickets — replacing manual triage.
  • Some SaaS options scale with ticket volume; building your own with Zylos keeps infrastructure cost predictable.
  • A useful prototype should prove the classification structure, routing rules, and review loop. Pilot timing depends on ticket sources, integration scope, permissions, and taxonomy readiness.
  • Self-hosting gives teams more control over data processing, but model calls, logs, backups, administrator access, and connector permissions still need explicit review.
  • Zylos is MIT-licensed. No model training is required for the first version. Zylos officially supports Claude Code and Codex runtimes.

What is an AI ticket classifier?

An AI ticket classifier reads an incoming support request and proposes structured fields such as category, priority, sentiment, affected area, and target queue. The workflow should also preserve the source message, explain the proposed route, and send uncertain or restricted cases to a named reviewer.

Unlike keyword-based rules ("if ticket contains 'password' → route to IT"), a modern automatic ticket classifier understands context. The same word "freeze" means something completely different in a banking ticket ("account freeze") vs a SaaS ticket ("dashboard freeze"). LLM-based classification handles this ambiguity because it reads the full ticket description, not just pattern-matches keywords.

A layered design can combine deterministic rules for clear cases, similarity matching for recurring patterns, and a language model for ambiguous requests. The team should measure each layer separately and keep a human-review boundary for low-confidence, sensitive, or high-impact tickets.

Incoming ticket Rules Fast obvious cases ~60% auto Embeddings Similarity check ~25% auto LLM agent Ambiguous cases ~15% LLM Auto route Human review boundary Only the hardest ~15% of tickets reach the LLM. Measured on real tickets including reviewer corrections of all-LLM routing.
Layered AI ticket classifier architecture: rules → embeddings → LLM. The hardest tickets are escalated to the LLM or human review.

Build or Buy: Choose a Ticket-Classification Deployment Model

Compare managed and self-hosted ticket-classification options against the same operating questions: total cost, data path, integration work, ongoing maintenance, review controls, and failure recovery.

  1. Cost follows the deployment model. A managed service may combine plan, usage, and support charges. A self-hosted workflow adds infrastructure, model, engineering, monitoring, and incident-response work. Estimate both with your real ticket volume and review load.
  2. The data path must be explicit. Confirm where ticket bodies, attachments, logs, model inputs, reviewer notes, and backups are sent, how long they are retained, and who can access them.
  3. Integration quality is workflow-specific. Test authentication, field mapping, identity, rate limits, retries, duplicate prevention, write permissions, and rollback for every required ticket source and destination.

Zylos and HxA Connect may fit teams that want to own the classification logic, connector behavior, and operating controls. Start with one ticket source in shadow mode so the team can measure the engineering and review effort before choosing a wider rollout.

How to build an AI ticket classifier with Zylos

Zylos is an open agent runtime that can manage state, tools, and handoffs for a ticket-classification workflow. Production readiness still depends on the team's taxonomy, connector permissions, review boundaries, monitoring, and recovery plan. The steps below turn those responsibilities into a practical pilot.

1
Set Up Zylos
Clone, install, configure LLM credentials, verify agent is running
2
Define Classification Rules
Define categories, priority rules, review thresholds, and approved queues
3
Connect Channels
Wire ticket sources + configure HxA Connect adapters for routing
4
Deploy & Iterate
Deploy in a controlled environment, monitor quality, and review corrections

Step 1: Set up the Zylos agent framework

Start with the official installer for the quickest setup. You'll need a Linux server or Mac, Node.js ≥ 20, and either a Claude Code setup token/API key or an OpenAI API key for the Codex runtime.

# Recommended: install Zylos
coco-runtime setup --init

# Optional: install from GitHub without cloning the repo
npm install -g coco-agent-runtime
zylos init

# Check services after setup
zylos status
# Web console is available on local console after initialization

Send a test message and verify the runtime, logs, and error path before adding ticket data or connector permissions.

Step 2: Define the Ticket Classification Structure

The classification structure defines the fields the workflow may return and the business rules behind them. Keep category names unambiguous, map each category to an approved queue, and document which cases must always go to a reviewer. The example below is a starting point, not a universal taxonomy.

{
  "classification_rules": {
    "categories": [
      "bug_report",
      "feature_request",
      "account_issue",
      "billing_question",
      "integration_help",
      "performance_degradation",
      "security_incident",
      "general_inquiry"
    ],
    "priorities": ["critical", "high", "medium", "low"],
    "routing": {
      "bug_report":        { "target": "engineering-bot" },
      "security_incident": { "target": "security-bot" },
      "billing_question":  { "target": "billing-bot" },
      "feature_request":   { "target": "product-bot" },
      "account_issue":     { "target": "account-ops-bot" },
      "default":           { "target": "support-review-bot" }
    },
    "confidence_threshold": 0.85
  }
}

confidence_threshold is a routing control, not a universal default. Calibrate it on reviewed tickets and use different thresholds for suggestions, assisted routing, and automatic assignment. Sensitive or high-impact categories can require human review regardless of confidence.

Step 3: Connect ticket sources and route to channels

Now wire up where tickets come from and where they go to. HxA Connect — OpenMax's bot-to-bot messaging server — handles the handoff so your AI ticket classifier can send structured ticket summaries to the right registered bot or connector.

// In the Zylos agent's skill configuration:
import { HxaConnectClient } from '@coco-xyz/hxa-connect-sdk';

const router = new HxaConnectClient({
  url: 'configured HxA endpoint',
  token: process.env.HXA_BOT_TOKEN,
  orgId: process.env.HXA_ORG_ID,
});

await router.connect();

// Register ticket intake sources
agent.on('ticket.received', async (ticket) => {
  // 1. Classify
  const classification = await agent.classify(ticket, rules);

  // 2. Route based on classification
  if (classification.confidence >= rules.confidence_threshold) {
    await router.send(classification.target, formatTicket(ticket, classification));
    console.log(`Routed ticket #${ticket.id} → ${classification.category}`);
  } else {
    await router.send('human-review-queue', formatTicket(ticket, classification));
    console.log(`Flagged ticket #${ticket.id} for human review (confidence: ${classification.confidence})`);
  }
});

Use HxA Connect when classification output needs to move between agents, teams, or connector bots. Platform-specific actions such as creating issues, posting alerts, or updating a helpdesk should live inside the receiving connector bot.

Pro tip: Start with one channel, then expand

  • Shadow mode: classify tickets and send the result to a reviewer without changing the live assignment.
  • Assisted routing: let reviewers approve high-confidence assignments and record every correction.
  • Controlled automation: enable assignment only for tested categories, with a fallback queue and named owner.

This staged rollout lets the team validate the ticket classifier before it changes production routing.

Step 4: Deploy, monitor, and iterate

Deploy the runtime and classifier in an environment where permissions, logs, secrets, queue limits, and rollback can be tested before live routing is enabled:

# Run Zylos with the official container image
docker run -d --name zylos \\
  -p 3456:3456 \\
  -v zylos-data:/home/zylos/zylos \\
  -e OPENAI_API_KEY=$OPENAI_API_KEY \\
  ghcr.io/zylos-ai/zylos-core:latest

Monitor classification acceptance, corrections, reassignments, missed escalations, reviewer effort, connector failures, and recovery time. Review results by category and language so a strong average does not hide a weak or high-risk route.

AI ticket classifier comparison: Build vs SaaS

Dimension Build (Zylos + HxA Connect) Buy (SaaS Classifier)
Cost model Predictable hosting + LLM usage Often subscription or usage-based
Data path Team-controlled data path; external model and service calls still require review Data path depends on the provider architecture and contract
Integration breadth Bot-to-bot routing through HxA Connect + connector bots Depends on available connectors and APIs
Customization Full control over the classification structure, routing rules, and review thresholds Configuration and extension options depend on the provider
Setup time Depends on taxonomy, integrations, permissions, and review readiness Depends on connector setup, data quality, and tuning
Runtime choice Claude Code or Codex runtime Usually vendor-managed model choices
Compliance (SOC2, HIPAA, GDPR) The team builds and validates the required controls The provider may supply controls; the customer still validates its own obligations
Lock-in risk Portable code and configuration; migration effort still depends on integrations and data formats Portability depends on export options, APIs, and contract terms
Choose by operating fit: a managed service may reduce infrastructure work, while a self-hosted workflow provides more implementation control and more operating responsibility. Compare both with the same ticket set, permissions, failure tests, reviewer capacity, and total-cost assumptions.

When an Open Runtime Fits the Ticket Workflow

An open runtime can be useful when the team needs direct control over classification logic, connector code, deployment timing, and evidence collection. That control also makes the team responsible for secure configuration, upgrades, monitoring, and recovery.

  • Business-specific classification. Define categories, priorities, escalation rules, and review boundaries that match the support organization instead of forcing every request into a generic template.
  • Auditability. Record the input, taxonomy version, model or rule result, confidence, final assignment, and reviewer correction so misroutes can be investigated and reproduced.
  • Controlled handoffs. Route structured results to approved queues or connector bots, then let the receiving system enforce platform-specific permissions and actions.
  • Operational control. An open stack lets the team manage versions and deployment timing, while the team remains responsible for upgrades, security, monitoring, and recovery.

Validate ticket classification before automatic routing

Use a representative, de-identified ticket set in shadow mode and compare category, priority, assignee, confidence, and escalation with the current support process.

Taxonomy

Version category definitions, examples, exclusions, owners, and change history so reviewers know which rule applied.

Confidence

Set thresholds by category and send uncertain, new, or conflicting tickets to a named review queue.

Permissions

Separate suggestion, assignment, priority change, field update, and customer reply permissions.

Sensitive cases

Keep security, billing disputes, legal threats, account closure, VIP, and safety issues under human review.

Expand only after classification accuracy, routing accuracy, reassignment rate, escalation recall, and SLA performance remain stable for the agreed test period.

Frequently asked questions

What is an AI ticket classifier?
An AI ticket classifier reads a support request and proposes fields such as category, priority, affected area, and target queue. A production workflow should preserve evidence, explain the proposed route, and keep human review for uncertain, sensitive, or high-impact cases.
Why build a ticket classifier instead of buying a SaaS?
Self-hosting can provide more control over classification logic, connectors, and deployment, but it also adds responsibility for infrastructure, model calls, security, monitoring, and recovery. Compare it with a managed service using the same ticket set, data-path requirements, review load, and operating-cost assumptions.
How should ticket-classification quality be measured?
Measure quality on the same reviewed ticket set. Track accepted classifications, corrections, reassignments, missed escalations, reviewer effort, connector failures, and recovery by category and language before widening the routing scope.
Can I integrate an AI ticket classifier with my existing helpdesk?
Yes, but treat it as a workflow design rather than a one-line adapter claim. Tickets can enter through webhooks, API polling, or a connector bot; the classifier returns structured fields such as category, priority, and target team. HxA Connect can then hand the result to the right registered bot or connector, which performs platform-specific actions such as creating an issue or updating a helpdesk record.
How long does it take to build and deploy?
There is no universal deployment time. A prototype can validate one ticket source and a small taxonomy; a production pilot also needs connector testing, permissions, fallback routing, monitoring, and reviewer readiness. Go live when the agreed acceptance criteria are met, not on a fixed day count.

Ready to build your own AI ticket classifier?

Zylos is MIT-licensed and free to use. No model training is required for the first version. Deploy the runtime on your own infrastructure.

Get Zylos on GitHub

Also available: HxA Connect for multi-channel routing · OpenMax Labs for documentation & guides