Specialist technology and software for state and local government info@hqt.orgCommunitiesGlossarySearch

AI & Automation

Triaging resident messages with AI: classification, routing, confidence

How agencies can classify and route inbound resident messages with AI while keeping staff in charge of every outcome.

Most agencies take resident messages through more doors than they have people to watch: a general inbox, a stack of web forms, voicemail that gets transcribed, a mobile app, social media, and walk-in intake that somebody types up afterward. Much of that volume is routine, and a good share of it reaches the wrong desk at least once before it reaches someone who can act on it. Automated classification can take the first pass, attaching a suggested category and a destination queue to each inbound message before a person opens it.

The design constraint that keeps this safe is narrow: the system sorts, it does not decide. It should not approve or deny a request, determine eligibility, close a case, or send a substantive answer to a resident on its own. Sorting mistakes are recoverable and visible to the staff who work the queue. Decision mistakes are neither, and they invite scrutiny that a routing tool does not need to attract.

Separate routing from deciding

Write the boundary into the design and into the contract, in plain language:

  • The model may assign a category, a suggested queue, a priority hint, a detected language, and a possible-duplicate flag.
  • The model may not determine eligibility or benefits, close or reject a request, start or stop a statutory clock, issue a substantive response, or decide who receives an inspection or site visit.
  • A person owns every queue. Routing hands work to a human, never to an automated resolution path.
  • Overrides take one click and are always available. Staff reassign without filing a ticket with IT, and every reassignment is captured.

Build the label set from closed work, not the org chart

Pull a sample of closed requests covering a full seasonal cycle, so storms, heat, tax deadlines, and school calendar peaks are all represented. Read the free text as residents actually wrote it, not the cleaned-up summary a caseworker typed later. Then shape the labels around that language.

  • Every label maps to exactly one queue with a named owner. A label with no owner is a label nobody will fix.
  • Prefer a short list your staff can hold in their heads over an exhaustive taxonomy. Split a label when two different teams work it today; merge two labels when your own reviewers cannot reliably tell them apart.
  • Flag labels that cannot be assigned from the message alone, such as anything requiring an account lookup or a field check. Those stay human-assigned.
  • Include an explicit unclear or mixed label. Residents routinely raise three issues in one message.
  • Version the label set and date it. You will need to know which version produced a given routing decision.

Confidence thresholds and the fall-back queue

Use three bands rather than a single cutoff: auto-route above a high threshold, present the label as a suggestion the intake clerk confirms in a middle band, and send everything below to a fall-back queue with no label attached. Set thresholds per label, not globally, because a model that separates potholes from streetlights confidently may still be weak on the categories that look alike.

Check calibration before trusting the numbers. A confidence score is only useful if items scored high are in fact correct at roughly that rate on your own data. Route straight to fall-back when the message is in a language you do not support, is an attachment with no text, is a transcript below a quality bar, or is unusually short or long. Give the fall-back queue a named owner and a response target. Without one it becomes a dead letter box, which is worse than the mail pile you started with.

Run deterministic rules before the classifier, and let them win. Patterns tied to self-harm, threats, violence in the home, gas odor, downed wires, water main breaks, flooding, and loss of heat or power should escalate on match, regardless of what the model returns. Tune these rules for recall rather than precision: a false alarm costs a phone call, and a miss costs much more. The classifier must never downgrade something a rule has flagged.

Pair this with clear notice on every intake channel that it is not monitored continuously and is not a substitute for 911 or a crisis line. Exercise the path during tabletop drills, including nights and weekends.

What to measure

Capture a baseline before go-live so you can tell improvement from noise.

  • Routing accuracy. Agreement between the assigned label and the category the request was actually closed under.
  • Reassignment rate. The share of auto-routed items a human later moves, tracked per label. A label with a high rate should drop back to suggest-only.
  • Time to first touch. Measured per channel and per queue, not as a single average.
  • Fall-back volume and age. Rising volume usually means a label gap, not a model problem.
  • Equity checks. Compare accuracy and time to first touch across language, channel, and geography. Voicemail transcripts and non-English messages are the common weak spots.

The audit trail an oversight body will ask for

Log, per message: the text as received, the model and version, the label set version, the scores returned, the threshold in effect, the action taken, the reviewer if any, timestamps, and any later reassignment with its reason. Keep a written plain-language description of how the system works and where humans intervene.

Treat this metadata as a public record unless your records officer says otherwise, and align retention with your existing schedule. Requirements for automated decision systems, disclosure, and inventory reporting vary by state and are changing; confirm current obligations with your counsel and records officer rather than relying on a vendor's summary.

What to ask vendors, and how to start

  • Can we see and edit the label set ourselves, and export it?
  • Are confidence scores exposed per label, and can we set thresholds per label without a change order?
  • How are safety rules configured, and can they run independently of the model?
  • What exactly is logged, in what format, and can we export the full trail?
  • Is our resident data used to train shared models, and can we decline?
  • What happens to routing if the service is unavailable?

Start narrow. Pick one channel and one department, run the classifier in shadow mode with no routing effect, compare its labels against what staff actually did, then enable suggest-only, and enable auto-routing last and only for labels that have earned it.

HQT builds and integrates intake, classification, and workflow systems for state and local agencies, including the review queues, logging, and measurement that keep them accountable.

Frequently asked questions

Can AI decide how to handle a resident request, or only where to send it?

For a triage system, restrict it to sorting: a suggested category, a destination queue, a priority hint, and flags such as possible duplicates. Decisions about eligibility, approval, denial, closure, or substantive responses should stay with staff. Sorting errors are visible and easy to correct, while decision errors are harder to detect and carry far more legal and public exposure.

What confidence threshold should we use for automatic routing?

There is no universal number, and thresholds should be set per label rather than once for the whole system. Start by running the classifier in shadow mode against work your staff already routed, then pick a per-label cutoff where the auto-routed items match human judgment consistently enough that reassignments stay rare. Use a middle band where the label appears as a suggestion a clerk confirms, and send anything below to a human-reviewed fall-back queue.

How do we keep urgent or safety-related messages from being mishandled by automation?

Run deterministic keyword and pattern rules before the classifier and let a match escalate immediately, regardless of the model's output. Tune those rules to over-trigger, since a false alarm costs a phone call while a miss can cost much more. Post clear notice on every intake channel that it is not monitored continuously and is not a substitute for 911 or a crisis line, and test the escalation path during drills.

What records should we keep for an audit of automated routing?

Keep, for each message, the text as received, the model and label set versions, the confidence scores, the threshold in effect, the action taken, any human reviewer, timestamps, and any later reassignment with its reason. Also keep a plain-language written description of how the system works and where people intervene. Retention and public-records treatment of this metadata vary by state and are changing, so confirm current obligations with your records officer and counsel.

How do we know whether the routing is actually working?

Measure routing accuracy against the category each request was finally closed under, the share of auto-routed items staff later reassign, time to first touch by channel and queue, and the size and age of the fall-back queue. Track each metric per label, since one weak category can hide inside a healthy average. Establish these measures before go-live so you can distinguish real improvement from normal variation.

Get in touch

Have a project or a solicitation coming up?

Talk with an HQT engineer. We respond to agency, corporate, and partner inquiries promptly.