ALL WORK / linkedin-gtm-lead-engine
In production2025● FEATURED

LinkedIn GTM Lead Engine

The LinkedIn GTM Lead Engine is a fully autonomous prospecting system that mines three different LinkedIn surfaces for buyer signals — active job posts, user posts, and comment threads under high-engagement posts — then enriches, scores, and sequences the leads into a live drip campaign.

n8nApifyBrevoOpenAIPostgres
ROLE
Sole Architect & Engineer
PLATFORM
n8n · Apify · Brevo
YEAR
2025
IMPACT
Zero-touch lead pipeline running weekly
THE PROBLEM

Manual LinkedIn prospecting caps at ~30 quality leads per rep per week. Comment threads under viral posts are gold — but nobody has time to scrape and enrich them at scale.

THE APPROACH

Three parallel Apify actors (job posts, user posts, post comments) feed one enrichment pipeline. Each raw lead gets email-extracted, LLM-scored for fit, deduped against the CRM, then dropped into a 21-day Brevo drip. Replies and unsubscribes auto-suppress mid-sequence. Runs weekly, unattended.

WORKFLOW · 9 NODES
Weekly CronApify JobsApify PostsCommentsMergeEmail ExtractLLM ScoreDedupBrevo Drip
Trigger
Scrape
Logic
LLM
Notify

Workflow breakdown

PHASE 01

Phase 1 — Multi-surface Apify scrape

Three Apify actors run in parallel for maximum surface coverage.

  • LinkedIn Jobs actor filtered by target ICP keywords + geography
  • User Posts actor scraping recent activity from a maintained watchlist of accounts
  • Post Comments actor targeting high-engagement threads (posts above N reactions)
  • All three actors write raw results into a shared n8n execution context
PHASE 02

Phase 2 — Enrichment & scoring

Every raw record gets a full enrichment pass before it's allowed into a sequence.

  • Email extraction via multi-provider fallback (Apollo → Hunter → regex on public profile)
  • GPT-4 fit-scoring against the client's ideal customer profile (JSON output, cached per contact)
  • Deduplication against Supabase (prior sequenced contacts + suppression list)
  • Enrichment failures land in a manual-review queue, not the sequence
PHASE 03

Phase 3 — Brevo 21-day drip

Scored leads flow into a live sequence with automatic suppression.

  • 21-day sequence: 5 touches, spaced with intentional gaps (not daily hammering)
  • Reply detection via Brevo webhooks auto-pauses the sequence for that contact
  • Unsubscribes propagate back to the suppression list in Supabase
  • Weekly report auto-generated: leads in, leads scored, leads sequenced, replies received

Technical highlights

Parallel Apify orchestration

  • Three actors invoked concurrently, results merged with source-attribution retained
  • Actor failures don't block the other two — partial pipeline runs still ship value

LLM scoring with structured output

  • GPT-4 called with strict JSON schema + validation retry loop
  • Score, tier, and 1-line reasoning stored per contact for audit
  • Cache layer prevents rescoring the same LinkedIn profile within 30 days

Suppression as a first-class concept

  • Every outbound touch checks the suppression list before firing
  • Reply, unsubscribe, and manual-flag all feed the same suppression store
  • No lead ever gets two competing sequences from adjacent runs

Why this matters

01

Comment mining alone unlocks a lead surface most tools ignore entirely

02

The full pipeline runs unattended — the operator's job becomes closing replies, not prospecting

03

Every enrichment and suppression decision is logged, so campaigns are auditable and defensible

WHO THIS IS FOR
01B2B founders running LinkedIn-first GTM without an SDR team
02Agencies who need a repeatable prospecting layer per client
03Anyone tired of paying $500/mo for a lead tool that outputs unqualified spam
NEXT NODE IN THE WORKFLOW
Let's talk. →