CoreWise Academy

Agents & Automation · Layer III / Practitioner

Build an agent that finds your customers

Cody Schneider builds agents that find leads and post content while nobody watches. The method: turn the human process into scripts on a schedule, and call the model only where a judgment is needed. Both of his builds, tool by tool.

Nº 041 · Vol. I·8 min read· Updated August 2026

Read firstSplit big AI tasks into steps and checks (Know how to break work into jobs and arrows before wiring a live pipeline of them.)
“code runs the pipeline, the model makes the judgment calls”

Cody Schneider’s company, Graphed, deploys marketing agents for other businesses: systems that find leads, write to them, and publish content on a schedule with nobody watching. On Greg Isenberg’s podcast he assembles two of them on camera, and nearly every part turns out to be an ordinary script calling an API. The model appears at a few points where a judgment is needed, and nowhere else. This guide walks both builds: the cold-outreach agent, then the content agent.

01Copy the human process

The failed version of a marketing agent came first. Teams handed a model a Facebook ads account and let it improvise, and Schneider’s verdict is blunt: sooner or later it wrecks the account. The version that works starts from a different question: what was the skilled human actually doing?

A top ads manager runs a specific routine: study which pitches are working, make new ads, test them, cut the losers, put more budget on the winners. Each of those is a step software can perform. So the build order is: write the human routine down, turn each step into code, and add the model only at the steps that need an actual decision.

“it's code. It's maybe some thinking loop and it's a live data stream”

Cody Schneider, “These AI Marketing Agents Get You Customers” · 13:46

That line is his answer to “what is a marketing agent,” and it has three parts:

His co-founder Max puts it flatly: the only real agent is the coding agent, and everything else is software that agent writes for you. You build the pipeline in Claude Code or Codex on your own machine, watch it work once, then move it to a server to run on its own. Mapping the jobs and arrows before you wire anything is the subject of Split big AI tasks into steps and checks.

02Cold outreach, tool by tool

The first build finds likely customers and emails them. Its targeting idea carries the whole system. Cold email reply rates are falling as AI-written messages flood inboxes, so a list built from job titles and company size is a list every competitor also has. Schneider targets behavior instead: someone who likes or comments on a niche LinkedIn post is raising a hand, showing current interest in the topic, and that interest is the reason to reach out.

Ten to twenty accounts are enough to watch. Every niche has a handful of standout creators everyone engages with, and Schneider’s estimate is that monitoring them covers about 80 percent of the audience. He picks them by hand in minutes: a business already knows who its customers follow. The pipeline then runs daily:

  1. Scrape the engagers. Everyone who reacted to or commented on a post. Apify sells access to ready-made scrapers behind one API key: one pulls a profile’s new posts each day, two more pull the reactions and comments on each post. In the demo, Schneider’s script pulls a single post’s engagers into a spreadsheet.
  2. Filter for fit. A model call researches each person and their company and keeps only the ones matching the target customer. This check runs before any paid lookup, so the budget is spent on people worth contacting.
  3. Find the emails, cheapest tool first. LinkedIn profiles go in, emails and phone numbers come out. Of 50 profiles, a flat-price database like GetLeads might find 32 emails; only the 18 misses go to Apollo, which might find 10 more; the last 8 go to a pricier tool like Origami or Prospeo. Lead Magic does the same for mobile numbers. Schneider calls the chain a waterfall enrichment.
  4. Validate every address. MillionVerifier grades each email good, risky, or bad. Bounced sends damage your sender reputation, so only the good ones stay.
  5. Send from separate domains. Cold email goes out through Instantly, LinkedIn messages through HeyReach or Botdog.
  6. Answer the replies. Instantly notifies your server the moment a reply lands, and an agent answers it. More on that below.

Step 5 has a rule behind it. Bulk sending from your real domain wrecks its sender reputation, and your mail stops reaching inboxes. So cold email goes out from throwaway domains bought for the purpose, and each kind of email gets its own domain:

All in, Schneider puts the starting cost near $200 a month: the inboxes plus a sending platform (Instantly starts at $97 a month).

The reply agent from step 6 gets one standing prompt: the business context plus one goal, such as getting the person to book a demo. It answers questions, follows up months after a thread goes quiet, and checks the calendar through Calendly or Cal.com to see whether the call it was pushing for actually got booked.

One honest caveat from the episode: buying contact data from brokers is legal in the United States, and cold email is too if you follow the rules of CAN-SPAM, the US law governing commercial email. The EU’s rules are stricter. Schneider flags that he is not a lawyer; check the rules where your recipients live before sending.

03Call the model only to decide

Count the model calls in that pipeline: judging whether a person fits the target customer, writing each personalized message, and answering replies. Everything else, scraping, lookups, validation, sending, is a script that runs identically every day. Schneider’s spending rule follows: pay the model once to write the software, then let the software run on cheap compute. Paying the model by the word to repeat a step that never varies is a tax the script removes.

“Build the software that does the solution for you”

Cody Schneider, “These AI Marketing Agents Get You Customers” · 15:37

The deployment is unglamorous. If it runs on your machine from Claude Code, it can run on a rented server (Schneider uses Railway) on an hourly or daily schedule. As the data streams grow, a database built for them, like ClickHouse, holds the history. He also skips agent frameworks here: for a pipeline whose steps are known in advance, a framework is bloat, and a simple script is the version that keeps working. If you want the scheduled run without renting a server, Automate a workflow as a Claude routine covers the hosted version, and Capture the model’s discipline covers routing the judgment calls themselves to the cheapest model that clears the bar.

04The content agent’s raw material

The second build writes LinkedIn posts for a whole sales team, and one input rule decides whether it works. A model told to “write good LinkedIn content” from nothing produces generic filler, the kind LinkedIn itself has started flagging as AI slop. Why models default to filler, and how to catch it, is the subject of Why AI makes slop and how to catch it. This agent works because every post starts from something a person actually said.

“source this from real human conversation”

Cody Schneider, “These AI Marketing Agents Get You Customers” · 34:58

The raw material is talk that already happened. Schneider records a short weekly conversation with each teammate: what jumped out at you in your sales calls this week? Sales-call transcripts, Slack threads, and internal docs work as sources too; a prospect’s stated reason for not buying is a post waiting to be written. From there the pipeline mirrors the outbound one:

  1. A model extracts the insights from the transcripts and drafts posts. Schneider finds a mid-tier model like Claude Sonnet good enough for the writing.
  2. Ordinal, a LinkedIn scheduling platform an agent can drive through its API, publishes the drafts across every connected team account.
  3. Ordinal’s analytics flow back into the next writing round: the agent sees which posts reached the most people and makes more like them.

The feedback step copies what a good social media manager always did: hunt for post ideas, publish, watch what lands, and reuse the winners. Schneider reposts his own proven material on roughly a 90-day cycle.

Further reading

FAQ

Why does Schneider target people who engaged with an influencer post instead of filtering by job title and company size?

A like or comment on niche content shows current interest in the topic. Job title and company size only show that a person could plausibly be a customer, and any competitor can buy the same filtered list. Ten to twenty well-chosen accounts are enough, because everyone in a niche engages with the same handful of standout creators.

You have 50 LinkedIn profiles and need their emails. What order do the lookup tools run in, and why that order?

Cheapest and most accurate first. Send all 50 to a flat-price database like GetLeads, send only its misses to Apollo, send the remaining misses to a pricier tool like Origami or Prospeo, then check every address with a validator like MillionVerifier before sending anything. Each stage pays only for what the stage before it missed.

Which parts of the cold-outreach agent actually call a model?

Three: deciding whether a scraped person fits the target customer before paying to enrich them, writing each personalized email or message, and answering replies in the inbox. Scraping, enrichment lookups, validation, and sending are scripted API calls that run the same way every time.

Sources
  1. Greg Isenberg · “These AI Marketing Agents Get You Customers”
    cited at 3:22 · 5:52 · 7:55 · 9:19 · 11:33 · 12:29 · 13:46 · 14:42 · 15:37 · 17:15 · 19:03 · 20:06 · 21:49 · 22:24 · 23:30 · 25:41 · 26:10 · 28:16 · 29:12 · 30:43 · 32:00 · 33:52 · 34:58 · 35:44 · 36:38 · 37:56