AI Qualification Prompt Pack
Score every inbound reply for fit and intent in 4 seconds. The prompts that power Xpand's AI lead routing.
Why this exists
Manual lead qualification is the highest-cost, lowest-value SDR activity. AI does it in 4 seconds with consistency a human team can not match at scale. Across one Series A engagement, this prompt stack lifted SAL conversion from 18% to 62% in 90 days by routing high-fit-high-intent replies to the AE Slack with 30-minute SLA, while AI auto-handled politely-decline replies.
Manual lead qualification is the highest-cost, lowest-value SDR activity. AI does it in seconds with consistency a human team cannot match at scale. These prompts are the production version Xpand runs across n8n workflows for B2B clients. Output is structured JSON that writes directly to HubSpot, Salesforce, Close, or any CRM.
Prompt 1: Fit scoring
Run this prompt when a new lead enters the system (form fill, cold email reply, demo request). Output: a fit score 1-10 with reasoning.
You are a B2B sales qualification assistant for [YOUR COMPANY], which sells [WHAT YOU SELL] to [YOUR ICP].
ICP definition:
- Industry: [list]
- Company size: [range]
- ARR / revenue range: [range]
- Geography: [list]
- Tech stack signals: [list]
- Disqualifiers: [list]
Lead context:
- Name: {{lead.name}}
- Title: {{lead.title}}
- Company: {{lead.company}}
- Company size: {{lead.headcount}}
- Industry: {{lead.industry}}
- Country: {{lead.country}}
- Reply / form text: {{lead.message}}
Score this lead's fit on a scale of 1-10:
- 9-10: Exact ICP match across all firmographic and disqualifier checks
- 7-8: Matches core ICP but one filter is off
- 5-6: Partial match, would require unusual sales motion
- 1-4: Outside ICP
Output ONLY JSON:
{
"fit_score": <integer 1-10>,
"reasoning": "<one sentence>",
"match_signals": ["<signal 1>", "<signal 2>"],
"disqualifiers_triggered": ["<disqualifier or 'none'>"]
}
Prompt 2: Intent scoring (for outbound replies)
Use after a positive cold email reply. Distinguishes between hot intent (book a meeting now), warm intent (interested but later), and cold/objection (politely declining or asking for info to evaluate).
You are an outbound reply classifier for [YOUR COMPANY].
Reply text: {{reply.body}}
Classify this reply on intent (1-10):
- 9-10: Hot. explicit ask to book a meeting or see a demo
- 7-8: Warm. interested but timing is later (Q+1, after vacation, after a milestone)
- 5-6: Curious. wants info before evaluating, content request
- 3-4: Objection that can be handled (wrong title, sent to colleague)
- 1-2: Hard no, unsubscribe, off topic
Output ONLY JSON:
{
"intent_score": <integer 1-10>,
"intent_label": "<hot|warm|curious|objection|no>",
"next_action": "<book_meeting|send_resource|nurture_sequence|loop_to_correct_person|unsubscribe>",
"summary": "<one sentence summary of what they said>"
}
Prompt 3: Routing decision
Combine fit and intent into a single routing decision. Use this in your n8n / Zapier workflow to route to the right SDR, AE, or queue.
Route this lead based on:
- Fit score: {{fit_score}}
- Intent score: {{intent_score}}
Routing logic:
- Fit 8+ AND Intent 8+: Route to AE, SLA 30 minutes, Slack alert
- Fit 8+ AND Intent 5-7: Route to SDR, SLA 4 hours
- Fit 5-7 AND Intent 8+: Route to SDR, SLA 4 hours, flag fit gap
- Fit 5-7 AND Intent 5-7: Drip sequence, no human touch
- Fit < 5: Politely decline / unsubscribe, no human touch
Output ONLY JSON:
{
"owner": "<email_or_team>",
"sla_minutes": <integer>,
"slack_channel": "<channel_or_null>",
"rationale": "<one sentence>"
}
Implementation in n8n
-
1
Create an n8n workflow with a webhook trigger pointing to your form, CRM, or email reply source
-
2
Add an OpenAI / Anthropic node configured with your API key
-
3
Send each prompt in sequence. fit first, intent second, routing third
-
4
Parse the JSON outputs and map to your CRM fields
fit_score → custom field, intent_score → custom field, owner → assigned_to, sla_minutes → due_date, slack_channel → notify trigger.
-
5
Add a Slack node for hot leads (Fit 8+, Intent 8+) so the AE knows immediately
-
6
Test with 20 historical leads against ground truth. confirm 80%+ classification accuracy before going live
Run these on Claude Sonnet 4.6 or GPT-4o. The cost per lead qualification is under 1 cent. ROI is hours of SDR time saved per week. typically 8-12 hours per SDR per week reclaimed for actual selling.
Tuning the prompts
-
✓
Audit 50 outputs in week one. confirm fit and intent labels match reality
-
✓
Adjust the ICP definition section if scoring is consistently off in one direction
-
✓
Add 2-3 example classifications to the prompt (few-shot learning) if accuracy is below 80%
-
✓
Review monthly. your ICP and intent patterns drift over time, the prompts should drift with them
How to use it well
Run all three prompts (fit scoring, intent scoring, routing decision) in sequence inside one workflow (n8n or Make). Calibrate the first 100 leads against human ground truth before going live. Agreement should be 85%+ on fit, 78%+ on intent. Audit weekly. Leads marked low-fit who replied positively are training data gaps. Add them as few-shot examples in the prompt.
What good looks like
Real fit + intent scoring output for a hot inbound demo request.
{
"fit_score": 9,
"intent_score": 9,
"intent_label": "hot",
"next_action": "book_meeting",
"summary": "VP Demand Gen at Series B fintech (200 FTE, $18M ARR) explicitly asking to book a demo for next week. Tech stack matches ICP (HubSpot + Apollo + Outreach). No disqualifiers triggered.",
"match_signals": ["industry: fintech", "ARR: 18M (in range)", "title: VP Demand Gen (primary decision-maker)", "tech: HubSpot+Apollo (ICP match)"],
"disqualifiers_triggered": [],
"owner": "ae-marcus@xpand.com",
"sla_minutes": 30,
"slack_channel": "#hot-leads"
}
FAQ
Which model should I use. GPT-4o or Claude?
Both work. Xpand uses Claude Sonnet 4.6 for fit scoring (better at complex disqualifier logic) and GPT-4o for intent scoring (more consistent on tone classification). Run both in parallel for two weeks, compare outputs, pick the winner per task.
How accurate is AI qualification compared to a human SDR?
85-92% agreement on fit scoring after tuning, 78-86% on intent scoring. Where AI loses ground is nuanced replies that reference internal politics or unusual buying processes. Route disagreements to a human reviewer for the first 100 leads to calibrate.
Will AI qualification miss good leads?
Edge cases yes, especially when the lead's company doesn't match firmographic data sources. Run a weekly review of leads classified as low-fit but who replied positively. these are training data gaps. Add them to the few-shot examples in your prompt.
Where do the JSON outputs go?
Directly into CRM custom fields via webhook. HubSpot, Salesforce, Close, Pipedrive, and Attio all accept structured payloads. Map fit_score and intent_score to numeric fields, owner to user assignment, slack_channel to a notification trigger.