The Full AI-Automated Cold Email Stack

AI & Automation

Abstract technology gradient representing connected AI automation workflows

Most people are still running outbound the manual way in 2026. Writing every campaign strategy from scratch, scraping lists with no intent signal behind them, drafting every reply by hand, and losing hours of turnaround time at every single step. That's not where we operate anymore. We've automated our entire cold email system with three tools working together: Claude Code, Clay, and n8n. Each one does a different job. Claude Code handles the reasoning-heavy work, strategy, copywriting, and reply generation. Clay handles enrichment and lower-volume workflow automation. n8n picks up the high-volume data processing that Clay struggles with. Here's the full breakdown of how it fits together, from strategy generation through to the replies actually getting written.

Automating GTM Strategy Generation

When a client onboards with us, they fill out an onboarding form. From that form alone, we can generate a full go-to-market strategy using a Claude Code skill built specifically for this. The skill runs through seven steps: deep market research on the client, TAM mapping, ICP identification, account sourcing from an intent database, contact sourcing, and a first pass at messaging angles.

That messaging output isn't the final copy, it's the foundation for what comes later in the copywriting skill. What Claude Code is really doing here is compressing a research process that used to take a strategist days into something that runs in about ten minutes. One detail worth calling out: the skill doesn't run each step in isolation. It uses the output of deep market research to adjust the prompt for TAM segmentation, then uses that output to adjust the ICP prompt, and so on down the chain. Each step is informed by everything that came before it, which is why the output ends up feeling tailored instead of templated.

I ran this for a company called owner.com with zero onboarding form and no call transcript, just told it to research the company itself. It came back with roughly 22 pages: raw research, competitive intelligence, market landscape, problem analysis, TAM segmentation broken into individual buyer personas, and messaging angles tied to each one. Not a finished product, but a genuinely strong first iteration, and one person didn't have to touch a spreadsheet to get there.

Building Lists Around Intent, Not Just Firmographics

Most teams are still running the old playbook: buy a list, blast it, get mediocre numbers, buy a bigger list, repeat. That's not a strategy, that's a downward spiral, and usually the actual problem is the offer or the timing, not the volume.

The fix is building lists around intent signals instead of generic firmographic filters. A few signals that consistently work. Brands running ads, since that tells you they have budget and are actively investing in growth. Hiring signals, when a company posts a role adjacent to what you sell, that's a direct indicator of need. Competitor call-outs, mentioning a specific competitor a prospect is using or being outranked by gives your email a level of specificity a generic list can't produce. And local business data, which most databases miss entirely because small businesses rarely have a LinkedIn presence, so you have to go find them on Google Maps instead.

We build these lists in Clay, and each signal has its own workflow. For brands running ads, we connect Apify to Clay and use an actor that scrapes Google Ads directly, so we can see which companies are actively spending on paid acquisition, which tells you they have budget and are looking to grow. For new hires, we enrich contacts for their start date and filter for anyone who joined within roughly the last six months, since that window is when someone is most open to re-evaluating vendors and tools in their new role. For competitor call-outs, we use Claygen, Clay's AI web research tool, to search the internet for a company's direct competitors the same way you'd ask ChatGPT to, then reference a specific competitor by name in the email itself. And for local businesses, since most of them never show up in LinkedIn-sourced databases, we scrape Google Maps directly, then have Claygen search each company's own website for a contact email when a standard enrichment provider comes up empty. Those info@ addresses are usually run directly by the owner, and almost nobody else is bothering to scrape them, which makes them some of the highest-value contact data in the entire stack.

The difference in the email itself is stark. A generic list produces something like "I think your platform would be great for your company." An intent-based list produces "Saw you just joined as VP of Sales last week, congrats. Most new VPs spend their first 60 days rebuilding the outbound stack, curious if that's on your radar." Same effort to send, completely different response rate, because one is timed to something real happening at the company. For a deeper walkthrough of one specific lookalike tool inside this stack, I cover it in a separate breakdown on AI Arc.

The Cold Email Copywriting Skill

This is the single best iteration of an AI copywriting tool I've used. The Claude Code skill takes a structured intake before it writes a single line: target segment and persona, dream companies you'd want to land, keywords tied to the product, and a set of core writing principles that act as guardrails for every email it generates. Offer first, always. Upfront value instead of burying the ask. Zero fluff. Brevity and clarity. Relevance tailored to the actual pain points mapped out in the research phase. A conversational tone, and a soft CTA rather than a hard pitch for a meeting. It never wants to write broad, generic messaging, it always pushes toward the most specific segment and persona possible, because that specificity is what makes the email land.

The skill then generates multiple variants per angle, at different lengths and complexity levels, so you're not committing to a single script before you've tested anything. I ran this for owner.com with minimal input, just told it to pick a segment and write. It came back targeting restaurant owners with three distinct angles, all under 40 words. One on third-party delivery apps quietly taking 15 to 30% per order, offering a breakdown of what that commission actually costs per month. One on customers never coming back because the delivery platform owns that relationship instead of the restaurant, pitching a way to turn one-time delivery orders into repeat direct orders. And one framed as a simple lead magnet around the ordering page itself. Every version is short, specific, and grounded in a real pain point instead of a generic pitch.

I go through five more workflow templates for personalizing these at scale in a separate post on AI personalization workflows.

The reason this consistently outperforms starting from scratch in ChatGPT or Claude directly is that it isn't starting from zero context every time. The skill carries the writing principles and the research context forward, so every iteration builds on a real foundation instead of a blank page.

Scoring and Routing Replies Automatically

Once campaigns are live, replies need to be scored and routed, and this is where n8n takes over from Clay. Clay is great for enrichment, but it struggles at real volume. If you're processing thousands of replies a day, n8n handles that load far better, and it's the piece connecting Clay's enrichment layer with Claude for the actual reply generation.

The reply-scoring workflow sorts every incoming response into one of six buckets: interested, not interested, cost objection, wrong person, long-term follow-up, or out of office. Each bucket routes differently. An interested reply that clears a qualification gate goes straight to Slack and email so the sales team can respond in real time. Not interested goes to a do-not-contact list. Wrong person triggers an email to the correct decision-maker, cc'ing the original contact so there's a warm introduction instead of a cold restart. Long-term follow-up requests get added to a newsletter instead of a hard sequence, so the relationship stays warm without repeated cold sends. Out of office gets requeued after a 7 to 14 day wait. All of it, every lead, every reply, and the KPI data behind it, sits in a base infrastructure layer that stores everything centrally instead of scattering it across whatever tool generated it.

On top of intent, we also score leads by value, essentially a fit score out of 10. A response from a massive company gets treated differently than a response from a small one. A tier-one lead, an Amazon-sized company replying, gets added to a LinkedIn outbound sequence on top of email so we're reaching them across more than one channel, while the bulk of qualified leads move through a standard sequence. Every qualified lead also gets enriched with a phone number automatically, so reps can call within that critical response window instead of only relying on email.

The Reply-Drafting Agent

The scoring agent tells you what came in. The drafting agent handles what goes back out. In 2026 there's no reason to be manually typing responses to prospects. The reply-drafting workflow takes the actual email thread, pulls context from the prospect's research profile and from your own company's positioning, and generates a full reply grounded in both, not a generic template with the name swapped in.

I tested this on a real thread where a prospect had replied to one of our free campaign offers asking to hear more about how it worked. The draft it produced correctly referenced the specific offer on the table, the target account segment already established earlier in the conversation, and proposed a concrete 15-minute call with an actual target date instead of a vague "let me know when works." It read like a real rep who'd been tracking the conversation the whole way through, not a canned template pulled from a library. That's the standard this needs to hit before it's actually usable, and it's why we built the skill around feeding it full context rather than just the latest message in isolation.

Connecting the Whole Chain

None of these pieces are useful in isolation. What makes the system actually function is that Claude Code connects to the rest of the stack via MCP, which means it isn't just producing documents and copy that a person then has to manually move somewhere else. It can push campaigns directly into Email Bison, pull positive replies back out for scoring, and hand off enriched contact data to Clay or n8n without a human copying rows between tools. That connective layer is the actual unlock. A skill that writes great copy but requires someone to paste it into a sequencer by hand still has a bottleneck sitting in the middle of the workflow. Removing that bottleneck is what makes running this at real volume possible with a small team.

One Connected System

Strategy generation, intent-based list building, copywriting, reply scoring, and reply drafting all connect through Claude Code into whatever sequencer you're running, in our case Email Bison. That's the actual shift happening in outbound right now. It's not that any single tool got smarter, it's that the entire chain from research to reply now runs with far less manual work at every handoff. The fundamentals from research, offer, and messaging still have to be right, no amount of automation fixes a weak offer or a saturated market. What's changed is how much of the execution around those fundamentals can now run without a person sitting in the middle of every step, which means the same size team can run a system that used to require three or four times the headcount.

I break down this entire stack, screen by screen, in the full video walkthrough on YouTube.