Skip to content

$ ./outreach --from search --to inbox

Lead generation to inbox, automated.

A system that finds local businesses, researches their market, writes each one a personal first email and runs the follow-ups on its own. A person only steps in for the conversations worth having.

finds
local business leads, weekly
writes
a researched opener for each
a person handles
replies, calls and closing

$ tail -f ./runs.log

outreach · one week of runs
  1. $outreach weekly
  2. ✓local business leads found + verified → sheet
  3. ✓market intel per lead: competitors, their edge, site issues
  4. ✓intel-first drafts written · veto window open
  5. $outreach daily
  6. ✓replies, opt-outs and bounces checked first
  7. ✓unsubscribes suppressed
  8. →first touches sent under the daily cap
  9. →follow-ups sent as replies in the same thread
  10. ✓suggested replies saved as drafts
  11. ›report → hot replies · call list · DMs to send

The steps each run takes, in order. Lead details are left out on purpose.

What it does

Finds the leads

Every week it looks for local service businesses, verifies there's a real way to reach them, and adds each one to a shared spreadsheet with everything it learned.

Researches before it writes

For each lead it searches for their service in their city the way a customer would, notes who shows up, what a competitor does well, and anything broken on the lead's own site. The email opens with that, not a sales pitch.

Sends and follows up

First emails go out under a daily cap to protect the sending domain. Follow-ups land as replies in the same thread on day 3, 9 and 17, and stop the moment someone answers.

Hands over the warm ones

Each morning there's a short report: who replied, suggested responses saved as drafts, and a call list with an opener for each. The human part of sales stays human.

The sequence

  1. day 0opener · what their market looks like when you search for them
  2. day 3the breakdown · the details, without being asked
  3. day 9one free tip · something true they can fix themselves
  4. day 17close the loop · a short, polite last note

Under the hood

  • $Auto-send with a veto: every draft sits in a shared sheet first, and typing "no" next to a lead stops it.
  • $Honesty rules in the prompts: only facts from pages it actually opened, and no made-up rankings or search numbers.
  • $Every email has a working unsubscribe link and a one-click List-Unsubscribe header. Opt-outs, bounces and website unsubscribes go on a suppression list.
  • $Replies and opt-outs are checked before anything sends, so nobody gets a follow-up after they've answered.
  • $Scheduled AI agents run the weekly research and the daily sends, and every run writes a log so each action can be checked later.
AI AgentsGoogle SheetsResendBrevoNext.jsVercel

Want a pipeline like this?

It gets set up around who you sell to and how you like to talk to them, and it hands you the leads that are ready for a conversation.