DEV Community

hitb1099
hitb1099

Posted on

I built a free, open-source AI B2B outreach system on N8N — here's how it works

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:

  1. Detects the business industry
  2. Generates a personalized cold email using GLM-4 (or GPT-4o-mini)
  3. Creates a custom banner image via Pollinations.ai (free AI image generation)
  4. Embeds the banner in the email
  5. Sends it via Gmail
  6. 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:

  1. Checks Gmail for any replies from leads
  2. Updates their status to "Replied" in Google Sheets
  3. Checks if any leads have been "Emailed" for 3+ days without a reply
  4. Automatically sends a follow-up email to those leads
  5. 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
Enter fullscreen mode Exit fullscreen mode

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)