Classify Support Tickets with AI
Billing, Technical, Account, How-To, Feature Request — ticket triage with definitions that decide the borderline cases for the model.
Qualified, Nurture, Unqualified — a three-label pipeline gate with numeric confidence and a Strict Other for the leads that fit nothing.
Lead qualification is a classification problem wearing a scoring costume: the decision is which pipeline lane, not which number. This setup classifies leads into three lanes whose definitions encode the criteria — Qualified requires budget, authority, need, and timeline signals; Nurture is genuine interest without readiness; Unqualified is no realistic path — under Strict ambiguity with a 0–100 confidence score. The score bands are defined in the prompt (90+ unambiguous, 60–89 good fit, below 60 best available), so downstream automation can threshold them meaningfully.
Extract first, classify second
Run the lead text through extraction for the fields, then through this for the lane — two prompts, two clean jobs.
Encode your criteria in the definitions
The Qualified definition IS your qualification bar — tighten or loosen the signals there, not in extra rules.
Threshold the score, don't average it
Confidence is self-reported per lead: great for routing thresholds, meaningless as a portfolio average.
Tighten the Qualified definition itself, not the rules around it. In the LABELS block, Qualified requires budget, authority, need, and timeline signals present; sharpen those signals (for example require an explicit budget or a named decision-maker) so borderline leads fall to Nurture. The data-classification-prompt tool regenerates the label criteria; you still run the result in your own assistant.
Into your own CRM or routing automation, which you build. The prompt returns a single JSON object with a label key and a confidence key (like {"label": "Qualified", "confidence": 92}) and no markdown fences, so your code can parse it and route by threshold. NewPrompt does not run the assistant or push anything into a pipeline for you.
It is self-reported by the model, not computed, so the CONFIDENCE section states the score reflects the model's own certainty about the fit. Use the bands (90+ unambiguous, 60-89 good fit, below 60 best available) as per-lead routing thresholds; averaging them into a portfolio number is meaningless, and a human owns any consequential routing decision.
It only assigns a pipeline lane, not a forecast. The labels are Qualified, Nurture, Unqualified, and Other, and each returns the fit confidence, not an expected revenue or win rate. Deal-size and close-probability are modeling problems, not labeling; run extraction first for the lead details, then this for the lane, in your own assistant.
Billing, Technical, Account, How-To, Feature Request — ticket triage with definitions that decide the borderline cases for the model.
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.
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.