LeadHaste
IntermediateNo variables to fill — paste & go

Classify cold email replies for AI inbox triage

A production-grade classifier for the 'Categorize Reply' node in an n8n, Make, or custom pipeline. Every inbound reply becomes structured JSON — category, objection type, extracted referral contacts, OOO return dates, and a requires_human flag with explicit escalation rules — so your automation routes interested replies to reps in minutes while objections and OOOs feed the right follow-up branches.

The prompt
You are a reply classification engine for a cold email inbox. You receive the raw text of one inbound reply to an outbound campaign. You output ONLY a JSON object — no preamble, no explanation, no markdown fences — matching this exact schema:

{
  "category": "interested" | "objection" | "referral" | "ooo" | "negative",
  "confidence": 0.0-1.0,
  "objection_type": "budget" | "timing" | "incumbent" | "no_need" | "trust" | "other" | null,
  "referred_contact": { "name": string or null, "email": string or null, "title": string or null } | null,
  "return_date": "YYYY-MM-DD" or null,
  "requires_human": boolean,
  "summary": one sentence, max 20 words
}

Classification rules:
- "interested": any positive engagement — questions about the product, pricing curiosity, meeting acceptance, 'tell me more'. Pricing questions are interested, not objection.
- "objection": pushback that leaves the door open — budget, timing, incumbent vendor, 'we tried this before'. Set objection_type.
- "referral": redirects to another person. Extract referred_contact fields; never invent values not present in the text — use null.
- "ooo": autoresponders. Extract return_date if stated; if a delegate is named, ALSO populate referred_contact.
- "negative": clear rejection, unsubscribe demands, hostility, legal threats.
- requires_human is true for: legal/compliance language (GDPR, CCPA, lawsuit, attorney), threats, press or partnership inquiries, existing-customer confusion, anything sexual or abusive, and any reply where confidence is below 0.7.
- Ambiguous polite brush-offs ('thanks, we're all set') are "objection" with objection_type "no_need", not "negative".
- If the reply quotes the original outbound email plus a one-line answer, classify based on the one-line answer only.
- Non-English replies: classify normally, note the language in summary.
- If the text is empty or pure signature/legal boilerplate, output category "negative", confidence 0.3, requires_human true.

Output the JSON object and nothing else.

How to use it

  1. 1

    Paste the prompt as the system prompt in your pipeline's LLM node (n8n's Claude or OpenAI node, or a direct API call), with the reply text as the user message.

  2. 2

    Wire the JSON output to a router: interested pings the rep on Slack instantly, referral and ooo feed contact-extraction branches, requires_human goes to a review queue.

  3. 3

    Test against 20 real replies from your inbox before going live — check the ambiguous ones (polite brush-offs, quoted-thread replies) land where you expect.

  4. 4

    Log every classification next to the eventual human judgment for a week, then tighten the rules section with any recurring misses.

Best practices

  • Keep the requires_human threshold conservative at first — a false escalation costs a minute of review; a hostile reply answered by automation can cost the domain.

  • Strip email signatures and quoted threads before classification where you can — n8n's code node can cut everything after the first quoted line — accuracy jumps noticeably.

  • Route by confidence, not just category: an 'interested' at 0.95 can trigger an instant rep alert, while 0.72 goes to the review queue first.

  • Re-run your misclassification log monthly and patch the rules — every inbox develops its own weird reply patterns.

Example: what this looks like in practice

A RevOps lead at a company sending 15,000 cold emails monthly wires this into n8n between the Smartlead reply webhook and a router node. Across the first week it processes 340 replies: 41 interested (reps alerted on Slack within two minutes, versus the next-morning average before), 63 objections tagged by type and fed into tailored follow-up branches, 12 referrals with contacts extracted straight into a Clay table, 96 OOOs scheduling their own re-sends, and 128 negatives auto-suppressed. Nine replies flag requires_human — including one GDPR demand and one confused existing customer that automation would have mangled. Reply-to-meeting conversion rises simply because interested replies stopped waiting overnight.

Best fit

Roles
RevOpsSales LeaderFounder / CEO
Company size
Startup (1–10)SMB (11–50)Mid-market (51–500)
Audience
B2B
Industries
Any industry
Works with
Claude, ChatGPT, Gemini
Difficulty
Intermediate

This prompt is one gear in a bigger machine. We orchestrate 20+ tools into outbound systems our clients own — and guarantee the results.

Apply for a Pilot Spot →
Prompt FAQ

Frequently asked questions

Yes — modern LLMs handle the five core categories (interested, objection, referral, OOO, negative) with high accuracy when the prompt defines edge cases explicitly: pricing questions count as interested, polite brush-offs are objections rather than negatives, quoted threads are classified by the new text only. The requires_human flag catches the genuinely ambiguous rest. Expect strong day-one performance and better-than-junior-SDR consistency after a week of rule tightening.

More reply & objection handling prompts