Outreach Pipeline is a Python-based automation tool that streamlines the process of identifying potential leads, generating personalized outreach emails, and delivering them automatically.
The pipeline integrates multiple services:
- Ocean.io for discovering relevant companies.
- Prospeo for finding decision-makers and verified work email addresses.
- Ollama for generating personalized email content using a local LLM.
- Brevo for sending transactional emails.
The goal is to automate B2B outreach while maintaining personalization and email deliverability.
Uses the Ocean.io API to discover companies that match specific business criteria.
Retrieved information may include:
- Company name
- Company domain
- Industry details
- Business metadata
These domains are used as inputs for lead generation.
Uses the Prospeo API to identify professionals associated with a company.
Workflow:
- Search people using a company domain.
- Extract
person_idvalues. - Enrich each profile using Prospeo.
- Retrieve verified work email addresses.
Information obtained:
- Full Name
- Job Title
- LinkedIn Profile URL
- Verified Work Email
Uses Ollama with a local Large Language Model (LLM) to generate customized outreach messages.
Benefits:
- No external AI API costs
- Data remains local
- Personalized email content at scale
Generated outputs:
- Subject Line
- Email Body
Uses the Brevo Transactional Email API to send outreach emails.
Capabilities:
- Dynamic recipients
- Personalized content
- HTML email formatting
- Delivery monitoring
Ocean.io ↓ Company Domains ↓ Prospeo Search Person ↓ Person IDs ↓ Prospeo Enrich Person ↓ Verified Emails ↓ Ollama ↓ Personalized Subject + Body ↓ Brevo ↓ Email Sent
outreach-pipeline/
│
├── main.py
├── ocean.py
├── prospeo.py
├── ollama_user.py
├── brevo_user.py
│
├── .env
├── .gitignore
├── requirements.txt
│
└── README.md
- Python 3.10+
- Ocean.io API Key
- Prospeo API Key
- Brevo API Key
- Ollama Installed Locally
Create a .env file in the project root:
OCEAN_API_KEY=your_ocean_api_key
PROSPEO_API_KEY=your_prospeo_api_key
BREVO_API_KEY=your_brevo_api_keyClone the repository:
git clone https://github.com/your-username/outreach-pipeline.git
cd outreach-pipelineCreate a virtual environment:
python -m venv venvActivate the environment:
venv\Scripts\activatesource venv/bin/activateInstall dependencies:
pip install -r requirements.txtInstall Ollama from:
Verify installation:
ollama --versionDownload a model:
ollama pull llama3Start Ollama:
ollama serveExecute:
python main.pyThe pipeline will:
- Fetch company domains from Ocean.io.
- Find decision-makers using Prospeo.
- Retrieve verified email addresses.
- Generate personalized emails using Ollama.
- Send emails through Brevo.
- 1 request per second
- 20 requests per minute
- 1 request per second
- 20 requests per minute
To avoid rate-limit errors:
import time
time.sleep(1.1)between Prospeo requests.
The project currently handles:
- No results returned by Prospeo
- Missing person IDs
- Missing email addresses
- API rate limits
- Invalid enrichment requests
- Brevo API exceptions
- Bulk email campaigns
- Retry mechanism
- CSV export
- Lead scoring
- CRM integration
- Campaign analytics
- Email open tracking
- Email click tracking
- Python
- Ocean.io API
- Prospeo API
- Ollama
- Brevo
- Requests
- python-dotenv
This project is intended for ethical business outreach and educational purposes.
Users are responsible for complying with:
- GDPR
- CAN-SPAM regulations
- Local email marketing laws
- Recipient opt-out requirements
Avoid sending unsolicited or spam emails.