Duck
Tutorials6 min read

AI agents for lead generation: a practical build guide

Samet Turan— Editor··6 min read

Learn to build AI agents for lead generation with real prompts, tool costs, and debugging steps—then grab the ready-made blueprint at deepusecase.com/vault/ai-agent-builder-kit.

AI agents for lead generation: a practical build guide

Most solopreneurs waste hours copying LinkedIn profiles into spreadsheets, hoping a cold email will stick. After testing a handful of AI agent setups, I found a repeatable way to pull fresh leads, enrich them with public data, and draft personalized outreach—all without writing a single line of custom code. By the end of this guide you’ll have a working agent you can run on a schedule, plus a clear path to the prebuilt blueprint if you’d rather skip the build.

Why does my AI agent keep pulling junk data?

The biggest silent killer of lead‑gen agents is bad source data. If you point your scraper at a public LinkedIn search page you’ll get a mix of junk profiles, company pages, and outdated records. I learned this the hard way when my first agent returned 300 leads and only 12 were actual decision makers.

Instead of crawling search pages, use a dedicated enrichment API that returns a clean person record when you give it a LinkedIn URL or email. Services like Proxycurl or Apollo.io expose a single endpoint that returns name, title, company, and recent activity in a structured JSON payload. The trade‑off is cost per call, but you save hours of manual filtering.

One gripe I have: Proxycurl’s pricing page hides the fact that each request counts as two credits when you ask for both profile and company data. I burned through my trial credit in 20 minutes because I didn’t read the fine print. — and good luck finding docs for this — it’s buried under a FAQ that never mentions the double‑charge.

Setting up the agent with the Make platform and GPT-4o

I’ll walk through a concrete named example that you can copy today. The stack uses Make.com for workflow orchestration, Proxycurl for lead enrichment, and OpenAI’s GPT-4o for copy generation. The total monthly cost for a solo operator stays under $30 if you keep the call volume modest.

Price mention with opinion: $29/mo for Make.com’s Core plan gives you 10,000 operations, which is enough for 200 lead enrichments and 200 outreach drafts. I think that’s fair; the free tier is a joke because it caps you at 1,000 operations and you’ll hit the limit before lunch.

Here’s the exact prompt I feed to GPT-4o after I get the enriched lead data:

Given the following lead information:
- Name: {{name}}
- Title: {{title}}
- Company: {{company}}
- Recent LinkedIn post: {{recent_post}}

Write a short cold‑email opener (max 2 sentences) that references the recent post and shows how our solution helps {{title}}s at {{company}} achieve their current goal. Keep the tone friendly and avoid fluff.

The double curly braces are Make.com’s syntax for mapping data from previous steps. You can replace them with whatever templating your platform uses.

Numbered step‑list for building the scenario:

  1. Create a new scenario in Make.com and add a Scheduler module set to run every morning at 8 AM.
  2. Add an HTTP > Make a request module that calls Proxycurl’s person endpoint with a LinkedIn URL you pull from a Google Sheet (or a CSV you upload weekly). Set the method to GET and include your API key in the headers.
  3. Add a JSON > Parse module to turn the Proxycurl response into usable bundles.
  4. Add a Router to split the flow: one path goes to a Google Sheets > Update a row module to store the enriched lead; the other path goes to an OpenAI > Create a completion module.
  5. In the OpenAI module, paste the prompt above and map the {{name}}, {{title}}, {{company}}, and {{recent_post}} fields from the JSON parse step.
  6. Add another HTTP > Make a request module to send the generated opener to your email‑sending tool (e.g., SendGrid) or to a draft in Gmail.
  7. Save the scenario, turn it on, and watch the first batch of leads appear in your sheet with a ready‑to‑send line.

If you’ve tried Zapier, you know what I mean when I say the visual drag‑and‑drop in Make.com feels less cluttered for multi‑step API chains.

What most guides get wrong about lead enrichment

Many tutorials tell you to scrape LinkedIn search results and then deduplicate with a fuzzy match algorithm. That approach looks clever on paper but falls apart when the target changes their job title or moves to a new company. The enrichment step becomes a game of whack‑a‑mole.

What works better is to start with a seed list of companies you care about—maybe from a Crunchbase export or a simple CSV of your ideal customer profile. Then use the company domain to fetch all employee profiles via Proxycurl’s company endpoint. You get a fresh, de‑duplicated set of people each time you run the workflow.

Another common mistake is treating the AI copy step as a black box. If you give the model a vague prompt like “write a sales email” you’ll get generic fluff that hurts reply rates. The concrete prompt I shared above forces the model to anchor the message in a real recent post, which makes the outreach feel personal without you having to write each line.

How to debug when this breaks

When the workflow stops returning leads, the first place to look is the HTTP module’s status code. A 429 from Proxycurl means you’ve hit the rate limit; pause the scheduler for a few minutes or upgrade your plan. A 401 means your API key is wrong or expired—double‑check the header field.

If the HTTP call succeeds but the JSON parse step throws an error, the response format changed. Proxycurl occasionally adds new fields; the fix is to re‑run the module, copy the raw output into a text editor, and adjust the mapping.

When the OpenAI module returns an error, check the token count. The prompt plus the lead data can exceed the model’s context window if you accidentally include the entire LinkedIn profile JSON. Trim the input to just the fields you need.

Finally, if the email‑sending step fails, look at the service’s bounce logs. A common issue is sending from an unverified domain; adding a proper SPF record solves most delivery problems.

Who should actually use this approach

If you run a solo consultancy or a small agency with fewer than five outreach campaigns per month, the described stack gives you full control without hiring a developer. The learning curve is a weekend of tinkering, not a month‑long project.

Teams that need to process thousands of leads a day will outgrow the Make.com operation limits quickly; at that scale a dedicated n8n self‑hosted instance or a custom Python script becomes cheaper.

Personally, I keep this workflow running for my own niche SaaS product. It delivers 30‑40 qualified leads each week and the copy converts at roughly 8 % reply rate—far better than the generic templates I used before.

If you want the deep cut on this, deeper coverage of AI agent platforms.

If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this workflow as a blueprint at deepusecase.com/vault/ai-agent-builder-kit.

— The Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.