🔓 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

Airtop + Google Sheets: cleaner ICP lead scoring

Lisa Granqvist Partner Workflow Automation Expert

Your lead list looks fine until someone asks, “Which of these companies are actually worth sales time?” Then it turns into tabs, gut-feel scoring, and a spreadsheet that gets messy fast.

This hurts growth marketers first, but sales ops and agency teams feel it too. With this ICP scoring automation, you can turn a raw LinkedIn company list into a prioritized sheet your team can trust, without spending your morning playing human enrichment tool.

Below you’ll see exactly what this n8n workflow does, what outcomes to expect, and what you need to run it reliably in the real world.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Airtop + Google Sheets: cleaner ICP lead scoring

The Problem: ICP scoring turns into spreadsheet chaos

Most teams don’t fail at lead gen because they lack leads. They fail because the “qualification” step is a fuzzy, manual grind that never stays consistent. One person scores based on employee count. Another cares about geography. Someone else skims LinkedIn and calls it a day. A week later, you’ve got duplicates, missing fields, and a pipeline review where nobody trusts the list. And the worst part is the opportunity cost: while you’re chasing weak-fit accounts, the best-fit ones sit untouched.

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

  • Someone has to open each LinkedIn company page, copy details, and paste them into the sheet, which burns about 5 minutes per company on a good day.
  • Scoring is inconsistent because it depends on mood, context, and whoever is on “lead cleanup” duty that week.
  • Static databases go stale quickly, so you end up qualifying based on outdated headcount, positioning, or hiring signals.
  • Sales loses confidence in the list, so reps cherry-pick and the whole scoring effort quietly dies.

The Solution: Airtop enriches LinkedIn companies and scores them in Sheets

This workflow takes a Google Sheet full of company LinkedIn URLs and turns it into a clean, ranked, consistently scored lead list. You start by running the workflow manually in n8n (useful when you want control over batch size and timing). n8n pulls your company rows from Google Sheets, then Airtop extracts fresh company details directly from LinkedIn. Next, an AI scoring step evaluates fit using a points model (things like AI implementation level, technical sophistication, employee count, geography, and whether the company looks like an automation agency). Finally, n8n writes the enriched details and the ICP score back into the same sheet row, so your list stays usable for outreach, routing, or reporting.

The workflow starts with your existing Sheet as the source of truth. Airtop fetches the current LinkedIn company data, then OpenAI helps translate that information into a consistent score. The updated row in Google Sheets becomes your “single place” to sort, filter, and prioritize.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you have 80 target accounts from a webinar list and you want a quick “who’s worth it” ranking. Manually, if enrichment plus scoring takes about 5 minutes per company, that’s roughly 6 to 7 hours of work, plus a bunch of context switching. With this workflow, you paste LinkedIn company URLs into Google Sheets, run n8n once, and let Airtop + AI handle the heavy lifting. Most teams get the updated sheet back in about an hour, then sales can sort by ICP score and start outreach immediately.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your company list and output columns
  • Airtop to extract LinkedIn company details
  • Airtop API key (get it from the Airtop dashboard)

Skill level: Beginner. You will connect accounts, paste a sheet ID, and verify your columns match the workflow.

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

How It Works

You trigger the run manually in n8n. That’s ideal when you want to score a fresh batch after importing leads from a campaign, event, or list purchase.

Google Sheets provides the input rows. The workflow reads your company list, typically with a column like Linkedin_URL_Company, then moves through the rows in a controlled way.

Airtop pulls live LinkedIn company information. It extracts identity and classification details, company scale signals, and “how technical is this org” cues that are hard to capture consistently by hand. This is where the sheet stops being just a list and starts being something you can act on.

AI converts that context into a score you can sort by. The workflow applies your point model (AI implementation level, technical sophistication, employee count, agency status, geography), assembles the output, and writes it back to the same Google Sheet row.

You can easily modify the scoring criteria to match your market, then keep the same output format in Google Sheets based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Start the workflow with a manual trigger so you can test the company scoring process on demand.

  1. Add the Manual Run Trigger node as the starting point of the workflow.
  2. Connect Manual Run Trigger to Retrieve Company List so the sheet data loads first.

Step 2: Connect Google Sheets

Configure the input and output Google Sheets nodes to read companies and write back ICP scores.

  1. Open Retrieve Company List and set Document to [YOUR_ID].
  2. Set Sheet to Company in Retrieve Company List.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve Company List.
  4. Open Modify Sheet Row and set Operation to update.
  5. Set Document to [YOUR_ID] and Sheet to Company in Modify Sheet Row.
  6. Confirm Mapping is autoMapInputData and Matching Columns contains row_number in Modify Sheet Row.
  7. Credential Required: Connect your googleSheetsOAuth2Api credentials in Modify Sheet Row.

Step 3: Set Up Compute ICP Rating

Use Airtop to analyze each LinkedIn company page and return a structured ICP scoring result.

  1. Open Compute ICP Rating and set Resource to extraction and Operation to query.
  2. Set URL to ={{ $json['Linkedin_URL_Company'] }} so each row’s LinkedIn URL is analyzed.
  3. Set Session Mode to new in Compute ICP Rating.
  4. Paste the full analysis prompt into Prompt exactly as provided, including the JSON output schema and scoring table.
  5. Ensure the Output Schema field is filled with the JSON schema provided in the node’s Additional Fields.

⚠️ Common Pitfall: The URL expression expects a column named Linkedin_URL_Company in your sheet. If the column name differs, the node will not resolve the URL.

Step 4: Configure Assemble Output and Sheet Update

Transform the Airtop response into a simplified structure and update the original sheet row with the computed ICP score.

  1. Open Assemble Output and keep Mode set to runOnceForEachItem.
  2. Paste the exact JavaScript in JavaScript Code:

const row_number = $('Retrieve Company List').item.json.row_number const Linkedin_URL_Company = $('Retrieve Company List').item.json.Linkedin_URL_Company const icp_scoring = JSON.parse($input.item.json.data.modelResponse).icp_scoring return { json: { row_number, Linkedin_URL_Company, ICP_Score_Company: icp_scoring.total_score }};

  1. Confirm the execution flow is Retrieve Company ListCompute ICP RatingAssemble OutputModify Sheet Row.
  2. Verify Modify Sheet Row updates the ICP_Score_Company column using the mapped output from Assemble Output.

Step 5: Test and Activate Your Workflow

Run a full test to ensure rows are read, scored, and updated correctly before activating for regular use.

  1. Click Execute Workflow and manually trigger Manual Run Trigger.
  2. Confirm Compute ICP Rating returns a JSON response and Assemble Output outputs ICP_Score_Company.
  3. Check the Google Sheet to verify the ICP_Score_Company column updates for the matching row_number.
  4. When the test succeeds, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the n8n Credentials page and confirm the connected Google account still has edit access to the sheet.
  • 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 ICP scoring automation?

About 30 minutes if your accounts and sheet are ready.

Do I need coding skills to automate ICP scoring?

No. You’ll mostly connect Airtop and Google Sheets, then adjust a few fields if your columns are named differently.

Is n8n free to use for this ICP scoring 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 Airtop and OpenAI usage costs since enrichment and scoring run through their APIs.

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 ICP scoring automation workflow for my own scoring model?

Yes, but do it intentionally. You can adjust the point values in the scoring logic (the criteria like AI implementation level, technical sophistication, employee count, geography, and agency status), and you can tweak the AI prompt used during the “Compute ICP Rating” step so it reflects your market. Common customizations include adding an industry rule, changing what “good fit” headcount looks like, and adding a “do not target” flag for competitors or agencies. Keep the output column names stable in Google Sheets so your sales filters don’t break.

Why is my Airtop connection failing in this workflow?

Usually it’s an expired or incorrect Airtop API key. Regenerate the key in your Airtop dashboard, then update the credential in n8n. Also check that the LinkedIn company URLs in your sheet are valid and publicly reachable, because malformed URLs can look like “auth errors” upstream. If you’re processing a big batch, rate limits can show up too, so reducing batch size often fixes it.

How many companies can this ICP scoring automation handle?

Hundreds in a run is typical, but it depends on your n8n plan, your server (if self-hosted), and how fast Airtop and the AI scoring responses return.

Is this ICP scoring automation better than using Zapier or Make?

Often, yes, because you can do richer logic without paying extra for every branch, and you can self-host if volume gets high. n8n also makes it easier to work with structured enrichment outputs and custom code when you need it. Zapier or Make can still be fine for a tiny list and a simple “score then write to sheet” path, but you’ll hit limits faster once you add batching, retries, and prompt tuning. Honestly, the best option depends on how many companies you score each week and how strict your rubric is. Talk to an automation expert if you want a quick recommendation based on your setup.

Once this is running, your sheet stops being a “maybe” list and becomes a real prioritization tool. Set it up once, then spend your time on outreach that actually has a shot.

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