🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

LinkedIn to Airtable, qualified companies without dupes

Lisa Granqvist Partner Workflow Automation Expert

Copying company details out of LinkedIn looks harmless… until you’ve done it 40 times, your CRM has duplicates, and nobody trusts the list anymore.

This LinkedIn Airtable automation hits sales leads and biz dev teams hardest, but marketers building target account lists feel it too. You end up spending hours on “research” that is really just tab-switching and cleanup.

This workflow pulls targeted LinkedIn companies into Airtable, checks basic “fit” signals, and blocks dupes so your outreach list stays clean. Below, you’ll see how it works, what you get, and what to watch out for.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: LinkedIn to Airtable, qualified companies without dupes

The Problem: LinkedIn research turns into CRM cleanup

Finding companies on LinkedIn is easy. Turning that into a usable CRM list is the part that quietly wrecks your week. You search, open a bunch of profiles, copy the company name, try to grab a website, paste the LinkedIn URL, then guess if they’re even worth contacting. Repeat. And later, when you run outreach, you discover duplicates, missing websites, or “companies” that were never real targets in the first place. The time cost is obvious. The mental cost is worse, because you can’t tell which rows are good without re-checking everything.

It adds up fast. Here’s where the process usually breaks down.

  • Each company takes maybe 5–10 minutes to research and format, so even a small list can eat a whole afternoon.
  • Duplicates sneak in because names vary (“Acme Inc” vs “Acme”), which means your team double-contacts or double-scores accounts.
  • “Qualification” becomes vibes-based when you’re rushing, so low-fit companies clog the pipeline and waste follow-ups.
  • When the website field is blank, enrichment gets delayed, messaging gets generic, and replies drop.

The Solution: Search LinkedIn, qualify, and save only new companies

This n8n workflow automates the “research-to-CRM” handoff without trying to overcomplicate it. You start by defining what you’re looking for (keywords, company size, location). The workflow sends those criteria to a LinkedIn company search via an API (Ghost Genius), then collects a list of matching companies. It processes each company one-by-one, fetches deeper details, and runs a quick quality check using simple indicators like follower count and whether a website is available. Only then does it look in Airtable to see if that company already exists. If it’s new, it gets added to your CRM base with the key fields mapped correctly. If it’s a duplicate, it’s skipped, so your list stays usable.

The workflow begins when you launch it in n8n and set your search inputs. It loops through LinkedIn company results, validates fit, checks Airtable for an existing record, and then appends only the companies that pass both checks. You end with an Airtable CRM you can actually trust.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you build a targeted list of 80 companies every week. Manually, if each company takes about 7 minutes to open, copy fields, sanity-check, and paste into Airtable, that’s roughly 9 hours of pretty dull work. With this workflow, you spend about 10 minutes setting criteria in n8n, then let it run while it fetches details, filters by basic fit, and dedupes before writing to Airtable. You still might spot-check the final list for a few minutes, but the heavy lifting is gone.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Airtable for your CRM base and dedupe checks.
  • Ghost Genius API to search LinkedIn company data.
  • Ghost Genius API key (get it from your Ghost Genius account dashboard)

Skill level: Intermediate. You’ll connect Airtable, add an API key, and map a few fields without touching code.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

You launch the workflow and set your targeting. A manual trigger starts the run, then a “Define Search Inputs” step sets keywords, location, and company size so your search stays consistent.

LinkedIn company results are pulled in automatically. An HTTP request queries the company search endpoint (via Ghost Genius), then the workflow splits the response into individual company records so they can be processed cleanly.

Each company gets enriched and lightly qualified. The workflow loops through results in batches, fetches detailed company info, then checks for signals like follower count and whether a website exists. If it fails your criteria, it’s skipped. Simple, but effective.

Only new companies get written to Airtable. Before inserting anything, n8n searches your Airtable CRM for an existing record (using the company ID or other matching field). If no match is found, it appends a new row with your mapped fields.

You can easily modify the search criteria and qualification rules to match your ICP. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Set up the manual start point for the workflow so you can test the end-to-end flow on demand.

  1. Add a Manual Launch Trigger node as the workflow entry point.
  2. Connect Manual Launch Trigger to Define Search Inputs to match the execution flow.
  3. Keep Flowpast Branding as a reference note (optional, no configuration required).

Step 2: Connect the GhostGenius API

Authorize the API nodes that fetch the company list and detailed company data.

  1. Open Retrieve Company List and set URL to https://api.ghostgenius.fr/v2/search/companies.
  2. Set Authentication to genericCredentialType and Generic Auth Type to httpHeaderAuth.
  3. Credential Required: Connect your httpHeaderAuth credentials in Retrieve Company List.
  4. Open Fetch Company Details and set URL to https://api.ghostgenius.fr/v2/company with Authentication set to genericCredentialType.
  5. Credential Required: Connect your httpHeaderAuth credentials in Fetch Company Details.

Tip: Keep the request interval at 2000 ms in Retrieve Company List pagination to avoid API throttling.

Step 3: Set Up Search Inputs and Company Discovery

Define the search criteria and pass them into the company search endpoint.

  1. In Define Search Inputs, add assignments for Your target with value Growth Marketing Agency.
  2. Add B: 1-10 employees, C: 11-50 employees, D: 51-200 employees, E: 201-500 employees, F: 501-1000 employees, G: 1001-5000 employees, H: 5001-10,000 employees, I: 10,001+ employees with value C.
  3. Add Location identifier with value 103644278.
  4. In Retrieve Company List, set query parameters: keywords to {{ $json['Your target'] }}, company_size to {{ $json['B: 1-10 employees, C: 11-50 employees, D: 51-200 employees, E: 201-500 employees, F: 501-1000 employees, G: 1001-5000 employees, H: 5001-10,000 employees, I: 10,001+ employees'] }}, and location to {{ $json['Location identifier'] }}.
  5. Configure pagination in Retrieve Company List to use page with {{ $pageCount + 1 }} and completion expression {{ $response.body.data.isEmpty() }}.

⚠️ Common Pitfall: If the query parameter names don’t match the API spec, the search will return empty results. Double-check keywords, company_size, and location.

Step 4: Configure Record Splitting, Batching, and Validation

Split the list into individual items, batch the processing, fetch details, and filter for quality records.

  1. In Split Company Records, set Field To Split Out to data.
  2. Connect Split Company Records to Iterate Company Batch to process one company at a time.
  3. In Fetch Company Details, set the query parameter url to {{ $json.url }}.
  4. Keep batching in Fetch Company Details at Batch Size 1 and Batch Interval 2000 to limit API load.
  5. In Validate Company Records, set conditions: website notEmpty with {{ $json.website }} and followers_count gt 200 using {{ $json.followers_count }}.

Tip: Validate Company Records routes failed items back to Iterate Company Batch so the batch continues even when some companies are filtered out.

Step 5: Configure CRM Search and Append Logic

Check for existing companies in Airtable, then create new records only when needed.

  1. In Search CRM for Company, set Operation to search and Filter By Formula to ={id} = '{{ $json.id.toNumber() }}'.
  2. Credential Required: Connect your airtableTokenApi credentials in Search CRM for Company.
  3. In Determine New Company, keep the condition checking an empty result: {{ $('Search CRM for Company').all().first().json }}.
  4. In Append Company to CRM, set Operation to create and map fields including id to {{ $('Validate Company Records').item.json.id.toNumber() }}, Name to {{ $('Validate Company Records').item.json.name }}, and Website to {{ $('Validate Company Records').item.json.website }}.
  5. Set fixed values in Append Company to CRM for Country as 🇺🇸 United States and Category as Growth Marketing Agency 11-50 🌍.
  6. Credential Required: Connect your airtableTokenApi credentials in Append Company to CRM.

⚠️ Common Pitfall: Ensure the Airtable base and table IDs are set to your workspace values; leaving [YOUR_ID] will cause search/create failures.

Step 6: Test and Activate Your Workflow

Run a manual test to confirm company records are fetched, validated, and written to your CRM.

  1. Click Execute Workflow to run Manual Launch Trigger and start the pipeline.
  2. Verify that Retrieve Company List outputs company data and Split Company Records emits individual items.
  3. Confirm Validate Company Records passes only entries with a website and followers_count greater than 200.
  4. Check Airtable to ensure Append Company to CRM creates new records only when Determine New Company evaluates as empty.
  5. When satisfied, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Ghost Genius credentials can expire or need specific permissions. If things break, check your Ghost Genius dashboard and confirm the API key is still active first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this LinkedIn Airtable automation?

About 30 minutes once your Airtable base and API key are ready.

Do I need coding skills to automate LinkedIn to Airtable lead capture?

No. You’ll mostly paste an API key, connect Airtable, and map fields.

Is n8n free to use for this LinkedIn Airtable automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Ghost Genius API costs based on your usage.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this LinkedIn Airtable automation workflow for a different ICP?

Yes, and it’s the main reason this template is useful long-term. Update your targeting in the “Define Search Inputs” step (keywords, location, size), then adjust the follower threshold in “Validate Company Records” to match how strict you want to be. If your CRM uses different fields, change the mapping in “Append Company to CRM” so Airtable gets the exact columns you care about. Many teams also add a Slack or email notification when a batch finishes, just to keep list-building visible.

Why is my Airtable connection failing in this workflow?

Most of the time it’s an expired token or the wrong base/table selected in your Airtable credentials. Confirm the base is named “CRM” (or update the node to match your base), and make sure the token has access to that workspace. Also check your field names: if your Airtable table doesn’t have the columns you’re mapping (like “website” or “LinkedIn”), Airtable will reject the create/update request.

How many companies can this LinkedIn Airtable automation handle?

Hundreds per run is realistic for most teams, as long as your API limits allow it and you process in batches.

Is this LinkedIn Airtable automation better than using Zapier or Make?

Often, yes, because this workflow relies on looping through results, branching on validation, and checking Airtable before inserting anything. n8n is better suited to that kind of logic without turning every small step into an extra paid task. Zapier or Make can work, but you’ll usually feel it when you add deduping, batching, and multi-step enrichment. If you want to run this at higher volume, self-hosting n8n is also a big advantage. Talk to an automation expert if you’re deciding between tools.

A clean CRM is a force multiplier, honestly. Set this up once, run it every week, and stop treating list-building like an endurance sport.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal