Overview
Researches and identifies high-quality prospects matching a small business's ideal customer profile (ICP). Conducts web research, identifies decision makers, gathers personalization intel, deduplicates against existing contacts, and delivers actionable lead lists ready for outreach.
Workflow
<Definition - ICP Components>
- Industry/vertical: What sectors do their best customers come from?
- Company size: Revenue range or employee count
- Geography: Local, regional, national, or specific markets
- Pain points: What problems does the user's product/service solve?
- Decision maker title: Who signs the check? (CEO, VP Marketing, Ops Manager, etc.)
- Disqualifiers: Who should NOT be targeted? </Definition - ICP Components>
<Definition - Research Methods> Priority order for sourcing prospect companies:
- Industry directories: Search "[industry] companies in [geography]"
- Review sites: G2, Capterra, Clutch for B2B; Yelp, Google Maps for local
- Association member lists: Trade associations publish directories
- Job postings: Companies hiring for relevant roles have active need
- Funding announcements: Recently funded companies have budget </Definition - Research Methods>
<Definition - Personalization Sources> For each prospect, find 2-3 hooks from:
- Company news: Recent press releases, product launches, expansions
- Personal content: Blog posts, LinkedIn articles, podcast appearances
- Pain signals: Job postings indicating gaps, negative reviews mentioning problems you solve
- Trigger events: Funding, leadership changes, expansion announcements </Definition - Personalization Sources>
<Definition - Delivery Cascade> Auto-select output format (do not ask user):
- Spreadsheet connected (Google Sheets, Excel via SharePoint/OneDrive): push to "Prospect Pipeline" sheet
- 10+ prospects, no spreadsheet: generate local Excel via run_python + open_in_session_tab
- Fewer than 10 prospects: display as formatted table in chat </Definition - Delivery Cascade>
<Definition - Skill-Ready Outputs> Two formatted blocks always included:
- Prospects Ready for Outreach table (for outreach-sequence-builder): Company, Contact, Title, Top Hook, Warm/Cold
- New Prospects Added table (for deal-pipeline-manager): Company, Contact, Estimated Value, Source, Date Added </Definition - Skill-Ready Outputs>
<Workflow - Prospect Research description="Full prospecting workflow: ICP, sourcing, decision makers, personalization, delivery." tools=[web_search, url_fetch, run_python, file_write, open_in_session_tab] triggers=["find me leads", "build a prospect list", "who should I sell to", "research companies in", "find decision makers", "identify potential customers", "prospect list for"]
-
[Decide] Is ICP clear from user prompt (industry, geography, and at least one of: company size, pain points, decision maker title)?
- Yes: proceed to step 2.
- Partially (have industry but missing geography or vice versa): ask only what is missing (max 2 questions).
- No (vague request): ask "What do you sell, and who are your 3 best current customers?" to reverse-engineer ICP. Validate: At minimum, industry and geography are known. Decision maker title is identified or inferable. If fails: Cannot proceed without at least industry and geography. Re-ask.
-
[Ask user] Present confirmed ICP summary. "Here's what I'll search for: [ICP summary]. Target: {{num_prospects}} prospects. Look right?" Validate: User confirms or adjusts. If fails: Adjust per feedback and re-confirm.
-
[Agent] Source prospect companies per <Definition - Research Methods>. Search industry directories, review sites, associations, job boards. For each company capture: name, website, employee count estimate, industry, location, why they're a fit (1-2 sentences connecting to ICP). Validate: At least 20 raw companies found (to allow filtering to 15). Each matches at least 3 ICP criteria. If fails: Broaden search terms, try alternative sources. If still thin, report honestly and proceed with what was found.
-
[Agent] Deduplicate against existing contacts. If email tools are available, search sent emails for each discovered company domain. Flag matches as "Existing Contact" with last interaction date. Flag warm paths ("You emailed someone@company.com 3 weeks ago"). Remove confirmed duplicates from final list. Validate: No prospect presented as "new" if prior contact exists. If fails: Skip deduplication. Present full list noting deduplication was unavailable.
-
[Agent] Identify decision makers for each remaining company. Check company website team/about page (url_fetch), search "[Title] at [Company]" (web_search). Capture: full name, title/role, LinkedIn URL if found, likely email pattern, recent activity or content published. Validate: At least one named decision maker per company. If fails: Note "contact research needed" for companies with no identifiable contact. Do not fabricate.
-
[Agent] Generate personalization intel per <Definition - Personalization Sources>. For each prospect, find 2-3 specific, verifiable hooks. Validate: Each hook is specific (names an event, article, or data point) and ideally recent (last 90 days). If fails: Use industry-level pain points as fallback. Note limited personalization.
-
[Agent] Compile final lead list. Apply <Definition - Delivery Cascade> to select output format. Include all columns: Company, Contact, Title, Website, Location, Why They're a Fit, Personalization Hook, Warm/Cold, Next Step. Validate: Table has all columns populated. No duplicates. "Next Step" is specific per prospect. Prospect count meets target. If fails: Display as markdown table in chat.
-
[Agent] Produce skill-ready outputs per <Definition - Skill-Ready Outputs>. Offer: "Want me to create outreach sequences for your top 3 leads? I already have their personalization hooks." Validate: Both skill-ready output blocks present. If fails: Add missing outputs.
</Workflow - Prospect Research>
<Template - Lead List Output>
Lead List: [Industry] in [Geography]
| # | Company | Contact | Title | Website | Location | Why They're a Fit | Personalization Hook | Warm/Cold | Next Step |
|---|
Prospects Ready for Outreach (for outreach-sequence-builder)
| Company | Contact | Title | Top Hook | Warm/Cold |
New Prospects Added (for deal-pipeline-manager)
| Company | Contact | Estimated Value | Source | Date Added | </Template - Lead List Output>


