Tired of manually researching every single lead that comes through your forms? You know the drill—someone submits their email, and suddenly you're deep in a LinkedIn rabbit hole, trying to figure out who they are, what company they work for, and whether they're worth a call.
This n8n workflow completely automates that process. When a lead submits their email, the automation instantly finds their LinkedIn profile via Dropcontact, scrapes comprehensive profile data using Apify, and pushes everything into your CRM—all without you lifting a finger.
The result? Full lead profiles with name, job title, company details, connections count, and more—ready in seconds instead of the 5-10 minutes of manual research per lead. Download this workflow for free and start qualifying leads faster than your competitors can say "let me Google that."
What You'll Build
Download the Free Workflow
Download the free workflow and follow the step-by-step guide here: https://hackceleration.com/automatio...act-apify-n8n/
How This n8n Automation Helps You Enrich Inbound Leads Instantly
Manual lead research is a productivity killer. Every time someone fills out your contact form, you're faced with a choice: spend 10 minutes researching them on LinkedIn, or skip the research and risk sending generic, ineffective follow-ups. Neither option is great.
This workflow eliminates that trade-off entirely. The moment an email hits your system—whether from a form submission, webhook, or any other trigger—n8n kicks off a multi-step enrichment process that would take you minutes to do manually.
Here's the flow: First, Dropcontact takes the email and finds the associated LinkedIn profile URL. Then, Apify's LinkedIn scraper extracts everything useful from that profile—full name, current job title, company information (name, industry, size, website), work history, skills, education, location, and connection count. Finally, all this enriched data gets structured and pushed directly to Google Sheets.
What you end up with is a comprehensive lead profile ready for your sales team within seconds of submission. No manual lookups, no copy-pasting between tabs, no forgetting to check someone's background before a call.
The workflow includes the complete n8n JSON file, step-by-step configuration guide, and video tutorial. Plus, you can easily swap Google Sheets for HubSpot, Pipedrive, Salesforce, or whatever CRM you're using—the enrichment logic stays the same.
Whether you're a solo founder qualifying leads yourself or running a sales team that needs to prioritize follow-ups, this automation gives you the intelligence you need to personalize outreach and close faster.
Video Tutorial
Watch the complete step-by-step build: https://www.youtube.com/watch?v=8Na4b7IMjD8
Step-by-Step Guide: n8n Workflow for Inbound Lead Enrichment via LinkedIn
Step 1: Manual Trigger – Set Up the Lead Capture Form
This first node creates a simple form that captures lead emails—your workflow's entry point. In production, you'd typically replace this with a webhook connected to your actual lead capture form, but the Manual Trigger with form capability is perfect for testing and demonstrations.
The form configuration here is intentionally minimal: just an email field. That's all you need to kick off the enrichment process. Everything else—name, company, title—gets pulled automatically from LinkedIn.
Key settings:
Tip: In real-world use, you'd connect a Webhook node instead of this form, pulling the email from your actual lead capture system (Typeform, landing page, CRM, etc.).
Step 2: Set Email – Normalize the Input Data
This Set node standardizes the email field name for downstream nodes. Different triggers might pass the email with different field names (Email, email, user_email, etc.), so this step ensures consistency throughout the workflow.
It's a simple but crucial data hygiene step. By explicitly mapping the email field here, you make the rest of your workflow more robust and easier to modify later.
Key settings:
Tip: If your trigger uses a different field name for email, just update the expression accordingly.
Step 3: Dropcontact – Find LinkedIn Profile from Email
This is where the magic starts. Dropcontact takes the email address and returns the associated LinkedIn profile URL. Their database cross-references professional emails with LinkedIn profiles, giving you the connection you need for deeper enrichment.
Dropcontact is particularly good at finding LinkedIn profiles for business emails. Personal Gmail or Yahoo addresses will have lower match rates, but for B2B leads using company emails, expect strong results.
Key settings:
Tip: Dropcontact offers a free tier perfect for testing. For production with higher volume, you'll need a paid plan. The API returns the LinkedIn URL in the linkedin field when found.
Step 4: IF LinkedIn Profile Exists – Route Based on Match Success
Not every email will have a findable LinkedIn profile. This IF node checks whether Dropcontact returned a LinkedIn URL and routes the workflow accordingly—successful matches continue to Apify scraping, while non-matches go to a fallback path.
This branching logic ensures your workflow doesn't break when LinkedIn data isn't available. You can still capture minimal lead data (just the email) and flag those leads for manual research later.
Key settings:
The "true" branch (LinkedIn found) continues to Apify. The "false" branch (no LinkedIn) routes to a simplified Set node that captures just the email.
Tip: Consider adding a notification node on the "false" branch to alert you when leads can't be enriched—these might need manual attention.
Step 5: Apify LinkedIn Scraper – Extract Full Profile Data
Now we're pulling the real gold. Apify's LinkedIn scraper takes the profile URL from Dropcontact and extracts comprehensive data: name, headline, current company, job history, education, skills, connection count, location, and more.
This is the step that transforms a simple email into a full lead profile. The data you get here is what your sales team needs to personalize outreach and qualify leads without any manual research.
Key settings:
Tip: Apify offers various LinkedIn scrapers with different capabilities and pricing. The "Mass LinkedIn Profile Scraper" works well for this use case.
Step 6: Set Lead LinkedIn Profile Data – Structure the Enriched Data
Apify returns a lot of data, and not all of it is useful for every use case. This Set node extracts the specific fields you want and structures them cleanly for your CRM or database.
The fields mapped here represent the most valuable data points for sales follow-up. You can customize this list based on your specific needs—add company size, industry, or skills if those matter for your qualification process.
Key settings:
Tip: Apify's LinkedIn scraper returns many more fields than shown here—company name, location, experience array, education, skills, etc. Check the Actor's output documentation and add any fields relevant to your sales process.
Step 7: Set Email (Merge Branch) – Preserve Email Through the Flow
This Set node handles the "no LinkedIn found" branch, ensuring leads without LinkedIn profiles still get captured with their email address. It references the email from the earlier normalization step to maintain data consistency.
Even when you can't enrich a lead fully, you don't want to lose them. This node ensures every lead—enriched or not—flows into your final destination.
Key settings:
Tip: The node reference expression lets you reference data from any previous node by name. This is essential when you have branching logic and need to pull data from nodes that aren't immediately upstream.
Step 8: Google Sheets – Save Enriched Lead Data
The final step pushes all your enriched lead data into Google Sheets. Each new lead gets a new row with all the fields you've mapped throughout the workflow. From here, your sales team can review, prioritize, and take action.
Google Sheets is used here for simplicity, but you can easily swap this node for HubSpot, Pipedrive, Salesforce, Airtable, or any CRM that n8n supports.
Key settings:
Important: For automatic mapping to work, your Google Sheet column headers must exactly match the field names from the previous Set node (email, linkedinUrl, firstName, lastName, fullName, headline, connections).
Tip: Create your Google Sheet with the correct column headers before running the workflow. If you need to add more fields later, just add columns to the sheet and map those fields in the Set node.
Why Automating LinkedIn Lead Enrichment Is a Game-Changer for Sales Teams
Inbound leads are the lifeblood of B2B sales, but raw form submissions don't tell you much. An email address alone won't help you prioritize follow-ups, personalize your outreach, or qualify whether someone's worth your time.
The manual research problem:
What automation solves:
The math is simple: if you get 50 leads per week and spend 7 minutes manually researching each one, that's nearly 6 hours of pure research time. This workflow reduces that to zero active time—just set it up once and let it run.
For growth teams and sales managers, automated LinkedIn enrichment means your team spends more time selling and less time playing detective. The data's already there when they pick up the phone.
Prerequisites
Before setting up this workflow, make sure you have:
Credentials configured in n8n:
Download the Complete Workflow
Get instant access to the n8n JSON workflow, complete configuration guide, and video tutorial: https://hackceleration.com/automatio...act-apify-n8n/
More...
This n8n workflow completely automates that process. When a lead submits their email, the automation instantly finds their LinkedIn profile via Dropcontact, scrapes comprehensive profile data using Apify, and pushes everything into your CRM—all without you lifting a finger.
The result? Full lead profiles with name, job title, company details, connections count, and more—ready in seconds instead of the 5-10 minutes of manual research per lead. Download this workflow for free and start qualifying leads faster than your competitors can say "let me Google that."
What You'll Build
- Automated lead enrichment triggered by form submissions or webhooks
- LinkedIn profile discovery from email addresses using Dropcontact
- Full profile scraping (name, title, company, experience, connections) via Apify
- Structured data export to Google Sheets or your CRM
- Fallback handling for leads without findable LinkedIn profiles
- Complete workflow with n8n JSON, configuration guide, and video tutorial
Download the Free Workflow
Download the free workflow and follow the step-by-step guide here: https://hackceleration.com/automatio...act-apify-n8n/
How This n8n Automation Helps You Enrich Inbound Leads Instantly
Manual lead research is a productivity killer. Every time someone fills out your contact form, you're faced with a choice: spend 10 minutes researching them on LinkedIn, or skip the research and risk sending generic, ineffective follow-ups. Neither option is great.
This workflow eliminates that trade-off entirely. The moment an email hits your system—whether from a form submission, webhook, or any other trigger—n8n kicks off a multi-step enrichment process that would take you minutes to do manually.
Here's the flow: First, Dropcontact takes the email and finds the associated LinkedIn profile URL. Then, Apify's LinkedIn scraper extracts everything useful from that profile—full name, current job title, company information (name, industry, size, website), work history, skills, education, location, and connection count. Finally, all this enriched data gets structured and pushed directly to Google Sheets.
What you end up with is a comprehensive lead profile ready for your sales team within seconds of submission. No manual lookups, no copy-pasting between tabs, no forgetting to check someone's background before a call.
The workflow includes the complete n8n JSON file, step-by-step configuration guide, and video tutorial. Plus, you can easily swap Google Sheets for HubSpot, Pipedrive, Salesforce, or whatever CRM you're using—the enrichment logic stays the same.
Whether you're a solo founder qualifying leads yourself or running a sales team that needs to prioritize follow-ups, this automation gives you the intelligence you need to personalize outreach and close faster.
Video Tutorial
Watch the complete step-by-step build: https://www.youtube.com/watch?v=8Na4b7IMjD8
Step-by-Step Guide: n8n Workflow for Inbound Lead Enrichment via LinkedIn
Step 1: Manual Trigger – Set Up the Lead Capture Form
This first node creates a simple form that captures lead emails—your workflow's entry point. In production, you'd typically replace this with a webhook connected to your actual lead capture form, but the Manual Trigger with form capability is perfect for testing and demonstrations.
The form configuration here is intentionally minimal: just an email field. That's all you need to kick off the enrichment process. Everything else—name, company, title—gets pulled automatically from LinkedIn.
Key settings:
- Form URL: Your n8n instance generates a unique form URL (Test URL for testing, Production URL for live use)
- Authentication: Set to None for this example (add authentication in production if needed)
- Form Title: Example Lead Form (Trigger for Automation Workflow) – customize this to match your use case
- Form Elements:
- Field Name: Email
- Element Type: Text
- Required Field: Toggle ON – ensures you always capture the email
Tip: In real-world use, you'd connect a Webhook node instead of this form, pulling the email from your actual lead capture system (Typeform, landing page, CRM, etc.).
Step 2: Set Email – Normalize the Input Data
This Set node standardizes the email field name for downstream nodes. Different triggers might pass the email with different field names (Email, email, user_email, etc.), so this step ensures consistency throughout the workflow.
It's a simple but crucial data hygiene step. By explicitly mapping the email field here, you make the rest of your workflow more robust and easier to modify later.
Key settings:
- Mode: Manual Mapping – explicitly define which fields to set
- Fields to Set:
- Field Name: email
- Type: String
- Value: Expression that pulls the Email field from the form submission
- Include Other Input Fields: Toggle OFF – only pass the email field forward
Tip: If your trigger uses a different field name for email, just update the expression accordingly.
Step 3: Dropcontact – Find LinkedIn Profile from Email
This is where the magic starts. Dropcontact takes the email address and returns the associated LinkedIn profile URL. Their database cross-references professional emails with LinkedIn profiles, giving you the connection you need for deeper enrichment.
Dropcontact is particularly good at finding LinkedIn profiles for business emails. Personal Gmail or Yahoo addresses will have lower match rates, but for B2B leads using company emails, expect strong results.
Key settings:
- Credential to connect with: Select your Dropcontact API credential
- Resource: Contact – we're enriching contact data
- Operation: Enrich – fetch additional data for the contact
- Email: Expression that dynamically passes the email from the previous node
- Simplify Output (Faster): Toggle OFF – keep detailed output for maximum data
Tip: Dropcontact offers a free tier perfect for testing. For production with higher volume, you'll need a paid plan. The API returns the LinkedIn URL in the linkedin field when found.
Step 4: IF LinkedIn Profile Exists – Route Based on Match Success
Not every email will have a findable LinkedIn profile. This IF node checks whether Dropcontact returned a LinkedIn URL and routes the workflow accordingly—successful matches continue to Apify scraping, while non-matches go to a fallback path.
This branching logic ensures your workflow doesn't break when LinkedIn data isn't available. You can still capture minimal lead data (just the email) and flag those leads for manual research later.
Key settings:
- Conditions:
- Check if the LinkedIn URL field from Dropcontact exists
- Condition: exists – checks if the field has a value
- Convert types where required: Toggle OFF
The "true" branch (LinkedIn found) continues to Apify. The "false" branch (no LinkedIn) routes to a simplified Set node that captures just the email.
Tip: Consider adding a notification node on the "false" branch to alert you when leads can't be enriched—these might need manual attention.
Step 5: Apify LinkedIn Scraper – Extract Full Profile Data
Now we're pulling the real gold. Apify's LinkedIn scraper takes the profile URL from Dropcontact and extracts comprehensive data: name, headline, current company, job history, education, skills, connection count, location, and more.
This is the step that transforms a simple email into a full lead profile. The data you get here is what your sales team needs to personalize outreach and qualify leads without any manual research.
Key settings:
- Credential to connect with: Select your Apify API key credential
- Resource: Actor – Apify organizes scrapers as "Actors"
- Operation: Run an Actor and Get Dataset – executes the scraper and retrieves results
- Actor Source: Recently Used Actors – or search for LinkedIn scrapers
- Actor: Select Mass LinkedIn Profile Scraper or similar LinkedIn scraping Actor from Apify's library
- Input JSON: Configure to use the LinkedIn URL from previous step
- Memory: 1024 MB (1 GB) – sufficient for single profile scraping
Tip: Apify offers various LinkedIn scrapers with different capabilities and pricing. The "Mass LinkedIn Profile Scraper" works well for this use case.
Step 6: Set Lead LinkedIn Profile Data – Structure the Enriched Data
Apify returns a lot of data, and not all of it is useful for every use case. This Set node extracts the specific fields you want and structures them cleanly for your CRM or database.
The fields mapped here represent the most valuable data points for sales follow-up. You can customize this list based on your specific needs—add company size, industry, or skills if those matter for your qualification process.
Key settings:
- Mode: Manual Mapping
- Fields to Set:
- linkedinUrl (String): The profile URL for reference
- firstName (String): Lead's first name
- lastName (String): Lead's last name
- fullName (String): Combined full name
- headline (String): LinkedIn headline (usually job title + company)
- connections (Number): Connection count (useful for influence scoring)
- Include Other Input Fields: Toggle OFF – only keep the explicitly mapped fields
Tip: Apify's LinkedIn scraper returns many more fields than shown here—company name, location, experience array, education, skills, etc. Check the Actor's output documentation and add any fields relevant to your sales process.
Step 7: Set Email (Merge Branch) – Preserve Email Through the Flow
This Set node handles the "no LinkedIn found" branch, ensuring leads without LinkedIn profiles still get captured with their email address. It references the email from the earlier normalization step to maintain data consistency.
Even when you can't enrich a lead fully, you don't want to lose them. This node ensures every lead—enriched or not—flows into your final destination.
Key settings:
- Mode: Manual Mapping
- Fields to Set:
- email (String): Pulls email from the earlier Set node by referencing its name
- Include Other Input Fields: Toggle OFF
Tip: The node reference expression lets you reference data from any previous node by name. This is essential when you have branching logic and need to pull data from nodes that aren't immediately upstream.
Step 8: Google Sheets – Save Enriched Lead Data
The final step pushes all your enriched lead data into Google Sheets. Each new lead gets a new row with all the fields you've mapped throughout the workflow. From here, your sales team can review, prioritize, and take action.
Google Sheets is used here for simplicity, but you can easily swap this node for HubSpot, Pipedrive, Salesforce, Airtable, or any CRM that n8n supports.
Key settings:
- Credential to connect with: Select your Google Sheets credential
- Resource: Sheet Within Document – we're targeting a specific sheet
- Operation: Append Row – adds new data as a new row
- Document: Select From list and choose your target spreadsheet
- Sheet: Select From list and choose your target sheet
- Mapping Column Mode: Map Automatically – field names in n8n will match column headers in your sheet
Important: For automatic mapping to work, your Google Sheet column headers must exactly match the field names from the previous Set node (email, linkedinUrl, firstName, lastName, fullName, headline, connections).
Tip: Create your Google Sheet with the correct column headers before running the workflow. If you need to add more fields later, just add columns to the sheet and map those fields in the Set node.
Why Automating LinkedIn Lead Enrichment Is a Game-Changer for Sales Teams
Inbound leads are the lifeblood of B2B sales, but raw form submissions don't tell you much. An email address alone won't help you prioritize follow-ups, personalize your outreach, or qualify whether someone's worth your time.
The manual research problem:
- Spending 5-10 minutes per lead searching LinkedIn and gathering basic info
- Inconsistent data quality depending on who's doing the research
- Leads going cold while you're still figuring out who they are
- Sales reps wasting time on low-quality leads because they couldn't quickly qualify them
What automation solves:
- Instant enrichment—full profile data available seconds after submission
- Consistent data structure across all leads for better reporting and scoring
- Faster follow-up that catches leads while they're still warm
- Better qualification so reps focus on leads that actually match your ICP
The math is simple: if you get 50 leads per week and spend 7 minutes manually researching each one, that's nearly 6 hours of pure research time. This workflow reduces that to zero active time—just set it up once and let it run.
For growth teams and sales managers, automated LinkedIn enrichment means your team spends more time selling and less time playing detective. The data's already there when they pick up the phone.
Prerequisites
Before setting up this workflow, make sure you have:
- n8n instance: Self-hosted or n8n Cloud account
- Dropcontact account: Free tier available for testing, paid plans for volume
- Apify account: Free tier includes enough credits for testing
- Google account: For Google Sheets integration (or credentials for your preferred CRM)
Credentials configured in n8n:
- Dropcontact API key
- Apify API key
- Google Sheets OAuth2 or Service Account
Download the Complete Workflow
Get instant access to the n8n JSON workflow, complete configuration guide, and video tutorial: https://hackceleration.com/automatio...act-apify-n8n/
More...