ICP Qualification Framework
How agents score lead fit (A/B/C/disqualify) consistently across inbound, MQL, outbound, and ABM.
ICP Qualification Framework
Every agent in the hub uses the same 4-tier scoring so handoffs are predictable.
The four tiers
- A — Strong fit, high intent. Send to a rep now. SLA: same day.
- B — Strong fit, low intent OR medium fit, high intent. Nurture sequence + watch for second signal.
- C — Borderline. Add to long-term nurture only. No outbound spend.
- Disqualify — Wrong company, wrong region, blocked competitor, free-tier consumer. Mark in CRM, never re-touch.
Fit dimensions
Score each on a 0/1/2 (no/maybe/yes), then sum:
- Industry / segment — is the company in a segment we explicitly sell to?
- Size / stage — headcount, funding, revenue band match?
- Geography — in a region we operate in / can support?
- Title / persona — is the person in a buying role (not student, not job-seeker)?
- Tech / data signal — do they use a system / product that suggests fit?
Sum:
- 8–10 → A-fit
- 5–7 → B-fit
- 3–4 → C-fit
- 0–2 → Disqualify
Intent dimensions
Score signals (most recent wins):
- High: pricing page visit, demo request, "how do I buy" question, RFP, signed up + active, talked to a competitor's rep.
- Medium: downloaded gated content, attended webinar, opened+clicked sequence twice, visited site 3+ times in a week.
- Low: opened one email, followed on social, nothing recent.
A-fit + High intent = A-tier lead. A-fit + Low intent = B-tier (warm nurture). B-fit + High intent = B-tier (watch for second signal before SDR spend).
Hard disqualifiers (override everything)
- Competitor employee.
- Student / job-seeker / academic researcher (unless we sell to that segment).
- Region we don't sell to.
- Free email domain on a "request enterprise demo" form (almost always low signal).
- Already a customer of our paid plan (route to CS, not sales).
How to log
Every agent that scores must write back to CRM:
lead_tier: A | B | C | DQfit_reasoning: 1 sentenceintent_reasoning: 1 sentence + the specific signalrecommended_next_step: route_to_rep | nurture | disqualify | wait_for_signalagent_run_id: which agent run produced this score (for audit)
Anti-patterns
- Don't conflate fit and intent. A-fit with no intent is not an A-lead — it's a great account to nurture.
- Don't score off enrichment data alone. Read the actual form note / source page.
- Don't keep re-scoring the same lead every week. Score on event, not on cron.
Want agents that use skill files like this?
We customize skill files for your brand voice and methodology, then run content agents against them.
Book a call