🔓 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 leads from reactions

Lisa Granqvist Partner Workflow Automation Expert

You post on LinkedIn, people react, and then… nothing. Not because the interest isn’t real, but because turning reactions into outreach means endless profile clicking, messy notes, and “I’ll do it later” that never happens.

This LinkedIn Airtable leads automation hits marketing managers first (you’re the one expected to prove pipeline), but founders and agency leads feel it too. The outcome is simple: reactions become qualified prospects in Airtable, already deduped and labeled so you can reach out with confidence.

Below you’ll see how the workflow moves from a LinkedIn post URL to an Airtable table of “best-fit” people, plus what you need to run it safely without tripping LinkedIn’s anti-scraping alarms.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: LinkedIn to Airtable, qualified leads from reactions

The Problem: LinkedIn Engagement Doesn’t Turn Into Leads

If you’ve ever tried to “work the reactions” on a LinkedIn post, you know the trap. You open the reaction list, click into a profile, skim a headline, maybe glance at the company, then try to remember what you just saw while you jump back to the post. Do that 50 times and your brain melts. You still don’t have a clean list, you missed a few good prospects, and now you’re second-guessing your own notes. Worse, you’ll accidentally chase the same people again next week because there’s no reliable record.

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

  • You spend about 2–5 minutes per profile just to decide “maybe,” which turns a single post into a couple hours of research.
  • Duplicates sneak in because names repeat, job titles change, and your “list” lives in DMs, spreadsheets, and random tabs.
  • Manual qualification is inconsistent, so outreach quality depends on your mood and how tired you are that day.
  • You avoid doing it regularly because the workflow is annoying, which means you miss the compounding effect of daily prospecting.

The Solution: Automatically Qualify Reactors and Save Them to Airtable

This workflow takes a LinkedIn post (the one that’s already getting reactions) and turns that engagement into a structured prospect pipeline inside Airtable. It starts by fetching a page of reactions through an Apify actor designed for LinkedIn scraping without cookies (important for account safety). The workflow cleans and normalizes the data, checks Airtable to see if each person already exists, and only processes new profiles so you don’t waste time or scraping credits. Next, it enriches each profile with deeper LinkedIn data like company and experience, then bundles everything into a readable summary. Finally, an AI agent evaluates each person against your Ideal Customer Profile criteria and updates Airtable with a qualification result and reasoning you can actually trust.

It kicks off when you run the workflow with a LinkedIn post URL. Then it scrapes reactors, enriches profiles, and uses AI to label the best-fit prospects. Airtable becomes the single source of truth, and optional Slack notifications can keep your team in the loop.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your post gets 80 reactions and you try to qualify them manually. At a very normal 3 minutes per profile (click, scan, decide, note), that’s about 4 hours. With this workflow, you paste the post URL once, let it process one page of reactions (roughly 50–100 profiles), and wait for enrichment and AI scoring to finish. You’ll still review the “qualified” list, but that review is minutes, not hours, because Airtable already has the details and a clear ICP decision.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Airtable for storing prospects and qualification results.
  • Apify to scrape reactions and enrich LinkedIn profiles.
  • OpenAI API key (get it from the OpenAI API dashboard).

Skill level: Intermediate. You’ll connect accounts, paste a LinkedIn post URL, and adjust the ICP prompt so the AI evaluates the right people.

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

How It Works

You start with a LinkedIn post URL. The workflow is designed to run on demand (or on a safe daily schedule) so you process one page of reactions at a time.

Reactions get collected and cleaned. Apify pulls the reaction list, n8n maps the scraper output into normalized fields (name, title, profile URL), then it checks Airtable to see if the person already exists.

Only new profiles get enriched and scored. For fresh records, the workflow waits between requests (including a random delay) and enriches each profile with deeper details like company and experience before sending a structured summary to the AI agent.

Airtable becomes the handoff point. The AI writes back an ICP decision plus reasoning, and your table is ready for outreach, assignment, or a Slack alert depending on how you want to operationalize it.

You can easily modify the ICP criteria to match your market, then route “Qualified” leads to Slack or a CRM based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

This workflow starts manually and then pulls LinkedIn post reactions before processing each profile.

  1. Add the Manual Start Trigger node as the entry point.
  2. Connect Manual Start Trigger to Fetch Post Reactions as shown in the execution flow.
  3. Confirm the workflow canvas includes Flowpast Branding as a reference-only sticky note (no configuration needed).

Step 2: Connect Airtable

The workflow searches, creates, and updates Airtable records for each LinkedIn profile.

  1. Open Lookup Existing Record and select your Airtable Base and Table.
  2. Set Operation to search and keep Filter By Formula as =({Name} = "{{ $json.profile_name }}").
  3. Open Create Airtable Entry and select the same Base and Table.
  4. Confirm the column mappings use expressions such as {{ $('Normalize Profile Data').item.json.profile_name }} for Name and {{ $('Normalize Profile Data').item.json.profile_linkedin_url }} for Profile URL.
  5. Open Update Airtable Entry and select the same Base and Table, then confirm id is set to {{ $('Create Airtable Entry').item.json.id }}.

Credential Required: Connect your airtableOAuth2Api credentials to Lookup Existing Record, Create Airtable Entry, and Update Airtable Entry.

⚠️ Common Pitfall: If the Airtable Base or Table is left empty, the search and updates will silently fail. Always select both fields in each Airtable node.

Step 3: Configure LinkedIn Data Fetching and Throttling

This section pulls reactions from Apify and throttles requests before iterating through profiles.

  1. Open Fetch Post Reactions and set URL to https://api.apify.com/v2/acts/apimaestro~linkedin-post-reactions/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_TOKEN].
  2. Set Method to POST, enable Send Body, and set JSON Body to { "post_url": "[YOUR_ID]", "page_number": 1 }.
  3. Keep the connection from Fetch Post Reactions to Rate Limit Pause to avoid API throttling.
  4. Ensure Rate Limit Pause feeds into Iterate Records so each reaction is processed in batches.
Use a valid Apify token in Fetch Post Reactions to avoid 401 errors.

Step 4: Normalize and Enrich Profile Data

This step formats reaction data, checks for existing records, and enriches profile details.

  1. In Normalize Profile Data, confirm each field uses the correct expressions, such as {{ $json.reactor.name }} for profile_name.
  2. Connect Normalize Profile Data to Lookup Existing Record, then to Presence Check for record existence logic.
  3. In Enrich Profile Data, set the URL to https://api.apify.com/v2/acts/dev_fusion~linkedin-profile-scraper/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_TOKEN].
  4. Set JSON Body to { "profileUrls": ["{{ $('Normalize Profile Data').item.json.profile_linkedin_url }}"] } to enrich each profile.
  5. Keep the route from No-Op Placeholder to Iterate Records as it acts as a passthrough for existing records.
⚠️ Common Pitfall: The profile enrichment call will fail if profile_linkedin_url is empty. Confirm the source data includes valid LinkedIn URLs.

Step 5: Build the Profile Aggregation and Delay Gates

These nodes consolidate profile fields and insert random delays to respect external API limits.

  1. In Combine Profile Fields, keep all Fields to Aggregate such as fullName, jobTitle, and experiences[0].title.
  2. In Generate Delay Value, keep the JavaScript code as provided to return a random delay in seconds.
  3. Set Pause for Delay Value Amount to {{ $('Generate Delay Value').item.json.seconds }}.
  4. Ensure Validity Gate 2 checks for non-empty JSON using {{ $json && Object.keys($json).length > 0 }} before data is mapped.

Step 6: Configure the AI Qualification and Mapping

Here, the workflow composes scraper output, evaluates ICP fit, and prepares structured results.

  1. In Map Scraper Output, set linkedin_scraper_out to the multi-line expression that joins fields from Combine Profile Fields, starting with {{ $('Combine Profile Fields').item.json.fullName[0] }}.
  2. Open AI ICP Evaluation and keep the Text prompt as defined; it references {{ $('Map Scraper Output').item.json.linkedin_scraper_out }} for input.
  3. Attach Structured Result Parser as the output parser for AI ICP Evaluation and keep the JSON schema example.

Credential Required: Connect your LLM credentials in AI ICP Evaluation (the model is configured on the parent node, not on Structured Result Parser).

If the model returns unstructured text, adjust the prompt in AI ICP Evaluation to explicitly return JSON with icp and reasoning.

Step 7: Configure Creation and Updates After AI Scoring

New profiles are created in Airtable, delayed, enriched, scored by AI, and then updated.

  1. From Create Airtable Entry, keep the flow to Generate Random Delay to add randomized wait time after a new record.
  2. In Delay by Random Time, set Amount to {{ $('Generate Random Delay').item.json.seconds }}.
  3. Confirm Update Airtable Entry sets MSP? to {{ $('AI ICP Evaluation').item.json.output.msp }} and Reason to {{ $('AI ICP Evaluation').item.json.output.reasoning }}.
  4. Keep the update of Email Address to {{ $('Enrich Profile Data').first().json.email }}.

Step 8: Test and Activate Your Workflow

Run a manual test to verify the API calls, Airtable operations, and AI evaluation results.

  1. Click Execute Workflow starting from Manual Start Trigger.
  2. Confirm Fetch Post Reactions returns a list of reactors and that Iterate Records processes them.
  3. Verify new entries appear in Airtable from Create Airtable Entry and that Update Airtable Entry fills MSP?, Reason, and Email Address.
  4. Once successful, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Airtable credentials can expire or need specific permissions. If things break, check your n8n Airtable connection settings and base access first.
  • If you’re using Wait nodes or external enrichment, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your ICP definition and brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

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

About 45 minutes if your Airtable, Apify, and OpenAI accounts are ready.

Do I need coding skills to automate LinkedIn Airtable leads?

No. You’ll mostly connect accounts and edit the ICP prompt to match your target customer.

Is n8n free to use for this LinkedIn Airtable leads 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 Apify costs (often around $0.01-0.05 per profile) and OpenAI API 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 leads workflow for my ICP and a Slack alert?

Yes, and you should. Update the ICP criteria inside the AI ICP Evaluation node so it reflects your real “must-have” signals (titles, industries, company size, regions), then filter on the AI output and send only “Qualified” records to Slack. Many teams also tweak the Map Scraper Output step to store extra fields in Airtable, like seniority or a short outreach angle.

Why is my Airtable connection failing in this workflow?

Usually it’s an expired OAuth token or the base/table permissions changed. Reconnect Airtable in n8n and confirm the table still matches the fields the workflow is trying to write. If it fails only sometimes, it can also be Airtable rate limiting when you process a bigger batch.

How many profiles can this LinkedIn Airtable leads automation handle?

Safest is one page per day, which is typically about 50–100 profiles.

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

For LinkedIn scraping and enrichment, n8n is usually the more practical choice because you can add branching logic, batching, and deliberate delays without fighting plan limits. It also gives you the option to self-host, which matters if you run this daily and don’t want to count every task. Zapier and Make can still work for simpler “new row → send message” flows, but they’re not as comfortable when you need loops, dedupe checks, and careful throttling. Frankly, the rate-limiting part is where these builds succeed or fail. If you want a second opinion on your setup, Talk to an automation expert.

Once this is running, your LinkedIn engagement stops being a feel-good metric and starts becoming a daily lead source. Set it up, keep the limits conservative, and let Airtable do the remembering for you.

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