GortexAI/franco
Franco: an outbound sales agent that runs on your Claude Code or Codex subscription
What it solves
Cold outreach usually means juggling separate tools for finding leads, writing emails, sending them, and tracking replies. Franco folds all of that into one agent that runs on your own computer and uses the Claude Code or Codex subscription you already pay for — so there is no extra API bill. It keeps a paper trail for every fact it uses, and by default you approve every email before it goes out.
How it works
Franco works through a list of accounts. For each one, it finds or imports a reason to write (like something observed on their website), sends a short email sequence from your mailbox, reads replies, and handles them. It runs a heartbeat loop that wakes up every 15 minutes, decides what most needs doing, and does it.
The core pieces are five agents:
- Scout — finds and personalizes prospects. Searching, reading websites, and resolving email addresses are done in plain Python, not by a model.
- Writer — drafts sequences with the model, or sends pre-approved copy word for word, depending on the mode.
- Sender — stages each email with a send time, then sends due, approved items with human-like pacing, a daily cap, and a pre-send gate.
- Handler — reads replies, removes quoted text, classifies intent, stops sequences, records opt-outs, detects bounces, and queues responses.
- Analyst — writes pipeline stats to a local file during idle cycles.
Franco supports three outreach modes:
- Generated (default) — Franco finds businesses, reads their websites, picks the right person, and drafts a personalized sequence with the model.
- Approved copy — You import researched accounts with one sourced observation each; Franco sends your pre-approved sequences word for word, with no model writing.
- Raad — Franco places each account into a narrow funnel based on observable facts (for example, a marketplace that already runs AdSense vs. one with no ads), then writes email 1 from that funnel's story and follows up with approved emails.
You can bring your own lists as CSV files, and every new campaign starts in a preview state — nothing sends until someone signs off. A dashboard (at localhost:5555) shows a Today queue, lets you confirm signals, build cohorts, and review the outbox.
Who it's for
Founders, salespeople, or small teams doing outbound sales who want a self-hosted, transparent agent that runs on subscriptions they already have (Claude Pro/Max or a ChatGPT plan for Codex). It's for people who want control: review before send, plain-code compliance checks, and the ability to edit prompts and skills as local Markdown files.
Highlights
- Runs on your own machine with the Claude Code or Codex subscription you already pay for — no model API bill.
- Three modes: fully generated outreach, approved-copy word-for-word sending, and Raad's narrow-funnel personalized writing.
- Every fact used to write an email is recorded with its source and date.
- Every email waits for review unless you turn on autopilot, and there's a kill switch.
- Bring your own CSV lists: accounts, contacts, and do-not-contact suppressions.
- Compliance features in code: required footer, blocked claims, opt-out acknowledgements, and business-day scheduling.
- Dashboard, terminal commands, and even natural-language setup through Claude Code.
- Works with major email verification services (Reoon, ZeroBounce, Hunter) and only sends to deliverable addresses.
- Published as a container image with signed provenance attestations.
Related
- Project
- Project
- Project
- Project