Prepared for Busayo — April 2026

Research first,
then personalize

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

Alexander Girardet

AI Engineer — Claude & Data Pipelines

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.

I've built this before

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

ICP Discovery System

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.

Claude Agents Data Enrichment Exa Search API Google Places API Firecrawl API Attio CRM Real-time Dashboard

Same pattern applies here: ingest prospect data, enrich via APIs, research with Claude, generate personalized output, export to your outbound tools.

Two approaches to AI outreach

The difference between generic and genuinely personalized messages comes down to one step most tools skip.

Template-fill approach

  • CRM data — name, title, company
  • Merge tags — {{first_name}}, {{company}}
  • One prompt — same for everyone
  • Result — feels AI-generated

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%.

Research-first pipeline

  • Enriched data — role, funding, tech stack
  • Prospect research — pain points, hooks
  • Context-aware prompt — unique per prospect
  • Result — feels human-written

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.

The math

Moving from generic to research-driven personalization changes the economics of outbound entirely.

5-8x
More replies per campaign
~$0.03
Per prospect (LLM + enrichment)
3 wks
First campaign live

Five-stage pipeline

Each stage is independent, testable, and extensible. Data flows in one direction — raw prospects in, send-ready messages out.

Stage 1

Data Ingestion & Normalization

Accepts CSV exports, CRM data, or JSON payloads. Normalizes to a unified prospect schema. Deduplicates by email and company domain.

CSV/JSON input Schema normalization Deduplication

Stage 2

Enrichment Waterfall

Enriches each prospect via Apollo.io (primary) with People Data Labs as fallback. Hunter.io verifies every email. Only charges for data actually found.

Apollo.io People Data Labs Hunter.io Waterfall logic Email verification

Stage 3

Prospect Research (Claude)

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.

Claude 3.5 Sonnet Fit scoring Pain point extraction Personalization hooks

Stage 4

Message Generation (Claude)

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.

Initial email 2x follow-ups Talking points Quality gate Spam filter

Stage 5

Structured Output & Export

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.

JSON export CSV export Outbound-tool ready

How it works in practice

From raw prospect list to send-ready messages in minutes, not hours.

01

Upload your prospect data

Export from your CRM, Apollo, LinkedIn Sales Navigator, or any spreadsheet. The pipeline normalizes whatever format you have.

02

Enrichment runs automatically

Apollo fills in company size, funding, tech stack, seniority. Hunter.io verifies every email. You only pay for data that's found.

03

Claude researches each prospect

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.

04

Personalized messages generated

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.

05

Export and send

Download as JSON or CSV. Import into Instantly, Smartlead, GoHighLevel, or whatever you use. Messages are formatted and ready to go.

What you get

Working Pipeline

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.

Configurable Prompts

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.

Full Source + Docs

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.

Timeline

Three-week sprint to a working pipeline. CRM integration as a natural Phase 2.

W1

Ingestion + enrichment waterfall

Data normalization, Apollo/PDL/Hunter integration, unified prospect schema. You can test enrichment on real data by end of week 1.

W2

Claude research + message generation

Prospect analysis, fit scoring, personalized message generation with quality gates. Review output quality on sample prospects.

W3

CLI, config layer, documentation

Polish the CLI interface, externalize all config (prompts, criteria, providers), write documentation, test end-to-end with real campaign data.

W4+

Phase 2: CRM integration (optional)

GoHighLevel, HubSpot, or Salesforce writeback. Webhook triggers. Campaign analytics dashboard. Scoped after Phase 1 proves value.

Ready to start?

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.