toflow.ai Logo

ICP Qualifier

Give the AI a LinkedIn URL, name, or person ID. It enriches the prospect, scores them across five dimensions, and saves the ICP score and key talking points back to toflow.

Connect toflow

Instructions

When a user wants to qualify a prospect against their ICP, first understand their ICP definition, then find or enrich the person, research their company and tool stack, score across five dimensions using their criteria, and save the result to toflow after user approval.

Steps

Step 1: Gather ICP definition from the user

Before scoring anything, ask the user the following questions. Do not proceed until you have enough to calibrate the scoring dimensions:

  1. Target company profile — What industries, company sizes, and business models fit best? (e.g. B2B SaaS, 20-200 employees, Series A-C)
  2. Buying role — Which titles have budget authority in their sales cycles? (e.g. VP Sales, CRO, Head of Revenue, Founder)
  3. Pain they solve — What problem does their product fix? What tools or processes signal that pain? (e.g. using fragmented outbound tools, manual prospecting, no SDR team yet)
  4. Strongest buying signals — What recent events or behaviors indicate urgency? (e.g. fundraise, SDR hiring, rebranding, entering new market)
  5. Disqualifiers — What immediately rules a prospect out? (e.g. SMB under 10 employees, no sales team, purely inbound motion)

If the user has already described their ICP in a previous message or it is obvious from context, confirm your understanding before proceeding rather than asking again.

Step 2: Find or create the prospect in toflow

If the user provides a LinkedIn URL, call mcp__claude_ai_toflow__enrich_person_by_linkedin to fetch their full profile and create or update them in toflow.

If the user provides a name or email, call mcp__claude_ai_toflow__list_records with resource_type=person and search=name_or_email to find them in the CRM.

If enrichment is in progress, call mcp__claude_ai_toflow__get_person_enrichment_status with the returned task_id to poll until it completes.

Step 3: Pull their full CRM profile

Call mcp__claude_ai_toflow__get_person using the returned person_id to get their current title, company reference, existing ICP Score field (check if they have already been scored — if yes, show the existing score and ask whether to re-score), and any Key Talking Points already saved.

Step 4: Pull company data

Call mcp__claude_ai_toflow__get_company using the company reference from the person record to get company size, industry, funding stage, website, and description.

Step 5: Research tool stack and buying signals

Use web search to check:

  • Their company's job postings (signals pain with current tools and budget)
  • LinkedIn tech mentions in their posts or profile
  • The company's integrations page or tech stack indicators
  • Recent news: funding, hiring, product launches, rebranding

Step 5: Score across five dimensions

Score the prospect on a 100-point scale across five dimensions, calibrated to the ICP definition gathered in Step 1:

DimensionMax PointsWhat to evaluate
Company Fit25How closely the company matches the target profile (industry, size, business model) from the user's ICP definition
Role Fit25Whether the prospect holds a title with budget authority as defined by the user. Exact match = full points. Adjacent role = partial. No authority = minimal
Pain Signal20Evidence the prospect experiences the specific problem the user's product solves, based on the pain indicators they described
Buying Signals20Presence of the triggers the user flagged as indicating urgency (funding, hiring, rebranding, tool evaluation, inbound activity)
Disqualifier Check10Deduct points if any user-defined disqualifiers are present. Full 10 if clean, partial deductions for borderline cases

Tiers:

  • 80-100: Hot — high-touch outreach, prioritize immediately
  • 60-79: Warm — standard outreach sequence
  • 40-59: Lukewarm — low-touch nurture, revisit in 30-60 days
  • 20-39: Weak — deprioritize, check again after major trigger event
  • Below 20: Disqualify — not a fit at this time

Step 7: Present the ICP Qualification Report

Show the full report including score breakdown by dimension, overall score and tier, recommended next action, and key talking points tailored to their specific situation.

Ask the user: "Shall I save this score and talking points to their toflow record?"

Step 8: Save to toflow after approval

Only after explicit user confirmation, call mcp__claude_ai_toflow__record_schema with resource_type=person to confirm the correct field names for ICP Score and Key Talking Points.

Then call mcp__claude_ai_toflow__update_record with resource_type=person and the person_id to write the ICP Score and Key Talking Points fields.

Important Notes

  • Always collect the user's ICP definition (Step 1) before scoring. Generic scores based on assumed criteria are not useful.
  • Always check if the prospect already has an ICP Score in toflow before scoring. Show the existing score and ask whether to re-score rather than overwriting automatically.
  • Never save scores back to toflow without explicit user confirmation.
  • If company data is thin or the website is sparse, state your assumptions and flag them in the report.
  • If enrichment times out, call get_person_enrichment_status to poll — do not assume it failed.
  • The key talking points should reference something specific to this person and company, not generic product benefits.

Example

User: "Qualify this prospect: linkedin.com/in/priya-sharma-vp-sales"

  1. Calls enrich_person_by_linkedin with the URL. Returns person_id.
  2. Calls get_person — title: VP of Sales, company reference linked, no existing ICP Score.
  3. Calls get_company — 80-person B2B SaaS company in fintech, Series A.
  4. Web searches their job postings — actively hiring 2 SDRs, job description mentions "building outbound from scratch."
  5. Scores:
    • Outbound Motion: 25/25 (hiring SDRs, building outbound)
    • Company Fit: 20/20 (B2B SaaS, 80 employees)
    • Tool Stack Pain: 15/20 (using basic tools, early stage)
    • Role Fit: 20/20 (VP Sales with budget)
    • Buying Signals: 12/15 (Series A funding, SDR hiring)
    • Total: 92/100 — Hot
  6. Presents report with recommended action: "Prioritize immediately. Lead with their SDR hiring signal — they are building outbound and will need a sales engagement tool."
  7. User confirms. Calls record_schema to check field names. Calls update_record to save ICP Score = 92 and Key Talking Points.

Troubleshooting

ProblemSolution
Enrichment times outCall get_person_enrichment_status(task_id) to poll. Do not assume failure after the first timeout.
Person already has an ICP ScoreShow the existing score and ask whether to re-score. Never overwrite without confirmation.
Company data is missingUse web search to supplement. State which data points are from search vs. CRM and flag assumptions in the report.
Field names for ICP Score are unknownCall record_schema(resource_type=person) before any update_record call. Never guess attribute names.
Prospect is not in toflowIf LinkedIn URL provided, use enrich_person_by_linkedin to create them. If only name/company, call record_schema first, then create_record.