Duck
Automation5 min read

AI workflow automation case studies

Samet Turan— Editor··5 min read

Learn how a solopreneur cut lead‑follow‑up time from 12 hours to under one hour using AI agents, scrapers, and automation—plus a ready‑to‑use blueprint.

Last quarter I spent 12 hours a week copying lead data from LinkedIn into a Google Sheet, then manually drafting follow‑up emails.

After I wired together a few AI agents and a simple scraper, that time dropped to under an hour.

By the end of this article you’ll have a repeatable pattern you can apply to your own repetitive tasks.

The bottleneck I hit with manual lead work

Copying profiles felt like digging a trench with a spoon.

Each lead required opening LinkedIn, scrolling to the contact info, pasting name, title, company, and URL into a sheet, then switching to Gmail to write a personalized line.

The worst part was the context switch; after ten rows my brain felt scrambled and I started making typos.

I tried a Zapier‑LinkedIn integration, but it kept hitting the daily limit and left half the fields blank.

Concrete gripe: the Zapier connector would silently drop the “company” field when the profile used a non‑English character set, which meant I had to manually fix those rows every morning.

What most guides get wrong about AI agent chaining

Many tutorials treat agents like Lego bricks you snap together and expect them to work.

They forget that each agent needs a clear contract: what it consumes, what it emits, and what happens when the output is malformed.

If you feed a scraper raw HTML to a summarizer without cleaning tags, the model will start hallucinating numbers.

I see guides that suggest “just give the model the page and let it figure it out.” That advice leads to wasted tokens and bad copy.

The fix is to insert a deterministic cleaning step—strip scripts, keep only visible text—before handing anything to the LLM.

Concrete love: using Apify’s built‑in HTML‑to‑text actor saved me from writing my own regex and gave consistent plain text every time.

How do you keep the AI from hallucinating bad data?

Hallucinations happen when the model tries to fill gaps with plausible‑sounding nonsense.

I combat this by grounding the prompt in the exact snippet I want it to work with.

For example, instead of saying “write a cold email based on this lead,” I paste the cleaned LinkedIn summary and explicitly tell the model: “Use only the facts in the block below; do not add any extra details.”

I also set the temperature to 0.2 and limit the response to 150 tokens.

That combination cuts the hallucination rate from roughly one in three attempts to less than one in twenty.

A real prompt I use for cold‑email copy

You are a concise B2B copywriter. Using only the information in the lead block, generate a 120‑word email that:

1. Mentions a specific pain point inferred from the title.

2. Offers a one‑sentence solution tied to your product.

3. Ends with a low‑pressure call to action to schedule a 15‑minute chat.

Lead block:

{{linkedin_summary}}

I store this prompt in a Make scenario as a template variable; the scenario pulls the summary from Apify, fills the placeholder, and calls the OpenAI GPT‑4 endpoint.

The first time I ran it, the output sounded like a generic template because I forgot to tell the model to avoid filler phrases.

After adding the “use only the facts” line, the emails started referencing the lead’s recent post about scaling remote teams, which made replies jump from 5% to 22%.

Why I chose Apify over Phantombuster (and the $49/mo price that actually makes sense)

Both platforms offer ready‑made scrapers for LinkedIn, but their pricing models differ.

Phantombuster charges per execution, which added up fast when I ran the scraper three times a day for a list of 500 leads.

Apify’s starter plan gives you 30,000 compute units per month for a flat $49.

I ran a quick test: 500 profiles consumed about 4,200 units, leaving plenty of headroom for retries and the cleaning actor.

Price opinion: $49/mo is fair for the volume I need; the same work on Phantombuster would have run me over $120.

— and good luck finding docs for this — the Apify UI hides the usage meter under a dropdown, which took me ten minutes to locate the first time.

How to debug when this breaks

When the flow stops, I check three places in order.

First, look at the Apify run log; if the actor failed, the log shows whether it was a timeout, a site‑changed error, or a proxy block.

Second, examine the Make scenario history; a failed HTTP module usually means the OpenAI endpoint returned a 429 or the prompt exceeded the token limit.

Third, review the Google Sheet update step; a permission error will appear as “Access denied: insufficient scopes.”

I keep a simple checklist in a Notion AI page so I don’t forget to verify the API key hasn’t rotated.

One time the scraper started returning empty fields because LinkedIn rolled out a new lazy‑load pattern; switching the Apify actor to the “Scroll‑and‑wait” variant fixed it in ten minutes.

Putting it all together: a 3‑step flow you can copy today

You can replicate the workflow with three low‑code pieces.

  1. Scrape LinkedIn profiles with Apify’s “LinkedIn Profile Scraper” actor, outputting cleaned JSON to a Google Sheet via Apify’s native Sheets integration.
  2. Trigger a Make scenario when a new row appears; the scenario pulls the LinkedIn summary, inserts it into the email prompt template, calls OpenAI GPT‑4 (temperature 0.2, max_tokens 150), and writes the generated email back to the sheet.
  3. Use Gmail’s “Send email” action in Make to dispatch the draft, or leave it in the sheet for manual review if you prefer a human‑in‑the‑loop step.

Each step costs virtually nothing beyond the Apify subscription; Make’s free tier handles up to 1,000 operations a month, which covers a few hundred leads.

For more on this exact angle, 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.