Setup loaded. Click Generate Classification Prompt.

Structured Output

Data Classification Prompt

Define a closed label set — with real definitions, not just names — and get a classification prompt with edge-case rules, an ambiguity policy, and a confidence output contract. Tickets, feedback, leads, reviews, moderation queues. Runs entirely in your browser.

What kind of text gets classified, and why? E.g. "Classify support tickets into predefined categories."

Label Set *

The tool's heart: every label with a one-sentence definition. Leave a definition empty and the library fills known labels (Spam, Billing, Refund…) automatically. Reorder with ↑ ↓.

Ambiguity Handling

Strict adds an "Other" escape hatch — a forced wrong label is worse than no label.

Label Mode

Changes the edge-case rules: dominant-label vs every-label-that-applies.

Confidence Output

An output contract, not a computation — the model self-reports how well the label fits.

Output Format

For full contract control — schema types, strictness — use the JSON Output Prompt Builder.

Label Set Preview (live — the definitions your prompt will carry)

            

AI Resource Library

Resources for this tool

View All Resources →

Workflow Playbooks

Playbooks that use this tool

All Playbooks →
Structured Output Workflows · 3 steps

AI Classification Workflow

Build a text classification step you can automate on — pull out the unit to classify, assign a label from a fixed set, and validate the label is one you actually allow.

View Playbook →
Operations Workflows · 4 steps

AI Customer Support Workflow

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.

View Playbook →

How it works

Describe the classification goal, then build the label set — the tool's heart: every label gets a one-sentence definition, because models classify against definitions, not names. Leave a definition empty and the built-in library fills known labels (Spam, Billing, Refund Request, Harassment…) automatically; the live preview shows exactly which definitions your prompt will carry and where they came from. Choose ambiguity handling (Best Match always picks the closest label; Strict adds an honest "Other" escape hatch), single or multiple labels (which rewrites the edge-case rules), and a confidence output contract (none, low/medium/high, or a 0–100 score). Click Generate Classification Prompt for the full prompt: label definitions, classification rules, edge-case rules, ambiguity policy, confidence contract, and an example response in JSON, YAML, XML, or CSV. Nothing leaves your browser.

Use cases

  • Triaging support tickets into routing categories that stay consistent
  • Categorizing customer feedback, reviews, and survey responses at volume
  • Routing inbound emails and sales inquiries by intent
  • Labeling content against a moderation policy before publication

Pro tips

  • The definition is the classifier. "Billing" alone forces the model to guess what you mean; "Questions about invoices, charges, refunds, or plan pricing" decides borderline cases for it. Spend your effort there.
  • Write definitions that exclude: "A request for guidance on using the product as designed — nothing is broken" keeps How-To Question and Technical apart far better than two positive definitions would.
  • Use Strict ambiguity when a wrong label costs more than an unprocessed item (moderation, lead routing). A forced wrong label is silent; an "Other" shows up in your review queue.
  • Confidence output is triage fuel, not truth: route high-confidence labels automatically and send low-confidence ones to a human. Just don't average the scores — they're self-reported.

FAQ

How is this different from the Extraction Prompt Generator?

Extraction pulls values out of the text — a name, a total, a date that's literally in there. Classification chooses from labels you defined before the text ever arrived. "Customer says payment failed twice and wants a refund" extracts to customer intent details; it classifies to Billing or Refund Request. If the answer comes from the text, extract; if the answer comes from your label set, classify.

Why does every label need a definition?

Because the model classifies against meanings, not words. Without definitions, "Technical" vs "How-To Question" is decided by the model's own assumptions — differently each run. A one-sentence definition turns each label into a checkable rule, and the borderline cases (the ones that matter) get decided by your sentence instead of the model's mood.

What does the confidence output actually measure?

It's an output contract, not a computation: the prompt instructs the model to self-report how well the chosen label fits — high/medium/low or a 0–100 score with defined bands. That's useful for routing (auto-accept high, human-review low), but it is not a calibrated probability. The tool is honest about this; the prompt says "self-reported, not computed".

What happens when a text fits two labels?

That's the edge-case block, and it changes with the label mode. Single Label: choose the label matching the text's primary purpose, and prefer the more specific definition on a tie. Multiple Labels: return every label that genuinely applies, strongest first — but a merely mentioned topic doesn't earn its label.

When should I use Strict mode's "Other"?

When a forced wrong label costs more than an unclassified item. Best Match never refuses — right for sentiment, where something must be chosen. Strict adds "Other: does not clearly fit any label above" to the set — right for moderation and routing, where the items that fit nothing are exactly the ones a human should see.

Where do the automatic definitions come from?

A built-in library of several dozen common labels — Spam, Billing, Refund, Harassment, Qualified, Closed Won, and so on. If you leave a definition empty and the label name matches, the library's definition is used and marked (auto) in the preview. Your own definition always wins; for labels specific to your domain, write one — the prompt will otherwise carry an honest [Define …] placeholder rather than an invented meaning.