Skip to content

bcharleson/cold-outbound-dream-team

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Cold Outbound Dream Team

A multi-agent AI system for automated lead enrichment, audience expansion, and cold outbound campaign management.

Python 3.10+ CrewAI License: MIT


What is This?

Imagine hiring a dream team of specialists to handle your cold outbound operations:

  • A Supervisor who analyzes your lead data and coordinates the team
  • A Lead Enrichment Expert who finds verified emails and contact info
  • An Audience Expansion Specialist who finds lookalike companies and people
  • An Email Campaign Specialist who manages your email sequences in Instantly
  • A LinkedIn Outbound Specialist who manages LinkedIn campaigns in HeyReach
  • A Research Analyst who gathers intelligence from company websites

This project brings that dream team to life using AI agents. Drop in a CSV of leads, and watch as the agents work together to enrich your data, expand your audience, and prepare it for outreach.


Architecture

graph TB
    subgraph "๐ŸŽฏ Input"
        CSV[CSV Lead List]
    end
    
    subgraph "๐Ÿง  Supervisor Layer"
        S[Supervisor Agent<br/>GPT-5.1<br/><i>Orchestrates the team</i>]
    end
    
    subgraph "๐Ÿ‘ฅ Specialist Agents"
        LM[LeadMagic Agent<br/>GPT-4o-mini<br/><i>Email finding & validation</i>]
        LA[Lookalike Agent<br/>GPT-4o-mini<br/><i>Audience expansion</i>]
        IA[Instantly Agent<br/>GPT-4o-mini<br/><i>Email campaigns</i>]
        HR[HeyReach Agent<br/>GPT-4o-mini<br/><i>LinkedIn campaigns</i>]
        FC[Firecrawl Agent<br/>GPT-4o-mini<br/><i>Web intelligence</i>]
    end
    
    subgraph "๐Ÿ”Œ External APIs"
        LM_API[LeadMagic API<br/><i>Lead enrichment</i>]
        OC_API[Ocean.io API<br/><i>Lookalike discovery</i>]
        IA_API[Instantly API v2<br/><i>Email campaigns</i>]
        HR_API[HeyReach API<br/><i>LinkedIn outbound</i>]
        FC_API[Firecrawl API<br/><i>Web scraping</i>]
    end
    
    subgraph "๐Ÿ“ค Output"
        OUTPUT[Enriched Leads +<br/>Expanded Audience +<br/>Email & LinkedIn Ready]
    end
    
    CSV --> S
    S --> |delegates| LM
    S --> |delegates| LA
    S --> |delegates| IA
    S --> |delegates| HR
    S --> |delegates| FC
    LM --> |calls| LM_API
    LA --> |calls| OC_API
    IA --> |calls| IA_API
    HR --> |calls| HR_API
    FC --> |calls| FC_API
    LM --> |reports| S
    LA --> |reports| S
    IA --> |reports| S
    HR --> |reports| S
    FC --> |reports| S
    S --> OUTPUT
Loading

Features

Lead Enrichment (via LeadMagic)

  • ๐Ÿ“ง Email Finder - Discover business emails from name + company
  • โœ… Email Validation - Verify deliverability before sending
  • ๐Ÿ‘ค LinkedIn Enrichment - Extract profile data from LinkedIn URLs
  • ๐Ÿ“ฑ Mobile Finder - Discover phone numbers
  • ๐Ÿข Company Search - Get company details from domain
  • ๐Ÿ”„ Reverse Lookup - Find profiles from email addresses

Audience Expansion (via Ocean.io) ๐Ÿ†•

  • ๐Ÿ” Lookalike Companies - Find companies similar to your best customers
  • ๐Ÿ‘ฅ Lookalike People - Find decision makers matching your ICP
  • ๐Ÿ“ˆ List Expansion - Multiply your target list with quality lookalikes
  • ๐ŸŽฏ Decision Maker Discovery - Find the right contacts at target companies

Email Campaign Management (via Instantly)

  • ๐Ÿ“Š Campaign Creation - Set up new email outreach campaigns
  • ๐Ÿ‘ฅ Lead Import - Bulk import enriched leads
  • ๐Ÿ“ˆ Analytics - Monitor campaign performance
  • ๐Ÿ“ฌ Account Management - Manage sending accounts

LinkedIn Campaign Management (via HeyReach) ๐Ÿ†•

  • ๐Ÿ’ผ LinkedIn Campaigns - Manage LinkedIn outbound sequences
  • ๐Ÿค Connection Requests - Automate connection requests
  • ๐Ÿ’ฌ LinkedIn Messaging - Send follow-up messages
  • ๐Ÿ“Š Campaign Analytics - Track acceptance and reply rates
  • ๐Ÿ‘ค Account Management - Manage LinkedIn sender accounts

Web Intelligence (via Firecrawl)

  • ๐ŸŒ Website Scraping - Extract content from company sites
  • ๐Ÿ—บ๏ธ Site Mapping - Discover all pages on a domain
  • ๐Ÿ“‹ Structured Extraction - Pull specific data points

Quick Start

1. Clone the Repository

git clone https://github.com/yourusername/cold-outbound-dream-team.git
cd cold-outbound-dream-team

2. Set Up Python Environment

# Create virtual environment (requires Python 3.10-3.13)
python3.12 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

3. Configure API Keys

# Copy the example environment file
cp .env.example .env

# Edit .env with your API keys

Required API Keys:

Service Get Key From Purpose
OpenAI platform.openai.com/api-keys Powers the AI agents
LeadMagic app.leadmagic.io/settings/api Lead enrichment
Ocean.io app.ocean.io/settings/api Lookalike discovery
Instantly app.instantly.ai/app/settings/integrations Email campaigns
HeyReach app.heyreach.io โ†’ Settings โ†’ API LinkedIn campaigns
Firecrawl firecrawl.dev Web scraping

4. Run Your First Analysis

# Analyze a CSV to see enrichment recommendations
python -m src.main analyze data/input/sample_leads.csv

Usage

Analyze a Lead List

See what enrichment your data needs:

python -m src.main analyze your_leads.csv

Output:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Cold Outbound Dream Team    โ”‚
โ”‚ Analyzing your lead data... โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

       Data Summary       
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Total Rows       โ”‚ 100 โ”‚
โ”‚ Missing Emails   โ”‚ 45  โ”‚
โ”‚ Has LinkedIn     โ”‚ Yes โ”‚
โ”‚ Has Website      โ”‚ Yes โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”˜

Enrichment Recommendations:
  1. Use LeadMagic Email Finder for 45 missing emails
  2. Use LeadMagic Email Validation to verify existing emails
  3. Use Firecrawl to scrape company websites for context

Enrich Your Leads

Run the full enrichment workflow:

python -m src.main enrich your_leads.csv

Options:

  • --output, -o - Custom output path
  • --skip-email-finder - Skip finding missing emails
  • --skip-validation - Skip email validation
  • --skip-scraping - Skip website scraping

Expand Your Audience (NEW!)

Find lookalike companies and people:

# Find companies similar to your best customers
python -m src.main expand "stripe.com,shopify.com" --factor 20

# Also find decision makers
python -m src.main expand "stripe.com" --titles "CEO,VP Sales,CTO"

Options:

  • --factor, -f - How many lookalikes per seed (default: 10)
  • --find-people/--no-people - Also find decision makers
  • --titles, -t - Job titles to target

Create a Campaign

Enrich leads and create an Instantly campaign:

python -m src.main campaign your_leads.csv --name "Q1 Outreach"

Check Credits

Monitor your API credit balances:

python -m src.main credits

CSV Format

Your input CSV should contain lead data. The system automatically detects columns:

Column Type Detected Keywords
Email email, mail, e-mail
Name name, first, last, contact
Company company, organization, business
LinkedIn linkedin, profile_url
Website website, url, domain
Phone phone, mobile, cell, tel

Example CSV:

first_name,last_name,company,website,linkedin_url,email
John,Smith,Acme Corp,https://acme.com,https://linkedin.com/in/johnsmith,
Sarah,Johnson,TechStart,https://techstart.io,,sarah@techstart.io

Project Structure

cold-outbound-dream-team/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main.py              # CLI entry point
โ”‚   โ”œโ”€โ”€ config.py            # Configuration management
โ”‚   โ”œโ”€โ”€ agents/              # AI agent definitions
โ”‚   โ”‚   โ”œโ”€โ”€ supervisor.py    # Orchestrator (GPT-4o)
โ”‚   โ”‚   โ”œโ”€โ”€ leadmagic_agent.py
โ”‚   โ”‚   โ”œโ”€โ”€ lookalike_agent.py
โ”‚   โ”‚   โ”œโ”€โ”€ instantly_agent.py
โ”‚   โ”‚   โ”œโ”€โ”€ heyreach_agent.py   # NEW! LinkedIn outbound
โ”‚   โ”‚   โ””โ”€โ”€ firecrawl_agent.py
โ”‚   โ”œโ”€โ”€ tools/               # API integrations
โ”‚   โ”‚   โ”œโ”€โ”€ leadmagic/       # LeadMagic API tools
โ”‚   โ”‚   โ”œโ”€โ”€ ocean/           # Ocean.io API tools
โ”‚   โ”‚   โ”œโ”€โ”€ instantly/       # Instantly API tools
โ”‚   โ”‚   โ”œโ”€โ”€ heyreach/        # HeyReach API tools (NEW!)
โ”‚   โ”‚   โ””โ”€โ”€ firecrawl/       # Firecrawl API tools
โ”‚   โ”œโ”€โ”€ crews/               # CrewAI orchestration
โ”‚   โ”‚   โ””โ”€โ”€ outbound_crew.py
โ”‚   โ””โ”€โ”€ utils/               # Helper functions
โ”‚       โ”œโ”€โ”€ csv_handler.py
โ”‚       โ””โ”€โ”€ validators.py
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ input/               # Drop CSVs here
โ”‚   โ””โ”€โ”€ output/              # Enriched results
โ”œโ”€โ”€ diagrams/
โ”‚   โ””โ”€โ”€ architecture.svg     # System diagram
โ”œโ”€โ”€ examples/
โ”‚   โ””โ”€โ”€ run_enrichment.py    # Example script
โ”œโ”€โ”€ .env.example             # Environment template
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

How It Works

Agent Roles

Supervisor Agent (GPT-5.1)

"I analyze your lead data, create enrichment strategies, and coordinate my specialist team to deliver the best results."

  • Examines CSV structure and data quality
  • Prioritizes enrichment tasks
  • Delegates to specialist agents
  • Aggregates results

LeadMagic Agent (GPT-4o-mini)

"I'm your lead enrichment expert. Give me a name and company, and I'll find their verified email, phone, LinkedIn, and more."

  • Finds missing email addresses
  • Validates email deliverability
  • Enriches LinkedIn profiles
  • Discovers mobile numbers

Lookalike Agent (GPT-4o-mini) ๐Ÿ†•

"I expand your audience by finding companies and people similar to your best customers. Give me your seed accounts, and I'll multiply your list."

  • Finds similar companies using Ocean.io
  • Identifies decision makers at target accounts
  • Expands lead lists with quality lookalikes
  • Matches your ideal customer profile

Instantly Agent (GPT-4o-mini)

"I manage your cold email campaigns. I'll create sequences, import leads, and monitor performance."

  • Creates email campaigns
  • Imports enriched leads
  • Monitors analytics
  • Manages sending accounts

HeyReach Agent (GPT-4o-mini) ๐Ÿ†•

"I manage your LinkedIn outbound campaigns. I'll add leads to LinkedIn sequences, send connection requests, and follow up with personalized messages."

  • Adds leads to LinkedIn campaigns
  • Manages connection requests
  • Sends LinkedIn messages
  • Monitors acceptance and reply rates
  • Manages LinkedIn sender accounts

Firecrawl Agent (GPT-4o-mini)

"I research companies online. I'll scrape their websites to find personalization opportunities for your outreach."

  • Scrapes company websites
  • Extracts structured data
  • Discovers site structure
  • Gathers intelligence for personalization

Workflow

1. CSV Upload โ†’ Supervisor analyzes data structure
2. Strategy โ†’ Supervisor creates enrichment plan
3. Expansion โ†’ Lookalike Agent finds similar companies (optional)
4. Enrichment โ†’ LeadMagic Agent finds/validates emails
5. Research โ†’ Firecrawl Agent gathers company context
6. Campaign โ†’ Instantly Agent creates campaign + imports leads
7. Output โ†’ Enriched CSV ready for outreach

Environment Variables

Variable Required Default Description
OPENAI_API_KEY Yes - OpenAI API key for LLM
LEADMAGIC_API_KEY Yes - LeadMagic API key
OCEAN_API_KEY Yes - Ocean.io API key
INSTANTLY_API_KEY Yes - Instantly API key
HEYREACH_API_KEY Yes - HeyReach API key
FIRECRAWL_API_KEY Yes - Firecrawl API key
SUPERVISOR_MODEL No gpt-5.1 Model for supervisor
AGENT_MODEL No gpt-4o-mini Model for specialists
VERBOSE No false Enable verbose logging

API Credits

This system uses paid APIs. Estimated costs per operation:

Operation Service Credits/Call Approximate Cost
Email Finder LeadMagic 1 ~$0.03
Email Validation LeadMagic 1 ~$0.01
Profile Search LeadMagic 1 ~$0.05
Mobile Finder LeadMagic 1 ~$0.10
Lookalike Companies Ocean.io 1 ~$0.02
Lookalike People Ocean.io 1 ~$0.03
Website Scrape Firecrawl 1 ~$0.01

๐Ÿ’ก Tip: Use the analyze command first to estimate costs before running enrichment.


Contributing

Contributions welcome! Please read our contributing guidelines.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Powered By


License

MIT License - see LICENSE for details.


Built with โค๏ธ for the cold outbound community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 291

Languages