Lead Finder and Outreach

Finds the right businesses to contact, and gets a short email to each one.

Building a lead list by hand means searching directories, opening every business's website, looking for an email address and deciding whether the business is worth contacting. This tool does that work for any industry in any location.

Claude does the searching and the reading. Code does the checks that follow a fixed rule, like removing anyone who has unsubscribed. A person chooses the industry and location, and approves the campaign before any email goes out.

How It Works

A search starts with two inputs, an industry and a location. Claude looks for every independent business of that kind, first in the city, then in the suburbs, nearby cities and postal code areas. It opens each business's website to find an email address and judge whether the business is a fit.

The result is one list. Clear fits with an email address go into a draft email campaign. Businesses with no published email go on a call list, and the rest are skipped.

MarketSearchOne ListWhat Happens NextInputs•Industry•LocationThe citySuburbsNearby citiesPostal code areasClaude searches the web and businessdirectories, several searches at oncechains skipped, duplicates removedEmail foundFitinfo@business-01.cahello@business-02.comno email publishedoffice@business-04.cacontact@business-05.comno email publishedsales@business-07.cainfo@business-08.comeach business marked a fit, amaybe or not a fit, with a oneline reasonDraft emailHi {firstName},I work with {industry} businessesin {city}, like {companyName}.[the offer, written once per market]No email published: onto a call listNot a fit, or contacted before: skipped
MarketInputs
  • •Industry
  • •Location
Search
  • The city
  • Suburbs
  • Nearby cities
  • Postal code areas

Claude searches the web and business directories, several searches at once

One List

chains skipped, duplicates removed

Email foundFit
info@business-01.ca
hello@business-02.com
no email published
office@business-04.ca
contact@business-05.com
no email published
sales@business-07.ca
info@business-08.com

each business marked a fit, a maybe or not a fit, with a one line reason

What Happens Next
Draft email

Hi {firstName},

I work with {industry} businesses in {city}, like {companyName}.

[the offer, written once per market]

No email published: onto a call list

Not a fit, or contacted before: skipped

Figure 1. How a campaign is built: two inputs, a search that widens, one list, then a draft email for the clear fits.

How the Lead List Is Created

The search runs in two passes. The first collects only names and websites. Claude searches each area in turn and reads the category pages of business directories, where one page can list 20 to 100 businesses. Covering every area is how the small owner-run businesses get found.

The second pass opens each website. Claude reads up to two pages and records the email address, phone number, contact name and service area. About half of businesses don't publish an email address. Claude never makes one up, because a wrong address bounces.

After that, chains and franchises are removed, along with anyone emailed in the last three months. Claude rates each remaining business as a fit, a maybe or not a fit, and writes one line explaining why. One real search found 365 businesses, and 108 of them were a clear fit.

From the searchFrom the business's own websiteClaude's ratingCompanyWebsiteEmailPhoneContactAreas servedSizeFitReasonBusiness 01business-01.cainfo@business-01.ca555 0101first namecity, 2 suburbsfamily ownedowner run, one locationBusiness 02business-02.comnone, contact form link555 0102citysince 1998own crew, long recordBusiness 03business-03.caoffice@business-03.ca555 0103first namenearby city3 trucksmay be part of a groupBusiness 04business-04.comsales@business-04.com555 0104cityseveral branchestoo large
One row of the list
From the search
CompanyBusiness 01
Websitebusiness-01.ca
From the business's own website
Emailinfo@business-01.ca
Phone555 0101
Contactfirst name
Areas servedcity, 2 suburbs
Sizefamily owned
Claude's rating
Fit
Reasonowner run, one location
fitmaybeblank: no fit
Figure 2. A sample of the final list, with invented rows, and where each column comes from.

The Email

Each market gets one short template. The business's name, the city and the contact's first name are filled in for each email. Businesses with a contact name and businesses without one go into separate campaigns, so the greeting always reads properly. Code won't build a campaign if any field would be blank.

Code then creates the campaign in Instantly, an email sending service, through its API. The campaign arrives as a draft. How many emails go out each day, and at what times, can be set for each campaign. It doesn't start until a person approves it.

Hi {firstName},

I hope this email finds you well.

I work with {industry} businesses in {city}, and {companyName} came up when I was looking for independent ones in the area.

[The offer, in two or three plain sentences. Written for the specific market.]

Is this something {companyName} would be interested in?

Thank you for your time,

{signature}

{firstName}the contact name found from the scan
{industry} {city}the two scan inputs
{companyName}business's name from the leads list
{signature}sender's name and business
Figure 3. The email template. The green fields are filled in for each business.

Handling Replies

Replies are sorted by keywords first, then by Claude, into out of office, unsubscribe, not interested, interested and other. When a reply needs an answer, Claude drafts one. Code checks the draft against the writing rules, such as a word limit and one question per email, and a person approves it before it goes out. A business's first reply opens a folder for it.

Their reply“Sounds interesting. Canyou tell me more?”Out of office or bouncedUnsubscribeNot interestedInterestedSomething elsesorted first by keywords, thenby ClaudeDrafted by ClaudeHi {firstName},Thanks for getting back to me.[A short answer to what they asked. Written by Claudebased on your business.]Would a quick call Monday at 10:00 am or Tuesday at1:00 pm work for you?{signature}Checkedfor accuracy and AI writingtellsApprovedby a person before anythingsends
Their reply

“Sounds interesting. Can you tell me more?”

  • Out of office or bounced
  • Unsubscribe
  • Not interested
  • Interested
  • Something else

sorted first by keywords, then by Claude

Drafted by Claude

Hi {firstName},

Thanks for getting back to me.

[A short answer to what they asked. Written by Claude based on your business.]

Would a quick call Monday at 10:00 am or Tuesday at 1:00 pm work for you?

{signature}

Checkedfor accuracy and AI writing tells
Approvedby a person before anything sends
Figure 4. How a reply is handled: sorted, answered with a draft when it needs one, checked, then approved by a person.