The problem
B2B outreach for solo founders and lean agencies involves a lot of repeated manual work:
- Searching for local businesses that match your ICP
- Deciding which leads are actually worth contacting
- Writing personalized emails one at a time
- Following up when people don't reply
- Tracking who is at what stage
I built outreach-os to automate that entire loop using N8N.
What it does
Three N8N workflows that handle the full outreach pipeline:
Workflow 1: Lead Discovery + Scoring
- Searches Google Places API by keyword and location
- Pulls business data: name, category, rating, review count, website
- Runs each lead through a 100-point scoring model
- Writes scored leads to Google Sheets
Workflow 2: AI Email Generation + Gmail Send
- Reads scored leads from Google Sheets
- Generates a personalized cold email using GLM-4 or GPT-4o-mini
- Sends the email via Gmail
- Updates the status in Sheets
Workflow 3: Reply Tracker + Auto Follow-Up
- Checks Gmail for replies from leads
- If no reply after 3 days, sends a follow-up automatically
- Updates reply status in Sheets
How to install
npm install -g outreach-os
outreach-os install
Then import the three workflow JSON files into your N8N instance and configure your API keys.
Full setup docs are in /docs on GitHub.
Who it is for
- N8N builders and automation freelancers
- Lead-generation agencies
- Early-stage SaaS founders doing outbound
- Indie hackers testing B2B outreach
Repo
https://github.com/hitb1099/outreach-os
MIT licensed. Contributions and feature ideas welcome.
What I want feedback on
- Is the lead scoring logic useful to you, or would you weight the factors differently?
- Would you prefer a one-click hosted setup, or do you prefer full N8N ownership?
- Which integration is most missing: HubSpot, Airtable, Slack, or something else?
Happy to answer any technical questions about the implementation.
Top comments (1)
Nice work open-sourcing this. The three-workflow split (discovery → email → reply tracking) is a solid architecture choice — keeping them as separate workflows with Google Sheets as the shared state makes each piece independently debuggable.
On your feedback questions:
Lead scoring: the 100-point model is a good start. One thing I'd consider adding is a decay factor for stale leads — if a lead scored 80 three weeks ago but hasn't been contacted, the effective priority should probably drop. A simple last_contacted timestamp + days-since check in Workflow 2 would handle this.
Hosted vs self-hosted: for the target audience (solo founders, indie hackers), N8N self-hosting is fine — most of them are already running n8n or are technical enough to set it up. The bigger friction point is probably the Google Places API setup and Gmail OAuth — a one-click Docker image with env var prompts would be smoother than a hosted version.
Missing integration: I'd vote HubSpot. If someone is doing B2B outreach, they likely have a CRM they need leads synced to eventually. A Workflow 4 that writes qualified leads to HubSpot Contacts (with lead score as a custom property) would round out the stack nicely.