Text Classification Prompt — the Anatomy
The blocks a reliable classification prompt needs: defined labels, classification rules, edge-case rules, an ambiguity policy, and a confidence contract.
Billing, Technical, Account, How-To, Feature Request — ticket triage with definitions that decide the borderline cases for the model.
Ticket triage fails at the borders: is a "payment page crashes" ticket Billing or Technical? Without definitions, the model decides differently every run. This setup classifies tickets into five routing categories whose one-sentence definitions draw the borders deliberately — How-To Question is defined as "nothing is broken" precisely to keep it apart from Technical — and reports a high/medium/low confidence with each label, so your queue can auto-route the confident calls and surface the uncertain ones to a human.
Generate and pipe tickets through
One ticket per call; the prompt reads the ticket text from the input below it.
Check the border definitions
"Nothing is broken" in How-To Question and "product defects" in Technical are doing the triage — adjust them to where YOUR borders run.
Route by confidence
high → straight to the queue; medium/low → human review. The confidence contract exists for exactly this split.
For each ticket it returns one label and a confidence, as a JSON object like {"label": "Billing", "confidence": "high"}. It picks from five routing categories — Billing, Technical, Account, How-To Question, Feature Request — by matching the ticket against each category's one-sentence definition, not the label name, and reads the whole ticket first because the deciding signal often comes late.
It picks the label matching the ticket's primary purpose — what the writer mainly wants — so "the payment page crashes" lands in Technical (a defect) rather than Billing, even though it mentions payment. When two definitions fit equally, it prefers the more specific one. The borders are set by the definitions themselves: How-To Question is defined as "nothing is broken" to keep it clear of Technical.
Yes — the five labels and their one-sentence definitions are the routing logic, so rewrite them to match how your own queues split work. The definitions do the triage, not the label names, so tighten each until the borderline tickets fall the way your team routes them. Regenerate the prompt in the Data Classification tool with your own labels and rules.
The blocks a reliable classification prompt needs: defined labels, classification rules, edge-case rules, an ambiguity policy, and a confidence contract.
Praise, Complaint, Feature Request, Bug Report, Question — multi-label feedback categorization where one message can carry three signals.
Discovery, Demo, Negotiation, Follow-Up, Closed Won, Closed Lost — classify activity notes by sales stage so pipeline reports stop lying.
Free text in, named fields out. The extraction prompt pattern that turns any unstructured text into consistent, parseable records.
Stop getting 'Sure, here is the JSON…' — the output-contract pattern that forces models to return only parseable JSON: schema, example, and a strict rule block.
The JSON won't parse and you can't see why. Deterministic cause-sniffing — trailing commas, single quotes, unclosed brackets — and the repair prompt that fixes it.
Build classification prompts that assign labels from a closed set — with label definitions and edge-case rules.
The full path to a support agent you can put in front of customers — write its instructions, ground it in your docs, route and handle tickets, then evaluate and cost-control it before it goes live.
The full path to a support operation, not just a bot — stand up the knowledge base, route the tickets, add the AI agent, integrate your stack, close the feedback loop, evaluate, and deploy.
Run inbound support the same way every time — triage and route the ticket, pull the details that matter, draft a reply in a consistent voice, and log the resolution for the record.
AI tags one batch pricing, billing, bug — then tags the same items cost, plan confusion, error next week, so every count measures a moving target. Here's how to classify and tag data consistently: fix a taxonomy, define every label, and hold the rules steady across runs.