Modern Creator
Eric Nowoslawski · YouTube

Claude Code + Clay.com = Unlimited Qualified Leads

How a B2B lead agency replaced three full-time CSV-downloaders with a 7-stage automated pipeline built on Claude Code, Supabase, and Clay.

Posted
2 weeks ago
Duration
Format
Tutorial
educational
Views
5.1K
193 likes
Big Idea

The argument in one line.

Claude Code belongs at the start of a B2B outbound pipeline: handling one-time infrastructure like TAM ingestion, Supabase schema, email waterfalls, and Trigger.dev crons, while Clay does the expensive per-lead AI personalization only when a contact is ready to send.

Who This Is For

Read if. Skip if.

READ IF YOU ARE…
  • You run B2B cold-email outreach and still download CSVs manually from Apollo or similar tools.
  • You manage a lead generation operation and want the campaign refill to run without human intervention.
  • You want an informed take on the Clay-is-dead argument from someone processing millions of rows weekly through it.
  • You are comfortable with APIs and Supabase but have not used Claude Code for pipeline orchestration.
SKIP IF…
  • You are looking for a beginner cold-email guide -- this assumes Supabase, API fluency, and programmatic data handling.
  • You sell B2C or have a TAM small enough that manual list management is not a bottleneck.
TL;DR

The full version, fast.

The pipeline replaces manual CSV work with a 7-stage automated system: Claude Code pulls the full TAM from Prospeo and Blitz API, loads it into Supabase, runs a cost-ordered 4-provider email waterfall as an edge function, validates with MillionVerifier, then a Trigger.dev cron fires batches to Clay every morning at 2AM. Clay handles the per-lead AI work -- first-line generation, ICP scoring, routing -- before pushing into 50 segmented Smartlead campaigns. The result for one client is 11,000 leads generated in a year and 80 positive responses per day, with no humans touching the daily flow.

Free for members

Chat with this breakdown — free.

Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.

Create a free account →
Chapters

Where the time goes.

00:0000:47

01 · Hook -- the old way vs. the new way

Opens on the CSV-download pain state, promises to reveal the Claude Code + Clay pipeline for a real client getting 80+ positive responses per day.

00:4702:00

02 · The Pathos case study

Introduces the client Pathos PR, results (80 responses/day, 11K+ leads in a year), and the partnership model between technical and marketing teams.

02:0002:50

03 · Proof -- live Clay table

Shows the actual Clay table with 11,357+ positive response rows, adds a row live on camera to demonstrate it is real-time.

02:5003:23

04 · The three principles of autopilot campaigns

Distills the system into three requirements: programmatic TAM pull, store and enrich before Clay, AI personalization at scale.

03:2306:40

05 · Pipeline walkthrough -- architecture diagram

Full-screen walkthrough of the 7-stage GrowthEngineX Lead Pipeline showing each stage and Claude Code's specific contribution.

06:4009:07

06 · Live Supabase + Clay demo

Shows the actual Supabase database with 5M+ records, processed columns, email source tracking, and the full 100-column Clay table with AI-generated first lines.

09:0710:31

07 · Clay is dead -- the rebuttal

Shows a LinkedIn screenshot claiming Clay is obsolete, explains why it stays: per-lead observability, team shareability, and Claude Code being a setup tool not a daily scheduler.

10:3111:35

08 · Takeaway + CTA

Scales the advice down to 500 emails/day. Pitch for a free campaign setup for qualifying B2B companies over $3M revenue.

Atomic Insights

Lines worth screenshotting.

  • Pull your entire TAM into a database before touching Clay -- knowing your exact runway is what makes autopilot campaigns possible.
  • Running a cost-ordered email waterfall inside Supabase cuts per-contact enrichment cost before leads ever reach Clay.
  • Claude Code's highest-leverage role is one-time infrastructure: schema design, edge functions, cron wiring. It is not a reliable runtime orchestrator.
  • Clay's real value is per-lead observability, not orchestration -- you can see exactly what happened to each record.
  • 50 separate Smartlead campaigns segmented by headcount, job title, and industry enables one-to-one personalization at scale.
  • A processed boolean column in Supabase is all you need to track campaign runway -- flip to true when dispatched, query false to refill.
  • Storing 5 million records in Supabase with proper indexing lets you query your entire TAM in milliseconds.
  • The argument that Claude Code replaces Clay misses that Claude is good at big one-time setups, not reliable daily scheduled tasks.
  • Before this pipeline, three full-time employees were manually downloading CSVs -- automation ROI compounds across headcount and consistency.
  • High-volume sending only makes sense when your client has a genuinely large TAM; scale should follow addressable market size.
Takeaway

Claude Code builds the pipe; Clay runs what flows through it.

WHAT TO LEARN

The division of labor that makes high-volume outbound scale is Claude Code for one-time infrastructure and Clay for per-lead AI spend -- not one tool doing everything.

  • Pull your entire TAM into a database before touching Clay -- knowing your exact runway is what makes autopilot campaign refill possible.
  • Run a cost-ordered email waterfall inside Supabase before leads reach Clay; starting with a cached internal database and falling back to paid APIs cuts per-contact enrichment spend significantly.
  • Claude Code's leverage is in one-time infrastructure work: Supabase schema design, edge function deployment, Trigger.dev cron setup. Once deployed, those run independently without Claude in the loop.
  • Per-lead observability is Clay's durable advantage over custom code -- you can see exactly what enrichment ran on each record, which matters when a campaign breaks and you need to debug millions of rows.
  • Segmenting campaigns by headcount, job title, and industry is the mechanism that enables genuine personalization at scale -- 50 separate campaign variants, each with its own messaging, routed automatically.
Glossary

Terms worth knowing.

TAM (Total Addressable Market)
The complete universe of potential contacts or companies that match a target customer profile. Pulling the full TAM into a database upfront gives you a known runway before you start sending.
Email Waterfall
A cost-ordered sequence of email-finding providers tried one at a time per contact, stopping at the first successful hit to minimize spend.
ICP (Ideal Customer Profile)
A description of the company or contact type most likely to become a customer, used to score and filter leads before sending.
Edge Function
A serverless function that runs inside Supabase close to the database, triggered by events or on a schedule without requiring a separate server.
Trigger.dev
A developer-first job orchestration platform for scheduling and running background tasks with full observability into each run.
MillionVerifier
An email validation service that checks whether an address is deliverable, risky, or invalid before it enters a sending campaign.
Clay Webhook
An inbound URL in Clay that accepts batches of contact data pushed from an external system, triggering Clay enrichment and routing columns automatically.
Smartlead
A cold-email sending platform that manages inboxes, send schedules, follow-up sequences, and campaign routing at scale.
Resources

Things they pointed at.

00:35toolClay.com
03:46toolProspeo
03:50toolBlitz API
04:13toolSupabase
04:56toolSmartLead Email Finder
05:05toolIcypeas API
05:15toolMillionVerifier
05:40toolSmartlead
Quotables

Lines you could clip.

09:07
I like using Claude for when I am gonna do something one time, and I am doing this big setup. I do not really like trusting a routine or a scheduled task inside of Claude Code.
Counterintuitive take on Claude Code role -- cuts against the hypeTikTok hook↗ Tweet quote
10:57
Before we had a system like this, I literally had three full time people on my team downloading CSVs from Apollo.
Hard before/after with headcount -- makes ROI tangible without a dollar figureIG reel cold open↗ Tweet quote
02:20
We even just got more leads while we were just talking about this and I was setting up the video.
Live proof moment -- count visibly ticked up on cameranewsletter pull-quote↗ Tweet quote
The Script

Word for word.

Read-along

Don't just watch it. Burn it in.

See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.

analogystory
00:00Most people I speak to are still generating leads the old fashioned way. They're going to one of the legacy tools that aren't API first, downloading CSVs, then they're maybe uploading that CSV to get their leads validated, hoping that the leads fit their ICP.
00:15Maybe they're automating those emails, and then they're getting back whatever leads that they possibly can. There's a new way to generate leads that we install for all of our customers that uses Claude code and Clay to automatically pull all of their ICP leads, score them, and then push them into Smart Lead so that we can send all of our campaigns on autopilot including refilling them.
00:34In this video, we're gonna pull back the curtain on one of my favorite customers, Pathos PR, who we generate over 80 positive responses per day for, and I'm gonna show you how we pull their entire list, store it in Supabase, find the emails, automatically push those emails to Clay, score them with AI, and then push them into Smart Lead so that we can get this awesome result for them.
00:55And then you can maybe set that up for yourself. It's kind of interesting because this campaign is so high volume, but I'm just showing it to you because it's extraordinary.
01:03This is the same system we use for everyone even when we're generating five to 10 leads per day for our other customers as well too. So with the help of the Pathos team, we helped develop the system. I have to say they know their customer incredibly well.
01:15This would not be possible without a great partnership between their marketing team and our technical team because I like to say that we have the engine and we have the rails to be able to send all of these things and get it all done, but they were tremendously helpful on the ICP fit, the strategy, really knowing what works, and all those kind of things.
01:31This company is a PR company that helps businesses increase their brand awareness by getting them featured in companies like Forbes, Business Insider, and, you know, any other kind of publication that you can talk about. And they do everything for you including writing the article. And so as you can imagine, the amount of people who would benefit from all of their industry publications that they have networks with is a really large TAM.
01:51This is why we can send this many emails because their TAM is this large, which then is why we can generate that many positive responses as well too. So let's go into the workflow. Everything is orchestrated with Claude code and Clay.
02:02Let's first get into who Pathos is and the proof of the results. So anyone can just say that they generate these leads on behalf of their customers, but we actually show it. We keep a clay table of every positive response we've ever generated for them, and it shows in a little bit over a year, we have generated over 11,000 leads for this customer.
02:20And, actually, we get so many leads. I wonder even if we refresh this, I bet the count will go up. Yeah.
02:24See, we even just got more leads while we were just talking about this and I was setting up the video. This is just proof that we generate these leads. We've been doing 80 positive responses per day over the last couple months.
02:34We started off at lower volume, but now just to set the expectations, we are sending tens of thousands of emails every single day. This is not a low volume campaign by any means, but I can show you all the orchestration of it right now. Now that you've seen the proof, let's talk about what it takes to actually put a campaign of this scale on autopilot, whether you're sending tens of thousand emails per day or just hundreds of emails per day, the principles still apply for putting the campaigns on autopilot.
02:56One, we need a programmatic way to be able to pull our entire TAM and not rely on keeping the TAM in some database and then pulling CSVs. Two, we need to be able to store it and then enrich all of the valid email addresses right before they get pushed into Clay so that we're not doing all of our email finding inside of Clay.
03:14We just found it to be a little bit faster to do inside of Supabase. Then we need to use AI to personalize the messaging because at this scale especially, every single person needs to be qualified and we need to have one to one messaging written for all of them.
03:29Then we use Clay to push all of those into Smart Lead so that they'll automatically go into all of the campaigns. I put together a little diagram for us of exactly how we've put this lead pipeline together and what Claude code does along each side. And so first, all of this starts with list sourcing.
03:43So for this list, we first got the leads from Prospio and the Blitz API. Prospio just added some insane filters to their database so that you can do even better targeting, and I really like working with the founders.
03:54And then the Blitz API has an amazing, almost all you can eat plan for finding LinkedIn data that I highly recommend when you're building these really large bulk lists. And so first, we use Claude Code to pull all of the contacts in the filtered list. It handles all of the pagination, all of just the annoying things that we're gonna have happen.
04:12And then Claude Code even organizes whether we got the contact from Blitz API or Prospio and dumps them into my favorite database called Supabase. ClaudeCode was even used to set up the Supabase account that you are gonna see in a second as well too as far as setting up the columns and doing what's called indexing so that we could query these contacts extremely fast.
04:31Then while it's inside of Supabase, we do our email enrichment in Supabase because I always wanna know how many emails do we have loaded for this week of the campaign. So instead of waiting until we send it over to Clay, we wanna find the valid emails inside of Superbase.
04:46Claude Code also helped orchestrate this because we wanted to use our internal email database, has over 20,000,000 emails inside of it. Then we wanted to use the SmartLead email finder, which I highly recommend because they're finding little emails that other finders I see aren't finding. Then we use the Prosper API and then ICPs.
05:03Essentially building our own waterfall inside of Supabase, but ClaudeCode made it into an edge function so that it runs straight inside of Supabase and it literally is running every hour on every new contact that we find inside of Supabase. All of the validation for the emails still gets validated by Million Verifier because we just wanna make sure that every single email is always validated.
05:22And again, ClaudeCode sets all of that up. And now here's the part where ClaudeCode comes in with Clay. So every morning, we need to push the leads from Supabase into Clay via webhook.
05:34So we used trigger dot dev in order to set that up where we used ClaudeCode to actually set up the code and then we send it all to a Clay webhook so that we can process everything appropriately, do all of our AI ICP filtering, as well as our AI message writing, and then push all of those leads into the smart lead campaigns.
05:51So everything does its enrichment and routing, and then we push into our smart lead campaigns. Now you see that we 50 different smart lead campaigns. That's because each lead, depending on their employee headcount and depending on their job title, and depending on what industry they're in, they all go into a separate campaign, which all gets completely routed.
06:08So if you wanted to see examples of this, I already pulled this up, where we have our super base in here. And you can see at the bottom, we have over 5,000,000 records in here, which is just a crazy, crazy amount of data. You'll see here this was, uh, an important part creating this column here, we just called processed.
06:23And that just tells us whether or not we have processed processed this lead on behalf of our customer or not because we don't wanna retarget the leads until we've really used the entire list. So we keep track of whether or not we've targeted them yet. And if we haven't, and then we use the processed at time over here.
06:37And then you can see the raw JSON of everything about them. And then I think for the YouTube video, we're gonna have to block the emails for this. But then we're also keeping track of what was the email source, who do we have emails for that's validated, when was the last time that they were validated, etcetera etcetera.
06:52And so everything gets organized in here. And so then what we set up with ClaudeCode and trigger.dev is that it'll take the next batch of leads that we need for the day, and then it'll find any lead with client ID, and it the process is false.
07:06We are going to push those leads 25 at a time to a clay webhook. As we push each section of 25, we're gonna change process from false to true, send over the webhook, and then it gets processed inside of clay. And so then this is the clay table that we use.
07:19I mean, it's got a 100 columns and it's just this gigantic crazy thing where this is just all the normal data, then we're cleaning up the domain, the company. We're enriching the for the LinkedIn description. Here, we're doing last mile email finding that we might not have been able to do inside of Supabase just in case.
07:35We need to find others. We need to update their HubSpot every time that we send an email. So we're doing the HubSpot update.
07:41We're finding any other company descriptions. And then here is where we're starting to AI generate the content where we're finding their target customer. We're creating some ideas, which is one of my favorite campaigns.
07:51We're AI generating the first line. There's only about three lines in this email campaign. So the first line's generated, the second line is generated, and then we have the CTA.
07:59And then you could see this mess of the numbers based on where they're supposed to go. They get a number, uh, for the campaign that they're supposed to be put in. Then you could see we have all these smart lead campaigns and everything.
08:09And now so the interesting part is for most people, it really doesn't have to get this crazy. This is just at scale when you're sending tens of thousands of emails a day. This is how far you have to take it.
08:19But the process is still the same. If you're just watching this and you wanted to get started, I still highly recommend the same process. Pull your whole TAM so just you know exactly what you're working with, and then you can enrich it for any other things that you might need with clogged code or you can enrich it in clay and all those other things.
08:33Then when you find something that works, we found 5% of our overall volume. We're testing things to see if we can find anything that beats the baseline strategy. But when you have these campaigns that are winning campaigns and you just need to keep pumping leads in, I really like being able to have the whole TAM and then we know exactly how much runway we have with all of the emails that we have, and then we push them into Clay.
08:52Now some of you might be asking, I've seen all these LinkedIn posts about, you know, Clay is dead, and we don't need Clay anymore because Claude code can do everything, etcetera, etcetera. I found that it's incredibly pivotal to still have Clay in the process because I find that Claude is really good at doing all of this, like, crazy new things, and it's pulling the list, and I can verify it.
09:11I like using Claude for when I'm gonna do something one time, and I'm doing this big setup. I like using it then. I don't really like trusting a routine or a scheduled task inside of Cloud Code that hopefully it's gonna do it.
09:24I like to see that trigger dot dev is gonna work every day. I like to be able to see inside of Clay that we received the webhook and then all of the AI is working properly. And it's just on rails versus if I was trying to edit things on Cloud Code, it'd be hard to share it with the team.
09:37You know, we lose the observability per lead of what happened with all of them. And so I know a lot of people are still trying to say this, but we still process millions of rows every week on behalf of our customers through Clay because I like doing all this big orchestration, getting the emails done, all those other things, and then pumping it into Clay to do that final mile of all the expensive things.
09:55The AI generated content, the first lines, the Klagens, and all of those things. We do those things right at the end when we need to spend the money, and then we push them into smart lead campaigns. Now you might be thinking, that system is crazy.
10:06Why does it matter for me? This is cool, but I'm never gonna use this. And I think all the principles still remain the same.
10:12We still wanna be able to get your whole TAM together. We wanna be able to store that. We wanna be able to do as much of the enrichment as possible before Clay that's really cost effective.
10:21And then anything that we need as a last mile thing, the AI generated text and all those things we get done in Clay. This system is still a system I would recommend for everybody even if you're only sending 500 to a thousand emails a day. Just get your whole TAM so you know exactly what you have, and then you could push it into Clay and automatically keep refilling your campaigns.
10:38Before we had a system like this, I literally had three full time people on my team downloading CSVs from Apollo and uploading them into Clay. And now that we can just do this all on autopilot, we've gotten them to do other things instead. But being able to take a winning campaign and not have to think about it where it just keeps getting new leads every single day is absolutely a game changer.
10:57And that's the real takeaway that I want you to learn is using Claude code that once you find that winner, you can keep pushing more and more in every single day. So if you want a system like this set up for your business, just use the link below. Actually, the story with working with Pathos is that the first campaign that we launched for them, we actually did for free because we wanted to prove that we genuinely would be able to get them They passed our free test, and now they've become one of our favorite customers who is getting some of the best results we've ever seen.
11:23And so if you'd like a system set up like this for your business, there's a link below where we will run a free campaign for you as well. And if you are a b to b company doing over $3,000,000 in revenue, I'd love to launch a free campaign for you. Thanks for watching.
The Hook

The bait, then the rug-pull.

Three full-time employees downloading CSVs. That was the before. In eleven minutes, the host walks through a 7-stage automated pipeline that replaced them entirely -- pulling 5 million contacts into Supabase, running a cost-ordered email waterfall as an edge function, and pushing batches into Clay every morning at 2AM without a human touching any of it.

Frameworks

Named ideas worth stealing.

02:50list

The 3 Principles of Autopilot Campaigns

  1. Programmatic way to pull the entire TAM (no manual CSV downloads)
  2. Store everything in a database and enrich emails before Clay
  3. Use AI to personalize messaging at scale

The minimum conditions for a cold-email campaign that runs without daily human intervention.

Steal forAny B2B outbound briefing, agency pitch deck, or system design conversation
03:23model

GrowthEngineX Lead Pipeline (7 Stages)

  1. List Sourcing (Prospeo + Blitz API)
  2. Load into Supabase
  3. Email Waterfall (Supabase Edge Function, 4 providers)
  4. MillionVerifier Validation
  5. Daily Push via Trigger.dev cron (2AM EST, 25 at a time)
  6. Clay Final-Mile Enrichment + Routing
  7. 50 Smartlead Campaigns (segmented by headcount, title, industry)

End-to-end architecture where Claude Code handles infrastructure and Clay handles per-lead AI spend.

Steal forAny B2B lead gen agency or in-house sales team wanting to move off manual list management
04:40list

Email Waterfall (Cost-Ordered)

  1. 1. Internal Email Database (20M+ cached -- free)
  2. 2. SmartLead Email Finder (included in SmartLead plan)
  3. 3. Prospeo API (high accuracy)
  4. 4. Icypeas API (catch-remaining fallback)

Try the cheapest source first, stop at the first hit. Runs as a Supabase Edge Function hourly on new contacts.

Steal forAny pipeline where email finding cost is a variable expense worth optimizing
CTA Breakdown

How they asked for the click.

VERBAL ASK
11:15link
If you are a B2B company doing over $3,000,000 in revenue, I would love to launch a free campaign for you.

Revenue threshold pre-qualifies leads. Framed as a free trial proof-of-concept, not a sale. Consistent with proof-first structure of the whole video.

MENTIONED ON CAMERA
Storyboard

Visual structure at a glance.

open
hookopen00:00
Pathos results card
proofPathos results card00:39
what I will share
promisewhat I will share00:47
client results grid
proofclient results grid01:04
live Clay table
valuelive Clay table01:59
the 3 principles
valuethe 3 principles03:06
pipeline diagram
valuepipeline diagram03:23
Trigger.dev daily push
valueTrigger.dev daily push05:37
Supabase live demo
valueSupabase live demo06:40
recommendation slide
valuerecommendation slide08:28
Clay is dead rebuttal
hookClay is dead rebuttal09:07
universal takeaway
valueuniversal takeaway10:31
CTA
ctaCTA11:07
Frame Gallery

Visual moments.

Chat about this