| name | find-customers |
| description | Find relevant companies and leads for B2B sales with ICP definition and qualification frameworks. |
Find Customers
Find relevant companies and leads for B2B sales. Define ideal customer profiles, identify target accounts, qualify prospects, and organize research for outreach.
When to Use
- User wants to find companies that match their ICP
- User needs to build a prospect list for sales outreach
- User wants to research target accounts
- User needs lead qualification analysis
When NOT to Use
- Writing outreach sequences (use sdr-outreach or cold-email-writer skills)
- Recruiting candidates (use ai-recruiter skill)
- General market research (use deep-research skill)
Methodology
Step 0: Interview the User About Their Business
Before doing any research, interview the user. Most users won't give you enough context unprompted — they'll say "find me customers" without explaining what they sell or who buys it. Use multi-option quizzes to make this fast and low-friction. Ask one question at a time.
Question flow:
-
What do you sell?
- A) Software / SaaS
- B) Physical product
- C) Professional services / consulting
- D) Marketplace / platform
- E) Something else (describe)
-
Who buys it?
- A) Other businesses (B2B)
- B) Consumers (B2C / DTC)
- C) Both
-
(If B2B) What size companies?
- A) Startups / small teams (1-50 people)
- B) Mid-market (50-500)
- C) Enterprise (500+)
- D) Not sure yet
-
What's your price point?
- A) Under $100/mo
- B) $100-$1,000/mo
- C) $1,000-$10,000/mo
- D) $10,000+/mo or custom pricing
- E) One-time purchase
-
Who inside the company makes the buying decision?
- A) Engineering / technical (CTO, VP Eng, developers)
- B) Marketing (CMO, growth, content)
- C) Sales / revenue (CRO, VP Sales, RevOps)
- D) Operations / finance (COO, CFO)
- E) Founder / CEO directly
- F) Not sure
-
Do you have existing customers?
- A) Yes, paying customers — I can describe who they are
- B) A few early users / pilots
- C) No customers yet
-
(If they have customers) What do your best customers have in common? (free text — this is the most valuable answer)
-
Any industries or verticals you're focused on? (free text or skip)
If the user provides a detailed prompt upfront, skip the questions they already answered. Don't re-ask what's obvious. But if key info is missing (who buys, what size, what price), ask before proceeding — the ICP will be wrong without it.
Step 1: Define ICP (Ideal Customer Profile)
An ICP describes accounts where three things are true: they can buy (budget/size fit), they will buy (pain exists now), and they will stay (retention profile). Pick 6-10 attributes — more than 10 and nothing qualifies.
| Attribute | How to define it | Example |
|---|
| Headcount | Hard range, not "SMB" | 50-500 employees |
| Revenue | Estimate from headcount if private | $10M-$100M ARR |
| Industry | NAICS/SIC codes or named verticals | SaaS, fintech, digital health |
| Geography | Where you can legally sell + support | US, UK, Canada |
| Tech stack | Tools that signal fit (technographics) | Uses Salesforce + Segment + AWS |
| Funding stage | Proxy for budget + growth pressure | Series A-C, raised in last 18mo |
| Hiring signals | Job posts reveal priorities | Hiring "RevOps" or "Head of Data" |
| Negative signals | Disqualifiers — the sharpest filter | <20 employees, agency model, on-prem only |
ICP vs Buyer Persona: ICP = which company. Persona = which human inside it. A Series B fintech (ICP) has a VP Eng who cares about velocity and a CFO who cares about cloud spend (two personas, different messaging).
Step 2: Source Accounts
Free sources (use webSearch + webFetch):
- Crunchbase —
site:crunchbase.com "series a" fintech 2025 for funding events
- LinkedIn —
site:linkedin.com/company [industry] "11-50 employees" (headcount filter leaks into page text)
- BuiltWith / Wappalyzer lookups —
webFetch a prospect's homepage, then scan source for tech signatures (Segment snippet, Intercom widget, Shopify checkout)
- Job boards —
site:linkedin.com/jobs "[target company]" "data engineer" reveals what they're building; site:greenhouse.io and site:lever.co for startup hiring
- G2 / Capterra category pages — companies reviewing competitors are in-market
- GitHub orgs — public repos reveal tech stack and eng team size for dev-tool ICPs
- SEC EDGAR (public cos) — 10-K "Risk Factors" sections list the exact problems they're worried about
Paid sources the user likely has (shape output for these):
- Apollo (~210M contacts, $49+/mo) — best value for SMB/mid-market, filters on headcount growth + job postings + intent
- LinkedIn Sales Navigator (~1B profiles) — most accurate job-change data, but no email export
- ZoomInfo — strongest US enterprise coverage + intent data (tracks content consumption across the web)
- Clay ($134+/mo) — waterfall enrichment: chains Apollo → Hunter → Cognism to maximize match rate. Best for teams with RevOps capacity.
- Cognism — best EU/UK data + phone-verified mobiles (GDPR-compliant)
Step 3: Buying Signals (Trigger Events)
Prospects with an active trigger convert 3-5x higher. Rank by signal strength:
| Signal | Why it matters | How to find it |
|---|
| New exec in target persona | New VPs buy tools in first 90 days | site:linkedin.com "[company]" "I'm excited to join" or Sales Nav job-change alerts |
| Funding round | Budget just unlocked | Crunchbase, webSearch: "[company] raises" |
| Hiring spike in relevant role | Building the team that needs you | LinkedIn Jobs count, site:greenhouse.io/[company] |
| Tech stack change | Migration = pain = budget | BuiltWith historical, job posts mentioning "migrating from X" |
| Competitor displacement | Negative G2 review of competitor | site:g2.com "[competitor]" 1-star OR 2-star |
| M&A / new product launch | Org chaos creates tool gaps | Press releases, TechCrunch |
| Earnings call mentions | Public co priority signals | webFetch SeekingAlpha transcripts, Ctrl-F for your problem space |
Step 4: Qualify & Tier
Fast disqualification (do this first): Before researching, kill accounts that fail any hard constraint — wrong geo, below headcount floor, competitor customer under contract, recent layoffs (no budget).
Qualification frameworks:
- BANT (Budget / Authority / Need / Timeline) — fine for transactional/SMB
- MEDDPICC (Metrics / Economic buyer / Decision criteria / Decision process / Paper process / Identify pain / Champion / Competition) — use for enterprise deals >$50k. The extra P's (paper process, competition) matter because enterprise deals die in legal/procurement, not in the pitch.
Tiering:
- Tier 1 — ICP match + active trigger in last 30 days → full personalization, multi-channel, SDR owns it
- Tier 2 — ICP match, no trigger → lighter-touch automated sequence, monitor for triggers
- Tier 3 — Partial fit → newsletter/nurture, revisit quarterly
Step 5: Scale with Parallel Agents
Target minimum 40 prospects. A single sequential search won't get there fast enough. Use startAsyncSubagent to run 5 parallel research agents, each focused on a different search angle:
- Industry/vertical search — companies in the target vertical via Crunchbase, G2 category pages
- Funding/growth search — recently funded companies matching the ICP
- Hiring signal search — companies hiring for roles that indicate they need the user's product
- Competitor customer search — companies using competitors or reviewing them on G2/Capterra
- Lookalike search — competitors and alternatives to any strong-fit companies already found
Each agent should return 10-15 prospects with all columns filled in. Deduplicate after all agents return via waitForBackgroundTasks, then merge into the final spreadsheet.
Step 6: Output as a Spreadsheet
Build a real spreadsheet using the excel-generator skill or write a CSV file — not a markdown table. The output should be something the user can import directly into a CRM, Clay, or Apollo.
Columns:
| Company | Domain | Headcount | Fit Score (1-5) | Trigger | Trigger Date | Target Contact Name | Target Title | LinkedIn URL | Email (if found) | Why Now (1 sentence) |
- LinkedIn URL — search for the target persona at the company:
site:linkedin.com/in "[company]" "[title]". Include direct profile links.
- Email — look for email patterns via
webSearch("[company] email format" OR "[name] [company] email"). Common patterns: first@company.com, first.last@company.com. If not found, leave blank and note the likely format.
- Why Now — the most valuable column. It's the first line of the cold email.
The spreadsheet should be downloadable and ready to import — not just displayed as text.
Deep Research for Complex ICPs
For industries or markets you don't know well, pull in the deep-research skill to build context before prospecting. This is especially useful when:
- The user sells into a niche vertical you don't have strong priors on (e.g., "construction tech", "veterinary SaaS")
- You need to understand market landscape, key players, and buyer behavior before defining the ICP
- The user wants competitor analysis as part of the prospecting process
Use deep-research to gather industry context, then return here to build the prospect list with that knowledge.
Agent Tactics
Tech stack detection:
Use webSearch("[company] tech stack" OR "[company] built with") to find BuiltWith/Wappalyzer/StackShare profiles. Common signatures to look for in search results:
- Segment, Intercom, Stripe, Shopify, Google Analytics
- Job postings often reveal stack:
webSearch("[company] careers engineering")
Note: webFetch returns markdown content, not raw HTML — script tags and asset URLs are stripped. Use search-based detection rather than HTML source scanning.
Waterfall search pattern: If one query returns nothing, don't stop — try synonym variants. "VP Engineering" OR "Head of Engineering" OR "Engineering Lead" OR "CTO" all map to the same persona at different company sizes.
Lookalike expansion: Once you find 5 good-fit accounts, search for their direct competitors — webSearch: "[good-fit company] vs" or "[good-fit company] alternatives" surfaces the category.
Best Practices
- 50 researched > 500 sprayed — reply rates on researched lists run 3-5x higher
- Disqualify before you qualify — negative filters are cheaper to check
- Trigger freshness decays fast — a funding round is a 60-day window, a job change is a 90-day window
- Enrich once, cache the result — don't re-research the same account every sequence
- B2B data decays ~30%/year — any list older than 6 months needs re-verification
Limitations
- Cannot log into LinkedIn Sales Navigator, Apollo, ZoomInfo, or Clay — builds search strategies the user executes
- Cannot verify email deliverability (user should run through NeverBounce/ZeroBounce before sending)
- Cannot detect intent data (Bombora/6sense-style content consumption signals require paid platforms)
- Company headcount/revenue estimates from public web are approximate — private company data is inherently fuzzy