🎣 Enrich LinkedIn leads in Google Sheets with PhantomBuster, Hunter and Dropcontact
⚡ 35 views · 🎣 Lead Generation & Enrichment
💡 Pro Tip — If you’re pulling LinkedIn data through HTTP requests or dealing with API restrictions, there’s a community node called ScraperNode that handles this natively. It has dedicated scrapers for profiles, companies, jobs, and people search — you just pass a URL and get structured data back.
Description
Quick Overview
This workflow reads LinkedIn profile URLs from Google Sheets, enriches each lead using PhantomBuster profile and company scrapers, finds a work email via Hunter.io with a Dropcontact fallback, writes results back to Google Sheets, and posts optional batch summaries to Slack.
How it works
- Runs manually or every day at 8:00 AM and loads pipeline configuration values used by downstream steps.
- Reads rows from the
Leadstab in Google Sheets and keeps only entries with a LinkedIn URL that have not been enriched yet. - Processes leads in batches of five, validates each LinkedIn
/in/URL, and marks invalid URLs asFailedin Google Sheets. - For valid URLs, runs PhantomBuster’s LinkedIn Profile Scraper, waits for completion, and stops with a
Failedstatus if no profile data is returned. - Uses PhantomBuster’s LinkedIn Company Scraper to extract company details such as website/domain from the profile’s company URL.
- Looks up a work email with Hunter.io using the person’s name and company domain, and falls back to Dropcontact enrichment when Hunter returns no email.
- Updates the original Google Sheets row with the enriched fields (and
enrichment_statusset toEnrichedorEmail Not Found), waits three seconds between batches, and posts a Slack webhook summary after each batch if configured.
Setup
- Create a Google Sheets OAuth credential with edit access and set the target spreadsheet ID in the workflow configuration.
- Add a PhantomBuster credential, provide your Profile Scraper and Company Scraper agent IDs, and fill in the required LinkedIn values (li_at session cookie, PhantomBuster identity ID, and a user agent string).
- Add credentials for Hunter.io and Dropcontact so the workflow can perform email discovery and fallback enrichment.
- Prepare a Google Sheet tab named
Leadswith alinkedin_urlcolumn plus output columns likeenrichment_status,first_name,last_name,email,phone_numer,Company name,role,website, andemail_source. - (Optional) Create a Slack incoming webhook, paste its URL into the configuration (or leave it empty to disable notifications), and ensure the webhook can post to your intended channel.
🔗 Nodes Used
Google Sheets, HTTP Request, Hunter, Phantombuster, Dropcontact, Schedule Trigger
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File