Prepared for Busayo — April 2026
Most AI outreach tools skip prospect research and go straight to message generation. That's why the emails feel generic. Here's how I'd build an outreach engine where Claude researches each prospect before writing to them.
Who I am
I build AI-powered data pipelines using Claude and Python. My work focuses on turning messy data sources into structured, actionable output — prospect enrichment, LLM-driven analysis, and CRM integration. I've built systems that process hundreds of prospects autonomously with configurable scoring and personalization.
ICP Discovery Pipeline — a system that ingests company data, enriches it via external APIs, runs LLM-driven research and scoring, and outputs structured results to a CRM. Same architecture, different domain.
Previous build
Orchestrator dispatches researcher agents that query external APIs (Exa, Google Places, Firecrawl), score prospects against configurable criteria, and commit structured results to a CRM with a real-time dashboard. Processes hundreds of prospects autonomously.
Same pattern applies here: ingest prospect data, enrich via APIs, research with Claude, generate personalized output, export to your outbound tools.
The difference between generic and genuinely personalized messages comes down to one step most tools skip.
Most AI outreach tools take CRM fields and slot them into a template. The messages are technically "personalized" but every recipient can tell. Reply rates stay at 1-3%.
Claude researches each prospect individually — their role, company context, likely challenges — then generates a message informed by that research. Reply rates of 10-15% or higher.
Moving from generic to research-driven personalization changes the economics of outbound entirely.
Each stage is independent, testable, and extensible. Data flows in one direction — raw prospects in, send-ready messages out.
Stage 1
Accepts CSV exports, CRM data, or JSON payloads. Normalizes to a unified prospect schema. Deduplicates by email and company domain.
Stage 2
Enriches each prospect via Apollo.io (primary) with People Data Labs as fallback. Hunter.io verifies every email. Only charges for data actually found.
Stage 3
Claude analyzes each enriched prospect — their role, company context, likely challenges, and personalization hooks. Scores fit against your ICP criteria. Only high-fit prospects proceed to message generation.
Stage 4
Generates a personalized initial email, two follow-up variants, and sales talking points for each prospect. Quality gate checks for spam triggers, length, and specificity — re-generates if the message could apply to anyone.
Stage 5
Exports everything as structured JSON or CSV — ready to import into Instantly, Smartlead, GoHighLevel, or any outbound tool. Each row includes the prospect data, research summary, and all generated messages.
From raw prospect list to send-ready messages in minutes, not hours.
Export from your CRM, Apollo, LinkedIn Sales Navigator, or any spreadsheet. The pipeline normalizes whatever format you have.
Apollo fills in company size, funding, tech stack, seniority. Hunter.io verifies every email. You only pay for data that's found.
Analyzes their role, company context, and likely pain points. Scores how well they match your ideal customer profile. Low-fit prospects get filtered out before you waste a message on them.
Each prospect gets a unique initial email, two follow-up variants, and a set of sales talking points — all informed by the research step, not just CRM fields.
Download as JSON or CSV. Import into Instantly, Smartlead, GoHighLevel, or whatever you use. Messages are formatted and ready to go.
Python CLI — outreach ingest, outreach enrich, outreach generate, outreach export. End-to-end from raw prospect list to send-ready personalized messages. Runs locally or on any server.
Prompt templates, ICP scoring criteria, and enrichment provider settings live in config files you edit yourself. Change your messaging angle, targeting criteria, or add a new enrichment source — no developer needed.
You own everything. Complete documentation, clean codebase, Claude Code compatible. Extend it yourself, hand it to another developer, or use Claude Code to modify the pipeline directly.
Three-week sprint to a working pipeline. CRM integration as a natural Phase 2.
Data normalization, Apollo/PDL/Hunter integration, unified prospect schema. You can test enrichment on real data by end of week 1.
Prospect analysis, fit scoring, personalized message generation with quality gates. Review output quality on sample prospects.
Polish the CLI interface, externalize all config (prompts, criteria, providers), write documentation, test end-to-end with real campaign data.
GoHighLevel, HubSpot, or Salesforce writeback. Webhook triggers. Campaign analytics dashboard. Scoped after Phase 1 proves value.
Reply on Upwork and I can have enrichment running on your prospect data within the first week.
I'd love to discuss your current data sources and which outbound tool you're sending through.