Duck
Automation6 min read

AI Automation Tools: Build a Lead‑Gen Pipeline That Actually Runs

Samet Turan— Editor··6 min read

Learn how to combine Make, Apify, and GPT‑4 into a reliable lead‑gen automation that scrapes, enriches, and emails prospects without manual work, all for under $15 a month.

If you’re tired of manual lead work, this ai automation tools tutorial shows you how to scrape fresh contacts, enrich them with AI‑written intro lines, and send them through Gmail — all without touching a keyboard. The core stack uses Make, Apify, and GPT‑4. After reading you’ll have a working automation that runs on autopilot.

What most guides get wrong about AI automation

Many tutorials treat AI like a magic button that solves everything. They show a single prompt and claim the job is done. In reality the brittle parts are the data collection and the handoff between services. If the scraper returns malformed JSON, the whole chain stops. If the AI output exceeds the token limit, the email gets cut off. Guides rarely mention that you need validation steps and fallback paths.

Another common mistake is ignoring rate limits. Apify actors can be throttled if you run them too often, and Make will silently drop operations once you exceed your plan. I’ve seen pipelines that look perfect in a test run but fail after a few hundred leads because nobody added a delay or a retry block.

How do you stop GPT‑4 from making up phone numbers?

When you ask the model to enrich a contact with a phone number, it sometimes hallucinates a plausible‑looking string. That’s a problem because you’ll end up sending SMS to a random person or, worse, triggering spam filters. The fix is simple: ask the model to return “null” when it isn’t sure, then replace null with a placeholder that your later step can filter out.

🤖
Recommended Reading

AI Side Hustles

12 Ways to Earn with AI

Practical setups for building real income streams with AI tools. No coding needed. 12 tested models with real numbers.


Get the Guide → $14

★★★★★ (89)

Here’s the prompt I use in a Make HTTP module that calls the OpenAI API:

Given the following business name and address, return a JSON object with the fields “email” and “phone”. If you cannot find a reliable phone number, set phone to null. Do not invent anything.

Business: {{1}}
Address: {{2}}

Return only valid JSON.

The double curly braces are Make’s syntax for mapping data from previous steps. After the AI step I add a router: if phone is null, send the record to a “needs review” branch; otherwise continue to the email composer.

A concrete example: scraping Google Maps with Apify and writing intros in Make

Let’s walk through a real scenario I ran last month for a local SEO agency. The goal was to get 500 verified dentists in Austin, TX, then send each a personalized cold email offering a free website audit.

  1. In Apify I used the Google Maps Scraper actor. I set the search query to “dentist Austin TX” and limited results to 500. The actor costs $0.01 per result, so the scrape ran for about $5.00.
  2. The output was a JSON array with fields like “name”, “address”, “website”, and “phone”. I fed this into Make via a webhook.
  3. Make’s first module parsed the JSON and passed each record to an OpenAI call (GPT‑4‑turbo). The prompt asked for a short, friendly intro line that mentions a recent review or a service offered on the website. I limited the response to 20 tokens to keep costs low.
  4. Next I used Gmail’s “Send Email” action. The subject line was static: “Quick question about {{name}}”. The body combined the AI‑generated intro, a one‑sentence pitch, and a Calendly link.
  5. Finally I added a error handler: if any module returned a non‑200 status, the scenario posted a message to a Slack channel and paused the run for manual inspection.

The whole scenario cost roughly $8 for the Apify scrape, $0.002 per OpenAI call (about $1 for 500 contacts), and nothing for Make because I stayed within the free tier’s 1,000 operations. In total it was under $10 for a full batch.

One thing I love about this setup is how Make’s error handling lets you route failed scrapes to a Slack alert so you never miss a broken run. — and good luck finding docs for this — but once you see the pattern it’s trivial to copy.

How to debug when this breaks

First, check the Apify run log. If the scraper returned zero items, verify your search query and the geographic limit. A common hiccup is that the actor defaults to the United States unless you explicitly set the country code.

Second, look at the Make scenario history. Each module shows its input and output. If the OpenAI step gave you an empty response, the prompt likely exceeded the token limit or the model refused to answer because of safety filters. Trim the input or add a system message that forces a JSON reply.

Third, inspect the Gmail module. If you see “550 5.7.1” errors, you’ve hit a sending limit. Gmail allows 500 messages per day for regular accounts; Google Workspace raises that to 2,000. Slow the scenario with a sleep module or spread the batch over two days.

Finally, add a simple validation step after the AI step: use Make’s “Text Parser” to confirm the phone field is either a number or null. If it’s anything else, route the record to a manual review queue. This catches hallucinations before they reach your inbox.

Pricing, gripe, and love: what it actually costs to run

Make’s free tier gives you 1,000 operations per month, which is enough for a solo tester. The paid “Core” plan at $9/mo bumps you to 10,000 operations — fair for a small agency that runs a few batches each week. Apify’s free credit covers about 500 scrape results; beyond that you pay $0.01 per result, which is still cheap compared to buying a list.

My concrete gripe: Apify’s scheduler UI hides the timezone setting under a collapsed “Advanced” section, so I once launched a scraper at 3 am my time and missed the freshest data. It took me three trips through the UI to find the toggle.

On the love side, I appreciate how the OpenAI API lets you set “temperature” to 0.2 for deterministic outputs. When I need repeatable intro lines, that low temperature keeps the style consistent and reduces token waste.

Direct opinion that could be wrong: I think paying for a dedicated AI agent framework is overkill for most solo operators; the combination of Make, Apify, and raw GPT‑4 calls gives you 90 % of the value at a fraction of the cost.

Why I still prefer the blueprint over building from scratch

After you’ve built the pipeline once, you’ll notice the same steps repeat for every new niche: change the search query, tweak the AI prompt, adjust the email copy. That’s where a pre‑made blueprint saves time. The /vault/ai-automation-blueprint export includes the exact Apify actor ID, the Make scenario JSON, and the OpenAI prompt template, all version‑controlled.

We cover this in more depth elsewhere — 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-automation-blueprint.

— 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.