Outbound sales & cold email

OpenOutreach

Self-hosted GPLv3 AI sales agent that finds B2B leads from a licensed data provider and runs cold email from a mailbox you own

eracle/openoutreachPython2,672 as of 2026-08-12
By Jake Luo · Published Aug 12, 2026

OpenOutreach is a self-hosted, GPLv3 AI sales agent for B2B cold outreach: you describe your product and target market, a model turns that into an ICP filter, it pages matching profiles from a licensed data provider, resolves a work email only for the best-fit leads, then writes, sends and answers mail from a mailbox you own. It is browserless by design — no scraping, no social-network account, nothing to get banned — which moves the risk somewhere less obvious, onto the sending reputation of your own domain. Two things in its own documentation deserve a read before you run it: the project ships a promotional campaign of its own that takes a turn in your sending rotation, and its README says plainly that the lead-scoring model is not yet shown to beat picking at random.

What OpenOutreach is

OpenOutreach (github.com/eracle/OpenOutreach) is a Python daemon you run yourself, packaged as a one-command Docker image with a Django admin as a built-in CRM. The pipeline is the interesting part. You give it a product description and a campaign objective; a model converts that into a firmographic filter and pages candidate profiles from a licensed discovery source, which costs nothing per profile. A scoring layer then ranks candidates so that the expensive step happens last: only the best-fit leads get a paid work-email lookup, billed on a verified hit, and only a resolved lead enters the sending queue. Sends leave on weekdays during working hours in your timezone, spaced apart, under a per-mailbox daily cap, and replies are read back over IMAP so the agent can run multi-turn follow-up.

What it does not do is as load-bearing as what it does. There is no browser, no login to any social or professional network, no scraping. A profile URL that arrives with a lead is stored as an identifier and never visited. That design choice is a direct answer to the failure mode of the previous generation of outreach tooling, where the tool got your account suspended. It also means the tool is only as good as the data provider behind it, and that provider is a paid third-party service you sign up for yourself:

What you have to bringWhy it is not optional
An LLM API keyWrites the ICP filter, classifies candidates, drafts openers and handles replies
An email-finder API keyPowers both discovery and work-email resolution — the tool has no lead data of its own
A mailbox you ownEvery send goes out under your domain and your sending reputation, over your SMTP
A product and target-market descriptionThe only input that decides who gets contacted, so a vague ICP produces a vague list

Read the funding model before you run it

The project documents how it sustains itself in unusual detail, in a legal notice linked from the README, and the disclosure is more forthcoming than most commercial tools manage. It is still worth understanding, because the mechanics involve your mailbox rather than your wallet:

  • A promotional campaign of its own The tool ships with a campaign advertising OpenOutreach that takes its turn in the sending rotation alongside yours, sent from your mailbox to recipients unrelated to your leads. Your own qualified leads are never contacted by it, its content is fetched from a remote server and can change between runs, and on an install you run yourself it can be switched off only by editing the source — which the GPLv3 licence permits.
  • An attribution line on every message Every email the tool sends ends with a fixed "Sent with OpenOutreach" line after your signature. It carries no link, and removing it also means modifying the source.
  • Affiliate links at onboarding The paid third-party services it depends on are surfaced through affiliate links at no markup to you. You can sign up for them directly instead.
  • A newsletter prompt whose default depends on your country Onboarding always asks, but pre-selects yes outside a listed set of protected jurisdictions, and the answer is acted on once with no stored setting to change later.

None of that makes the tool a bad choice; it makes it a choice you should make deliberately. The operative fact is that anything sent from your mailbox is your responsibility under anti-spam law wherever your recipients are, whether you composed it or the tool did — a point the project makes itself, alongside a plain statement that it offers no warranty and makes no promises about results. If cold email is new to you, is cold email still worth it is the honest version of the prior question, and how do I write cold emails that don't get marked spam covers the deliverability half.

Where it fits, and where the human belongs

Automation moves the bottleneck rather than removing it. A pipeline like this makes volume cheap, which means the quality of your targeting and your opener — the two things it cannot decide for you — become the entire result. The README's own candour about the scoring model is the tell: the learning loop is described as an active experiment that has not been shown to beat random selection, so what you are buying today is the plumbing between discovery, enrichment and sending, not a judgement about who is worth contacting. Volume against a poorly-defined market produces a domain with a bad reputation and a list of people who now recognise your name for the wrong reason. How do I write a cold email that gets replies is the part that stays yours.

This is also where our own answer differs, and we have a reason for it. AgentCeres — the AI Growth Officer at agentceres.com — is a managed AI marketing team, and outbound is the one place we deliberately did not make self-serve: the cold-email specialist stays an operator-run role rather than something a customer switches on, and every outbound action a specialist proposes, cold email included, waits behind an approval link a human has to click before anything leaves. In our own production history a meaningful share of those links simply expired unclicked. That looks like friction until you consider the alternative — an unattended send under your own domain that nobody chose — and then it looks like the system working. Agents draft; a person decides. If you would rather keep the whole stack in your own infrastructure, OpenOutreach is a credible way to do it, and a quieter place to start is Listmonk for people who already opted in.

FAQ

Is OpenOutreach free?
The software is free and GPLv3-licensed, and self-hosting it costs you nothing beyond the machine it runs on. Running it is not free: it requires an LLM API key and a paid email-finder key that drives both lead discovery and work-email resolution, billed per verified hit. That design at least ties spend to qualified leads rather than to how much you searched, since searching the licensed source costs nothing. Budget for the third-party services rather than the tool, and note that the onboarding links to those services are affiliate links, which you can bypass by signing up directly.
Does it scrape LinkedIn?
No, and the project is emphatic about it. There is no browser, no login to any social or professional network, no stored credentials for one, and no automated access to one. Leads come from a licensed third-party data provider you pay for with your own API key, under that provider's terms. When a lead arrives carrying a profile URL, the tool keeps it as a deduplication key and never fetches it. The practical consequence is that the account-ban risk that sinks browser-automation tools does not apply here — the risk that remains is your sending domain's reputation.
Should I run this from my main domain?
Not from the domain your customers rely on for real mail. Standard practice for cold outreach is a separate sending domain, warmed slowly, with volume kept low enough that replies and spam complaints stay in a healthy ratio — and the tool's own daily caps and business-hours pacing exist because of exactly this. A deliverability problem on your primary domain does not stay confined to prospecting: it lands on your password resets, receipts and support replies, and it takes far longer to repair than it took to cause.
Related projects
MauticOpen-source marketing automation you host yourself — segmentation, campaigns and multi-channel journeys on your own databaselistmonkOpen-source, self-hostable newsletter and mailing list manager — a single Go binaryTwentyAn open-source CRM — a self-hostable alternative to Salesforce and HubSpotReact EmailOpen-source React components for building responsive, cross-client HTML emails — the transactional and lifecycle emails your product sends

You built it. Now grow it.

AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.

Start free trialMore projects