Sales Automation Systems Logo

Docs/Cold Email Tech Stack

04Store and refill the leads

04Section 4 of 8

Store the leads and refill the queue

The first thing I want Claude to check is our own list. Have we already bought this person? Do we already have a usable email? If we do, I want to use that work again.

I keep a master list outside the sending tool. The sending tool has today's queue. The master list has what we've learned about the market.

What I have Claude remember

InformationWhy I keep it
The person, current company, role, and work emailSo we're contacting the right person at the right business.
When the email and job were last checkedSo Claude can refresh old information before using it.
Who we shouldn't emailCustomers, active opportunities, opt-outs, bounced addresses, and other exclusions stay out of future lists too.
When we last emailed them and when they're due againSo another campaign doesn't contact them too soon.
What we sent and what happenedSo I can connect the offer and email to replies, signups, meetings, customers, and revenue.
What we already tried and paid forSo a failed or repeated job doesn't buy the same lookup again.

I ask Claude to save this with the campaign. When several people or automated jobs need to use it, I have Claude move it into a shared database such as Postgres. Each client's information and exclusions stay separate.

Reuse it, refresh it, or find what's missing

I give Claude three choices:

  1. Use what we've got. The person is still at the right company and the email passed a check within the last 30 days.
  2. Refresh the old information. We know the person, but their job or email check needs updating.
  3. Find the missing information. We don't have the person or their current work email. Run that gap through the tools from the list-building page.

I keep the failed attempts too. I don't want tomorrow's job paying for the same thing that failed today. Here's that check in my automation walkthrough.

How I keep the campaigns supplied

I send one cold email per person every 30–60 calendar days. I prefer 60. If they're interested, sales follows up. Putting someone in a new campaign doesn't reset that schedule.

For the ready queue, I use one rule: refill below seven sending days and bring it back to fourteen.

At 10,000 people per sending day, that means refill below 70,000 and bring it back to 140,000. Only count people who fit, have a checked email, aren't excluded, and are due to be contacted.

Say I have 45,000 ready. Claude finds 60,000 we can reuse, refreshes 20,000, and finds 15,000 new people. Now I've got 140,000 ready, and only 15,000 needed a new email lookup.

If we've reached everyone who qualifies, I wait for the next group to be due or add another qualified part of the market. I don't contact the same people early just to keep a daily number up.

Give Claude this daily check

Check the lead supply for [campaign/client].
We want to contact [number] people per sending day.
Refill when fewer than seven sending days remain. Aim for fourteen.
Update the master list with the latest sends, replies, bookings,
customers, bounces, and opt-outs before choosing anyone.
Use a 60-calendar-day contact interval and refresh email checks
that are more than 30 days old.
Use eligible contacts we already have first. Refresh old records
next. Find new people and missing work emails last.
Keep every client's information and exclusions separate.
Don't assign the same person to two active campaigns.
Show me how many usable people we have, how many sending days
that gives us, what needs refreshing, and what new data will cost.
Prepare the next upload file and explain any remaining gap.
Don't upload or send yet.

Let it run without your laptop

Once that check works, I ask Claude to automate it. These are the jobs the cloud tools do in my walkthrough:

ToolThe job I give Claude
GitHubKeep a saved, reusable version of the workflow and its instructions.
PostgresKeep the shared master list and contact history.
RailwayRun the scheduled checks and processing without depending on an open laptop.
VercelShow a simple dashboard with leads ready, days remaining, failed jobs, spend, and results.

I tell Claude to set this up from the working project, show me any account steps I need to complete, and run a small test. I want to see that it reuses existing work, keeps people out of duplicate campaigns, and shows a clear error when a job fails. Then I turn on the daily schedule and give someone ownership of checking it.