How do I build a full AI lead gen workflow from scratch?
Overview
This playbook covers the full end-to-end lead generation workflow demonstrated in the Build with PhantomBuster webinar series. The workflow is broken into three stages: Extract → Enrich → Engage.
Stage 1: Extract
The goal of the extract phase is to build targeted lead segments from LinkedIn using intent and activity signals.
Why quality over quantity?
LinkedIn limits connection requests to approximately 100 per week (~20 per day). To maximise your connection acceptance rate (target: 30%+), only target leads who are active and relevant.
Recommended segments
Segment 1 — Recently Active on LinkedIn
- Open Sales Navigator and build a lead search using your ICP filters:
- Job title
- Geography
- Industry
- 2nd and 3rd degree connections only (exclude 1st degree)
- Apply the "Posted on LinkedIn in the last 30 days" filter
- This typically reduces results to ~15–20% of the unfiltered total
- Only targets people who are actively posting and using the platform
- Copy the Sales Navigator search URL
- In PhantomBuster, go to the Solution Store and launch the Sales Navigator Search Export phantom
- Paste the URL and configure Watcher Mode in the behaviour settings
- Watcher Mode ensures only new results (not previously extracted) are pulled each time it runs
- Set the phantom to run daily
- Set the result limit to slightly above the expected daily search size (e.g. 200–250 if your search returns ~150 results)
Segment 2 — Recently Changed Jobs
- In Sales Navigator, use the "Changed jobs in the past 90 days" filter alongside your standard ICP filters
- Optionally combine with the "Posted on LinkedIn" filter for extra activity signal
- Follow the same steps as Segment 1 to configure and run the phantom
Why this segment? Senior decision-makers who've just started a new role are typically reviewing existing tools and strategies — they're more open to new approaches and conversations.
Segment 3 — Post Engagers (optional)
- Use the LinkedIn Post Engager Collector phantom
- Input a LinkedIn post URL, company page URL, or personal profile URL
- Can be your own page, a competitor's, or a relevant industry thought leader
- Post search URLs (by keyword/industry) work well for evergreen workflows
- Run on a scheduled basis
Note: Single post URLs fade in engagement over time. Company page or profile URLs work better for evergreen setups.
Segment 4 — Profile Viewers (optional)
- Use the Sales Navigator Profile Viewer Export phantom
- Useful if you're driving traffic to your LinkedIn profile via newsletters, events, or content
Segment 5 — Company Page Followers (optional)
- Use the LinkedIn Follower Collector phantom
- Input your company page URL
- Useful if your company page has active following growth
Consolidating segments into a list
- In PhantomBuster, go to Leads > Lists and click Create a new list
- Name it (e.g. "All Segments – Raw")
- Add filters for each segment phantom using "Processed by Phantom" as the filter type
- Use OR as the operator between segment filters (not AND)
- Add a filter to exclude 1st degree connections (use Connection Degree filter)
- This list automatically aggregates new leads from all active segment phantoms
Stage 2: Enrich
The enrichment phase adds profile data and email addresses to each lead, then uses AI to classify whether they match your ICP.
Step 1 — LinkedIn Profile Scraper
- In PhantomBuster, open the LinkedIn Profile Scraper phantom
- Set the input to your All Segments – Raw list
- Connect your LinkedIn account
- Select an email discovery service:
- PhantomBuster (recommended) — uses Better Contact, a waterfall enrichment provider that searches 20+ data sources. Achieves ~80–85% email find rate vs ~70–75% for single-provider tools
- Alternatives: Hunter, Drop Contact, Snov.io ,
- Enable "Enrich profiles with company data" in settings — this provides additional context for the AI classification step
- Set the daily profile limit based on your average daily lead volume (max 1,500/day)
- Set to run daily
Step 2 — AI ICP Classification (AI LinkedIn Profile Enricher)
- Open the AI LinkedIn Profile Enricher phantom
- Set the input to the same list used for profile scraping
- Select your AI model (e.g. GPT-4o Mini)
- Write a custom classification prompt that:
- Describes your ICP (job titles, industries, company sizes, signals you care about)
- Asks the AI to return a
decision_makerfield (true/false) - Asks for a
confidence_levelfield (low/medium/high) - Asks for a
reasoningfield explaining the decision
- Set "All columns into the prompt" so the AI has access to all enriched profile data
-
Before running at scale: test on the first 10 leads
- Export those leads, paste into Claude or ChatGPT along with your prompt
- Review the classifications manually
- Refine the prompt until you're happy with accuracy
- Set to run daily (20 leads/day is usually sufficient to match outreach volume)
- Monitor AI credit usage — typically ~9 credits per lead for this step
Prompt tip: Use the ICP qualification prompt template provided in the webinar resources. Paste it into an LLM, add your own ICP details, and ask it to rewrite it for you.
Step 3 — Create the classified leads list
- In PhantomBuster, create a new list: "Classified Decision Makers"
- Add the same segment filters as the raw list
- Add filter: Processed by the Profile Scraper phantom
- Add filter: Processed by the AI Enricher phantom
- Add filter: Decision maker contains
true - Optionally: Confidence level contains
medium(to exclude low-confidence classifications)
Stage 3: Engage
The engagement phase generates personalised messages and sends LinkedIn connection requests with automated follow-ups.
Step 1 — AI Message Generator (AI LinkedIn Profile Enricher)
- Open a second instance of the AI LinkedIn Profile Enricher phantom (or reuse with a different prompt)
- Set the input to the Classified Decision Makers list
- Write a custom message generation prompt that:
- Describes who you are and your objective
- Specifies the tone and style
- Asks the AI to generate 3 output fields:
message_1(icebreaker),message_2(follow-up),message_3(break-up) - Includes examples of good messages
- Includes company name normalisation instructions
- Specify which profile fields to use as inputs (name, headline, description, job title, company, etc.)
- Test on first 10 leads before running at scale
- Set to run daily
- Monitor AI credits (~9–11 credits per lead for 3 messages)
Step 2 — Create the outreach-ready list
- Create a new list: "Outreach Ready Decision Makers"
- Duplicate filters from the Classified Decision Makers list
- Add filter: Processed by the Message Generator phantom
- This list contains only leads with enriched profiles, ICP classification, and generated messages
Step 3 — LinkedIn Outreach Phantom
- Open the LinkedIn Outreach phantom
- Set the input to the Outreach Ready Decision Makers list
- Connect your LinkedIn account
- Do not include a connection request message — research shows blank connection requests receive ~2x more acceptances than those with invitation messages
- Configure follow-up messages using the AI-generated variables from your list:
- Message 1 (e.g. 1 day after connection)
- Message 2 (e.g. 4 days after)
- Message 3 (e.g. 7 days after)
- Recommended spacing: 3–6–9 days to allow time to warm up the connection before messaging
- Set daily limit to 20 connections/day, weekdays only, during business hours
- Set to run daily
Bonus: Warm-up actions
- Profile Visitor phantom — visit the lead's profile before sending a connection request
- Auto Follow phantom — follow the lead before connecting
- These provide a light warm-up signal; not essential but a nice touch
Minimal Workflow (5 Phantom Slots)
If you are on a lower plan with limited phantom slots, here is a stripped-back version:
- Sales Navigator Search Export × 2 (active posters + job changers)
- AI LinkedIn Profile Enricher — message generation only (uses Sales Navigator export data directly, skipping profile scraper)
- LinkedIn Outreach phantom
Note: Without the profile scraper, you'll have less data for personalisation (name, headline, summary only), but it is enough to generate a reasonable icebreaker.
Key Principles
- Quality over quantity — LinkedIn limits you to ~100 connection requests/week. Make every one count.
- Watcher Mode — always enable this on extract phantoms to avoid re-processing the same leads.
- Activity signals — "Posted on LinkedIn in last 30 days" is the most reliable proxy for an active profile.
- Test before scaling — always test prompts on 10 leads manually before enabling daily automation.
- Keep LinkedIn and email separate — if running multi-channel campaigns, avoid mixing LinkedIn and email in the same flow to prevent bottlenecks.
- Success on LinkedIn is compounding — consistent daily action over time outperforms short bursts of high volume.
Comments
0 comments
Please sign in to leave a comment.