Work  /  Lead & Sales  /  07

LinkedIn Lead Generation Pipeline

B2B outbound

Delivered — no workflow export was supplied

No figures on this page: without an export there is nothing to count, and nothing is estimated.

Profile cards on a conveyor, passing a checking gate into a database, with a magnifier over the first.

The problem

Automated prospecting fails silently in two ways.

It scrapes the same people on every scheduled run, so the list grows without the coverage growing — or it loses a prospect entirely because one enrichment provider had no email for them. Neither shows up as an error.

How it runs

  1. Rotate the keywords

    01 / 05

    Targeting is read from Google Sheets, and each run takes the next keyword in the set, so successive runs cover different segments.

  2. Discover

    02 / 05

    Apify jobs, started from the workflow, find the profiles for the current keyword.

  3. Watch the run

    03 / 05

    Each job is polled until it finishes; an unsuccessful run goes down its own failure path.

    failed run → failure path, not the CRM

  4. Enrich, twice if needed

    04 / 05

    Profiles are enriched one at a time; when the first provider has no email, a second, independent one tries the same URL.

  5. Dedupe, then write

    05 / 05

    Every URL is checked against the existing CRM before a row is written, and a run with nothing new exits on its own path.

The guards, and what each one prevents

HoverTap a card to read what it prevents.

  • Every run covers new ground

    A scheduled job that repeats one search returns the same people every morning. The rotation is what makes the schedule worth having.

  • A failed scrape never reaches the CRM

    Without the failure path, the CRM step writes a partial result that looks exactly like a complete one.

  • “No email” means two providers failed

    One provider is a single point of failure dressed up as a feature; two is a recovery layer.

  • Deduplication happens before the write

    Duplicates never enter the CRM, so nobody has to clean them out.

Limits, stated plainly

  • The match rate was never measured. Two providers improve coverage by design; by how much on a given list is unknown, so no percentage is quoted.
  • The fallback runs on every profile the first provider misses, so the cost follows how good the first provider is on that list.
  • Automated collection of profile data sits in a contested area of platform terms. That is a conversation to have before a build, not after.

Built with

  • n8n
  • Apify
  • Google Search
  • Google Sheets