Aurora AITell us your case

Offering

ServicesProductsCase studies

For whom

Private EquityEnterpriseSMB
ServicesProductsCase studiesAboutBlogContact

Knowledge base

Start hereWikiGlossaryGuides

AI Automation Baza wiedzy

Lead generation with an AI agent: Claude Code drives, Clay supplies the data

Run cold outreach in plain language, with an AI agent orchestrating the work while a data platform finds and enriches every lead.

A brighter brain-like node gathers scattered streams of data and sorts them into even lead cards; dark graphite background, cool blue shading into green.
Jaśniejszy węzeł-mózg zbiera rozproszone strumienie danych i porządkuje je w równe karty leadów; grafitowe tło, chłodny błękit przechodzący w zieleń.
AI Automation#lead-generation #ai-automation #claude-code #clay #cold-outreach

Ask any founder why cold outreach never worked for them and you'll hear two complaints wearing the same coat. The first is data: they couldn't find the right businesses, and when they finally did, the email addresses bounced. The second is tooling: a scraper here, an enrichment tool there, an email sender somewhere else, each with its own login and its own screen to learn. Between the bad addresses and the tab-switching, most people quit before they've sent anything worth reading. What follows is a way to collapse both problems at once. You pair a data platform (Clay) that solves the data problem with an AI agent (Claude Code) that solves the tool problem, and you drive the whole thing by describing what you want in plain English.

Listen

Listen: AI-agent lead generation

A ~5-minute conversation about this article — why a longer lead list doesn't win the client, and what decides the outcome.

Generated by NotebookLM, reviewed by AURA.

A brain that drives, a warehouse that answers

Keep the two roles separate in your head, because that split is the whole idea. Claude Code is the brain. It reads your instructions, decides what needs to happen, and does the clicking for you. Clay is the warehouse: it holds the business data and the machinery to find emails, phone numbers, and company details. You talk to the brain in ordinary language, and the brain walks into the warehouse on your behalf.

An "agent," if the word is new to you, is just a program that reads a plain-language instruction and then takes the steps to carry it out, rather than waiting for you to press every button. That distinction is what removes the tooling problem. You never open Clay's interface and try to figure out where the enrichment settings live. You say "find me these businesses and their verified emails," and the agent figures out which parts of Clay to operate. I care about this more than any single feature, because the reason most outreach stalls isn't the data, it's the friction of learning yet another dashboard. Take that away and the work starts to feel light.

Give the agent a picture of you first

Here's the part people skip, and then wonder why their AI-written emails sound like everyone else's. Before the agent can write a single good cold email, it has to know who you are. You feed it a small set of context files: a business profile, a couple of real case studies, an FAQ, your proof and your offer, and the copy from your website. None of this is fancy. It's a folder of honest documents about your business that the agent reads before it writes a word.

I've written before about building your own second brain, and this is the practical payoff. Think of it as an operating system for your business that the agent boots up each time it works. If it knows nothing about you, it will produce the same bland template a stranger would, and prospects can smell that instantly. If it knows your offer, your voice, and the kind of client you actually help, its copy starts to read like you wrote it on a good day. The context files are the difference between output you'd be embarrassed to send and output you'd be glad to receive.

Connecting the platform to the agent

Setup is a one-time job, and the agent walks you through most of it. First you create a Clay account. Clay runs on credits rather than a stack of monthly subscriptions: you bring your own provider keys, and instead of paying separate vendors for B2B data, Clay pools access to many of them and charges you per action. If you have credits, you get the best available data without signing up for tool after tool.

Then you install Clay's plugin into the agent. A few plain definitions help here. A plugin is an add-on that teaches the agent a new skill it didn't ship with. An endpoint is a single action the platform knows how to perform, like "find this person's email" or "enrich this company." And the connector that carries requests between the agent and the platform is called an MCP server, which you can picture as a socket: the plugin gives the agent a new pair of hands, the endpoints are the things those hands can do, and the socket is the wrist that joins them. You don't need to remember the jargon. You need to know that once it's connected, the agent can reach into Clay and do real work.

The one wrinkle worth flagging: to install the plugin you go through the agent's terminal rather than a desktop app, and it's a copy-and-paste command. After that, you ask the agent to authenticate. It hands you a link, you open it, pick the workspace you want to connect, and click authorize. Back in the terminal, the connection is live. Ask the agent what it can now do and it will list the actions it inherited: find emails, enrich a person or a company, look up a phone number, read and edit tables, verify a workflow. Every one of those spends credits, which is worth remembering before you set it loose.

Enrichment by waterfall

A query falls through successive semi-transparent filter layers; the lower layer lights up on a hit: a cascade checking providers one at a time.
Zapytanie spada przez kolejne półprzezroczyste warstwy-filtry; niższa warstwa rozświetla się przy trafieniu — obraz kaskady sprawdzającej dostawców po kolei.

The single most useful thing the warehouse does is enrichment, and the way it does it is what makes the whole approach viable. Instead of asking one data vendor for an email and accepting whatever comes back, Clay runs a waterfall. It checks its strongest provider first. If that provider has no match for a given person, the request falls through to the next provider, and the next, until one of them returns a valid result.

Why that matters is easy to underrate. Lean on any single vendor and you'll get a verified email for only a minority of a cold list; the best one on the market still comes up empty for most contacts. Stack the vendors in a waterfall and you cover the large majority of the same list. That gap decides whether a campaign is worth running at all, because an outreach list that's mostly dead addresses isn't a list, it's a bounce report.

The goal prompt: set the finish line, then let it run

A brighter central node parcels tasks out to several smaller nodes, some of which send back a verification signal, and the whole thing converges again: sub-agent orchestration.
Jaśniejszy węzeł centralny rozdziela zadania do kilku mniejszych węzłów, część odsyła sygnał weryfikacji, a całość zbiega się z powrotem — schemat orkiestracji sub-agentów.

There's a nice way to hand the agent a job this size without babysitting it: a goal prompt. You describe an end condition and let the agent keep working until it's met, checking its own work along the way. The finish line for a lead run might read something like this: fifty enriched leads, all decision-makers at home-service companies, each with a verified email, the business's pain points, any recent signals, and a personalized subject line and body. The call to action is that the person agrees to receive a 90-second video explaining how you'd help. No blank columns, verify accuracy, then deliver a CSV.

Give it a goal like that and it doesn't just march down a list. It picks an approach, then fans out into sub-agents, often one per city, each hunting and enriching its own batch. When they report back, the results are pooled, duplicates removed, and yield checked against what you asked for. It runs verification passes, fixes what's wrong, and rewrites weak lines. In one such run it even spun up sub-agents to argue with each other about whether a subject line and body were actually any good before letting them through.

Be honest with yourself about the trade. A heavy run like that, thick with verification and rewriting, takes far longer and spends far more credits than a bare request. Ask plainly for "fifty leads in this niche, output here" and it finishes fast and cheap. Ask for the full enriched, verified, self-critiquing version and you wait, and you pay. In one worked example, the heavy pass cost on the order of a dozen-plus dollars in credits for roughly fifty enriched leads. Treat that as the example's figure, not a promise. Your niche, your depth, and how hard you make it verify will move the number.

The copy is what wins, not the list

Now the part the shiny data can hide. Clay can hand you a perfect list, every address verified, every field filled, and you can still get zero replies. Enriched data doesn't win the client. The email does. All the enrichment buys you is something true and specific to say, and whether that turns into a reply comes down to how you say it.

The pattern that works is honest, and it's worth learning by hand even if the agent writes it for you. Open on a real pain point you actually found. In the example, the strongest signal on one prospect was a genuine customer review complaining about a call-back that never came. The subject line named exactly that, and the body opened by referencing the review itself: a customer still waiting weeks later, a rare miss for a shop with an otherwise strong rating. That specificity is the hook, and it only exists because the enrichment surfaced a true detail.

Then add proof without inventing any. The example business was upfront that it was still getting off the ground and didn't have a marquee case study, so the message leaned on a plausible, non-fabricated line about recently helping a local business turn missed calls into booked jobs instead of manufacturing a client that didn't exist. The offer was deliberately low-risk: set it up, run it free for a trial period, and if it doesn't book jobs you'd otherwise have missed, you owe nothing. And the ask was small. Not "book a call," just "can I send a 90-second video?" A tiny yes is easy to give.

One line I won't soften: never fabricate the hook, the pain point, or the proof. If the enrichment didn't surface a real signal for a prospect, don't invent one to fill the slot. A fake-specific opener ("I noticed you're struggling with X") is worse than an honest generic one, because the moment the reader knows the detail is made up, everything after it reads as a lie. The whole advantage of this approach is that you're saying true things at scale. Don't throw that away for a slicker sentence.

From a CSV to a live campaign

An orderly grid of rows and columns dissolves into a stream of individual messages moving through a sending channel that gradually speeds up.
Uporządkowana siatka wierszy i kolumn rozpływa się w strumień indywidualnych wiadomości płynących przez stopniowo przyspieszający kanał wysyłki.

The agent's output is a CSV, one row per lead, carrying the enrichment and the personalized subject and body it wrote. Turning that into a running campaign happens back in the platform. You import the CSV as a table, create a campaign, and map the subject and body columns as variables so each lead receives its own message rather than one blanket blast. Preview it and you'll see the exact email each person would get.

Sending is its own craft, and the platform handles the parts a beginner usually gets wrong. If you don't have inboxes to send from, you can buy sending domains right there, pick ones close to your business name, and let the platform warm them up and cap the daily volume so you don't trip spam filters. You can also set up follow-ups, a gentle nudge or two if nobody replies, and the agent can draft those too.

I'll be straight about the limit, because it's early days. The connector can't yet drive every one of these steps from plain language. Some of the campaign setup still happens by clicking around the platform's own interface, and the fully agent-run version of this is still being built. It's improving quickly, but today the honest picture is a plain-language front end for the finding and writing, and some hands-on work for the sending.

What actually moves the needle

Two footnotes before the principle. The tooling is young: parts of the campaign still need the platform's interface, and the plain-language layer keeps expanding. And credits are real money, so a sloppy goal prompt can quietly burn through them while you're away.

The conviction I'd leave you with is simple. List size was never the advantage. Anyone can pull fifty leads now, and soon anyone will pull thousands overnight while they sleep. What decides whether a single one of them replies is the quality of the context you gave the agent and the honesty of the copy it wrote. Enriched data is necessary and nowhere near sufficient. Feed the agent a true, specific picture of your business, hold its writing to the standard of a message you'd actually want to receive, and the volume mostly takes care of itself. So before you spend a single credit, write the boring documents first: the profile, the offer, one real case. That folder is where the results actually come from.

Cold outreach: from context to a live campaignSix lead-generation steps in which Claude Code drives the Clay data platform: from context about your business to a finished, personalized campaign.Cold outreach: from context to a live campaignContext about youProfile, offer and proof, so the agent writes in your voice, not clichésConnect the data platformA plugin and MCP link the agent to Clay; you steer in plain languageSet a goalGive an end condition, not a step list; the agent works until it's metEnrich by waterfallVendors checked in turn fill emails and data, fewer dead recordsHonest copyOpen on a real pain point, add proof, never fabricate a detailCSV → campaignImport the CSV, map subject and body, warm the inboxes and send
Cold outreach: from context to a live campaignSix lead-generation steps in which Claude Code drives the Clay data platform: from context about your business to a finished, personalized campaign.Cold outreach: from context to alive campaignContext about youProfile, offer and proof, so the agent writesin your voice, not clichésConnect the data platformA plugin and MCP link the agent to Clay; yousteer in plain languageSet a goalGive an end condition, not a step list; theagent works until it's metEnrich by waterfallVendors checked in turn fill emails and data,fewer dead recordsHonest copyOpen on a real pain point, add proof, neverfabricate a detailCSV → campaignImport the CSV, map subject and body, warmthe inboxes and send
Six lead-generation steps in which Claude Code drives the Clay data platform: from context about your business to a finished, personalized campaign.

Test yourself

Five questions to check what stuck.

  1. This pattern splits the work between a data platform (Clay) and an agent (Claude Code). Why two tools rather than one?

  2. Before the agent writes its first message, you give it a set of files about your business. What for?

  3. What is the enrichment waterfall, and how does it differ from leaning on a single data vendor?

  4. What is a "goal prompt" in this approach?

  5. What ultimately decides whether a lead replies at all?