The Problem
B2B cold outreach is broken for indie builders and small teams.
Most SaaS tools (Apollo, Instantly, Lemlist) charge $100–$400/month. And even then, you're stitching together:
- A lead finder
- An email writer
- A sending tool
- A reply tracker
- A follow-up scheduler
I wanted one system that does all of this — free, self-hosted, and open source.
So I built outreach-os.
What is outreach-os?
outreach-os is an open-source B2B outreach automation pipeline built entirely on N8N (no backend required). It automates the full cycle:
Find leads → Score them → Send AI cold emails → Track replies → Auto follow-up
GitHub: https://github.com/hitb1099/outreach-os
npm: npm i outreach-os
How It Works: The 3-Part Pipeline
Part 1: Lead Search & Scoring Engine
The first workflow connects to the Google Places API and searches for businesses by city + industry keyword (e.g., "restaurants in Bangalore").
Each lead gets scored 0–100 using a custom algorithm:
- Google rating (higher = better)
- Number of reviews (social proof signal)
- Website presence (indicates marketing maturity)
- Open/closed status (is the business active?)
- Price tier (mid-range = better ROI target)
- Improvement opportunity (low rating = pain point)
Leads are automatically split into two Google Sheets tabs:
- HOT — score 60+ (prioritize these)
- NURTURE — score below 60 (follow up later)
Part 2: AI Email Automation
For each HOT lead, the second workflow:
- Detects the business industry
- Generates a personalized cold email using GLM-4 (or GPT-4o-mini)
- Creates a custom banner image via Pollinations.ai (free AI image generation)
- Embeds the banner in the email
- Sends it via Gmail
- Updates the lead status to "Emailed" in Google Sheets
The email isn't a template — it's fully dynamic based on the business type, name, and context.
Part 3: Reply Tracker & Auto Follow-Up
A daily scheduled workflow runs at 9AM and:
- Checks Gmail for any replies from leads
- Updates their status to "Replied" in Google Sheets
- Checks if any leads have been "Emailed" for 3+ days without a reply
- Automatically sends a follow-up email to those leads
- Updates their status to "FollowedUp"
Full status tracking: Pending → Emailed → Replied or Emailed → FollowedUp
Tech Stack
| Tool | Purpose |
|---|---|
| N8N | Workflow engine (self-hosted) |
| Google Places API | Lead discovery |
| Google Sheets | Lead database |
| GLM-4 / GPT-4o-mini | Email generation |
| Pollinations.ai | AI banner image generation (free) |
| Gmail | Email sending & reply tracking |
Getting Started
npm i outreach-os
Or just clone the GitHub repo and import the JSON workflow files directly into your N8N instance. Add your API keys (Google Places, OpenAI/GLM-4, Gmail) and you're live.
Full setup guide is in the /docs folder.
Roadmap
- [ ] LinkedIn outreach integration
- [ ] WhatsApp follow-ups via Twilio
- [ ] More industry-specific email templates
- [ ] Webhook triggers (instead of scheduled runs)
- [ ] Open rate tracking dashboard
Why Open Source?
I built this because I needed it myself for a restaurant marketing side project. After getting it working, I figured others would benefit from it too — especially indie hackers and small agencies who can't justify $300/month SaaS tools.
The entire project is MIT licensed. Contributions are welcome via GitHub.
GitHub: https://github.com/hitb1099/outreach-os
If this was useful, a star would mean a lot. And drop any questions or feedback in the comments!
Top comments (0)