🔓 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 + Airtop: safe invites, logged in Sheets

Lisa Granqvist Partner Workflow Automation Expert

You open LinkedIn to do “quick outreach,” and suddenly it’s an hour later. Half that time is wasted checking if you’re already connected, re-opening profiles, and second-guessing whether you already sent an invite last week.

This hits growth marketers first. But agency owners running lead gen for clients and founders doing their own prospecting feel the same drag. LinkedIn invites automation fixes the repeat work and keeps your outreach steady without relying on memory.

This workflow uses Airtop to open a profile, detect connection status, send a safe invite (with or without a note), and then logs what happened in Google Sheets so you can scale with confidence.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: LinkedIn + Airtop: safe invites, logged in Sheets

The Problem: LinkedIn Outreach Breaks at Scale

Sending connection requests sounds simple until you’re doing it every day. You bounce between tabs, open profiles one-by-one, click “Connect,” then realize the button isn’t there because you’re already connected or you have a pending invite. Now you’ve lost momentum, and your “quick task” turns into context switching. Worse, when you don’t track outcomes, you end up sending duplicates, missing follow-ups, or bothering people who already saw your request. It’s not hard work. It’s draining work.

The friction compounds. Here’s where it breaks down most often:

  • You waste about 5 minutes per prospect just confirming you can actually send an invite.
  • Pending invites quietly pile up, and you keep revisiting the same profiles because there’s no record.
  • Personalized notes get skipped because typing them repeatedly slows you down.
  • Your reporting is fuzzy, so you can’t tell if your list quality or your messaging is the real issue.

The Solution: Airtop Sends Invites Only When It’s Safe

This workflow automates the annoying part of LinkedIn outreach: checking status, sending the request the right way, and keeping a clean record. It starts when you submit a LinkedIn profile URL (either from a simple form trigger or another upstream workflow). n8n normalizes the inputs, then Airtop launches a browser session using your authenticated Airtop Profile (so it behaves like “you,” already logged into LinkedIn). Airtop opens the target profile, inspects what actions are available, and decides what to do next. If you’re already connected or the invite is pending, it stops without sending anything. If “Connect” is available, it sends the invite, optionally adds your note, captures a snapshot for proof, and closes the session cleanly.

The flow begins with your linked_url plus an Airtop Profile name. Airtop checks the profile’s current state, then routes to either “end session” or “send invite.” Finally, you push the outcome to Google Sheets so you can track attempts, skip duplicates, and keep outreach consistent.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you send 20 connection requests a day. Manually, it’s usually about 5 minutes per profile once you include opening the page, checking status, and typing a note, which is roughly 100 minutes daily. With this workflow, submitting a batch of 20 URLs can take about 10 minutes, then Airtop runs the checks and sends invites in the background. You still review your message template, but you’re no longer babysitting every click. That’s about an hour back each day you do outreach.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Airtop to run an authenticated LinkedIn browser session
  • Google Sheets to log invites and outcomes centrally
  • Airtop API Key (get it from your Airtop dashboard)

Skill level: Intermediate. You’ll connect credentials, map a few fields, and test with your own LinkedIn account safely.

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

How It Works

A form submission or upstream workflow triggers the run. You pass in the LinkedIn profile URL, the Airtop Profile name (already logged into LinkedIn), and an optional message.

The workflow standardizes your input. n8n normalizes fields so downstream steps don’t break when a URL is formatted slightly differently or when the message is blank.

Airtop opens the profile and checks what’s possible. It navigates to the “More” menu, inspects the profile status, then uses a switch to decide if it should end the session or proceed to “Connect.” If a note is included, it opens the note field and types it before sending.

The run wraps up with evidence and clean shutdown. Airtop captures a snapshot of the window, then closes the session so you don’t get stuck with hanging browser processes. From there, it’s easy to log the result in Google Sheets for tracking and dedupe.

You can easily modify the message logic to enforce templates or personalization rules based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Trigger Type

Set up how the workflow starts—either from another workflow or via a public form.

  1. Open Upstream Workflow Trigger and confirm it accepts inputs named airtop_profile, linked_url, and message.
  2. Open Form Intake Trigger and set Form Title to LinkedIn connection requests.
  3. In Form Intake Trigger, add fields for LinkedIn URL (required), Airtop Profile (connected to Linkedin) (required), and Message (textarea).
  4. Keep the Form Description set to the provided HTML content (this is shown to users).
⚠️ Common Pitfall: Upstream Workflow Trigger expects linked_url, while Normalize Inputs looks for linkedin_url or LinkedIn URL. Ensure your upstream workflow sends linkedin_url or update Normalize Inputs accordingly.

Step 2: Normalize Input Fields

Standardize incoming data so downstream Airtop nodes can reference consistent fields.

  1. Open Normalize Inputs and add three assignments.
  2. Set linkedin_url to {{ $json.linkedin_url || $json['LinkedIn URL']}}.
  3. Set airtop_profile to {{ $json.airtop_profile || $json['Airtop Profile (connected to Linkedin)']}}.
  4. Set message to {{ $json.message || $json['Message']}}.

Step 3: Connect Airtop and Open the LinkedIn Profile

Start an Airtop session and load the target LinkedIn profile in a live window.

  1. Open Start Airtop Session and set Profile Name to {{ $json.airtop_profile }}.
  2. Enable Save Profile On Termination in Start Airtop Session.
  3. Open Open Profile Window and set URL to {{ $('Normalize Inputs').item.json.linkedin_url }}.
  4. Set Resource to window and turn on Get Live View in Open Profile Window.
Credential Required: Connect your airtopApi credentials. Apply this to all Airtop nodes (12+ nodes handle session start, profile navigation, interactions, screenshots, and termination).

Step 4: Inspect Connection Status and Route the Flow

Check whether the profile is connectable and route based on the AI extraction result.

  1. In Press More Menu, confirm Element Description is More button.
  2. In Inspect Profile Status, keep the Prompt as provided to output Connect, Pending, or 1st degree.
  3. In Connection Status Check, verify the first rule checks {{ $json.data.modelResponse }} contains Connect, and the second rule checks notContains Connect.
  4. Confirm the execution flow: Inspect Profile StatusConnection Status CheckPress Connect Button if connectable; otherwise → End Airtop Session.

Step 5: Configure Invite Actions and Session Cleanup

Send a connection request with or without a note, then capture evidence and close the session.

  1. In Press Connect Button, keep Element Description set to Connect and use {{ $json.windowId }} and {{ $json.sessionId }}.
  2. In Message Presence Router, confirm the routing rules check {{ $('Normalize Inputs').item.json.message }} for empty vs. not empty.
  3. If empty, Message Presence Router routes to Send Invite No Note with Element Description Send without a note.
  4. If not empty, route to Open Note FieldEnter Note Text (set Text to {{ $('Normalize Inputs').item.json.message }}) → Send Invite With Note (set Element Description to Send).
  5. After either send path, confirm Capture Window SnapshotFinalize Session Close to close the Airtop session.
⚠️ Common Pitfall: LinkedIn UI labels can change. If Airtop cannot find elements like Connect or Send without a note, update the Element Description in the relevant Airtop nodes.

Step 6: Test and Activate Your Workflow

Run a full test to verify Airtop navigation, routing, and session termination.

  1. Click Execute Workflow and submit the Form Intake Trigger with a real LinkedIn profile URL and Airtop profile name.
  2. Confirm the workflow opens the profile, detects the connection status, and either sends an invite or terminates the session via End Airtop Session.
  3. Verify a screenshot is produced by Capture Window Snapshot and the session closes in Finalize Session Close.
  4. When satisfied, toggle the workflow Active to enable production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Airtop credentials can expire or need specific permissions. If things break, check your Airtop API key status in the Airtop dashboard 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 invites automation automation?

About 30 minutes if your Airtop Profile is already authenticated.

Do I need coding skills to automate LinkedIn invites automation?

No. You’ll mostly connect accounts and map fields. The logic is already built into the workflow branches.

Is n8n free to use for this LinkedIn invites 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 API usage costs based on your run volume.

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 invites automation workflow for different invite messages?

Yes, and it’s one of the best tweaks to make. You can enforce a template by adjusting the “Normalize Inputs” step to build your message automatically, then always routing through the “Open Note Field” and “Enter Note Text” actions. Some teams insert the first name and company from their spreadsheet, while others rotate two or three note variations to avoid sounding repetitive. If you want a strict “no message unless qualified” rule, you can keep the existing message router and only allow notes for certain rows.

Why is my Airtop connection failing in this workflow?

Usually it’s an expired Airtop API key or the wrong Airtop Profile name. Double-check that the profile is still authenticated to LinkedIn inside Airtop, then confirm the API key in n8n matches the one in your Airtop dashboard. If it fails only on some profiles, LinkedIn may be showing a slightly different UI state, so the “Inspect Profile Status” check needs a small adjustment.

How many connection requests can this LinkedIn invites automation automation handle?

It can handle plenty, but your practical limit is LinkedIn’s own invite limits and how fast you want to run Airtop sessions.

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

Often, yes, because Zapier and Make can’t reliably “look at the page” to decide if Connect is available, and that’s the whole point of doing this safely. Airtop plus n8n gives you the branching you need (already connected, pending invite, connect with note, connect without note) without turning it into a fragile chain of hacks. Self-hosting also matters if you run outreach daily and don’t want to count every task. That said, if your process is only “log a URL, send a Slack alert,” Zapier or Make is fine. Talk to an automation expert if you want help picking the right stack.

Once this is running, outreach stops feeling like tab-juggling. The workflow handles the repetitive checks and clicks so you can focus on the list, the offer, and the follow-up.

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