🔓 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

Google Sheets + LinkedIn: outreach tracked, invites sent

Lisa Granqvist Partner Workflow Automation Expert

Your LinkedIn outreach usually breaks in the same place. You start with a clean list, you send a few invites, then the tabs multiply, the notes get messy, and you’re never 100% sure who you already contacted. That’s how duplicates happen. Or worse, silence because you forgot to follow up.

LinkedIn outreach automation is a lifesaver for recruiters managing candidate pipelines, but growth marketers and small agency owners feel the same pain. The outcome is simple: invites go out only when they should, messages go out only once, and your tracking stays reliable in Google Sheets.

This workflow runs outreach straight from a spreadsheet, checks connection status, sends a connection request, then generates an AI icebreaker based on real LinkedIn activity. You’ll see what it does, what you need, and where teams usually trip up.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + LinkedIn: outreach tracked, invites sent

The Problem: LinkedIn Outreach Gets Messy Fast

Running outreach from LinkedIn manually looks manageable… until you do it every day. You copy profile links from a sheet, open them one by one, check if you’re already connected, send an invite, then try to craft a message that doesn’t sound like a template. Then you do it again tomorrow, except you can’t remember if you already invited “Jordan P.” last week, and your notes are split across LinkedIn, a CRM, and someone’s half-updated spreadsheet. The mental load is real, and mistakes are awkward (duplicate invites, repeated messages, or missing follow-ups).

It adds up fast. And the friction compounds once you scale beyond a handful of profiles.

  • Checking connection status profile-by-profile eats about 5 minutes per lead, and it’s pure context switching.
  • Your tracking drifts because “I’ll update the sheet later” turns into “I forgot which ones I sent.”
  • Generic first messages get ignored, so you spend your best energy rewriting the same opener all week.
  • Without a consistent process, outreach volume stays capped by your calendar, not your pipeline goals.

The Solution: Google Sheets-Driven Outreach With Built-In Safeguards

This n8n workflow turns your Google Sheet into the control center for LinkedIn outreach. It starts by pulling LinkedIn profile addresses from your sheet, then checks what’s already been done so you don’t resend invites or messages. Next, it looks up the person’s profile details and recent posts (plus company posts when available) using API calls, which gives the AI enough context to write a real icebreaker. Finally, Browserflow sends the connection invite or the follow-up message on LinkedIn, and the workflow writes the outcome back to Google Sheets. Your sheet stays current, your outreach stays consistent, and you can run it on a schedule instead of “when you have time.”

The workflow can be triggered manually for a quick batch, or run automatically on a schedule. In the middle, it enriches each lead with profile and post data, generates a tailored message with OpenAI, then uses Browserflow to send the invite and message. After that, it updates flags in Google Sheets (invite sent, message sent, relation/connection state), so the next run knows exactly what to do.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you reach out to 50 LinkedIn profiles each week. Manually, you’ll spend about 5 minutes per person to open the profile, confirm connection state, send an invite, and note it somewhere, which is roughly 4 hours. Then you’ll spend another 2 hours writing “not-too-salesy” openers. With this workflow, you update one Google Sheet, run a batch (or let the schedule handle it), and you mainly review the generated icebreakers. Most teams get back about 4 hours a week, sometimes more.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store leads, flags, and status.
  • Browserflow to send LinkedIn invites and messages.
  • RapidAPI key (get it from your RapidAPI dashboard).
  • OpenAI API key (get it from the OpenAI API settings page).

Skill level: Intermediate. You’ll connect accounts, add credentials, and self-host n8n if you want the Browserflow community node.

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

How It Works

A scheduled run (or manual run) kicks things off. You can run it on demand when you add fresh leads, or set the schedule trigger so it checks your sheet regularly and processes the next batch.

Your sheet becomes the single source of truth. n8n retrieves the rows, sorts them, then works through them in batches. It uses flags like “invite sent” and “message sent” so the workflow can safely run again tomorrow without repeating itself.

Profile and company context gets pulled in. HTTP requests fetch the user profile plus a limited number of personal and company posts (based on your MaxItems setting). The workflow aggregates that content so the AI has enough material to work with, without downloading endless feeds.

Invites and icebreakers go out, then tracking updates. If you are not connected, Browserflow sends the invite. If it’s time to message (or a connection is detected), OpenAI generates a tailored opener and Browserflow sends it, then Google Sheets is updated so you can see exactly what happened.

You can easily modify the message prompt to match your brand voice 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 can be started manually or on a schedule. Configure both triggers so you can test manually and then automate.

  1. Open Manual Run Trigger and leave the default settings (manual execution trigger).
  2. Open Scheduled Automation Trigger and set your preferred schedule for recurring runs.
  3. Ensure both Manual Run Trigger and Scheduled Automation Trigger connect into Assign Input Data.
Use Manual Run Trigger during setup so you can inspect output at each node before enabling the schedule.

Step 2: Connect Google Sheets

Five Google Sheets nodes read and update flags for outreach status. Connect credentials and set sheet details consistently across them.

  1. Open Retrieve Sheet Data and select your spreadsheet and range for input records.
  2. Open Modify Sheet Data and map fields for updating profile details returned by the sub-workflow.
  3. Open Modify Invite Flag, Modify Message Flag, and Update Relation Flag to update the correct columns for invite, message, and relation status.
  4. Credential Required: Connect your Google Sheets credentials to Retrieve Sheet Data, Modify Sheet Data, Modify Invite Flag, Modify Message Flag, and Update Relation Flag.
⚠️ Common Pitfall: Make sure all Google Sheets nodes point to the same spreadsheet and matching header columns; mismatched columns can cause flag updates to fail silently.

Step 3: Set Up Data Preparation and Profile Lookup

This path loads batch data, enriches it with profile data, and decides which downstream branch to use.

  1. In Assign Input Data, map any fixed or derived fields needed by downstream nodes.
  2. Confirm Retrieve Sheet Data flows into Process Next Batch and then into Lookup User Profile.
  3. Credential Required: Connect your HTTP Request credentials (or API auth headers) in Lookup User Profile, Retrieve Profile Posts, and Retrieve Company Posts to access external data.
  4. Verify the decision logic in the IF nodes (Validate Username Present and Validate Company ID) matches your API response fields.

Step 4: Configure AI Message Generation

The AI chain generates the outreach subject and letter using a language model and structured parser.

  1. Open Compose Subject and Letter and confirm it is connected to Triggered by Parent Flow for inbound executions.
  2. Ensure OpenAI Chat Engine is attached to Compose Subject and Letter as the language model input.
  3. Ensure Structured Result Parser is attached to Compose Subject and Letter as the output parser.
  4. Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine. The Structured Result Parser is a sub-node—add credentials to OpenAI Chat Engine, not the parser.

Step 5: Configure Outreach Routing and Browser Automation

IF branches route contacts through invite, message, and connection status paths, with Browserflow nodes performing LinkedIn actions.

  1. Review the branch chain from Set Connection FlagConnection Status CheckMessage Sent Check and Invite Sent Check to match your business rules.
  2. Confirm Dispatch Connection Invite outputs to Modify Invite Flag, and Dispatch LinkedIn Message outputs to Modify Message Flag.
  3. Credential Required: Connect your Browserflow credentials in Dispatch Connection Invite, Dispatch LinkedIn Message, and Detect Connection State.
  4. Validate the loopback from Modify Invite Flag and Modify Message Flag into Process Next Batch to continue batch processing.
⚠️ Common Pitfall: If LinkedIn automation requires a logged-in session, ensure the Browserflow environment is authenticated before running production batches.

Step 6: Configure the Sub-Workflow Execution

The workflow calls a child workflow for additional processing before writing back to the sheet.

  1. Open Run Sub-Workflow (Configure Required) and select the target workflow to execute.
  2. Verify the flow from Aggregate Records B to Run Sub-Workflow (Configure Required) and back to Modify Sheet Data.
⚠️ Common Pitfall: If no child workflow is selected, Run Sub-Workflow (Configure Required) will fail and Modify Sheet Data will not receive updates.

Step 7: Configure Sorting, Limiting, and Aggregation

These nodes control the volume and ordering of content used for personalization.

  1. Review Separate ItemsSort Records BRestrict CountAggregate Records for profile post selection.
  2. Review Separate Items BSort RecordsRestrict Count BAggregate Records B for company post selection.
Adjust Restrict Count and Restrict Count B to control the number of posts used for AI personalization.

Step 8: Test and Activate Your Workflow

Run a manual test to confirm the full flow, then enable the schedule for production.

  1. Click Execute Workflow to run from Manual Run Trigger and inspect data through Retrieve Sheet Data and Process Next Batch.
  2. Confirm successful branches: HTTP requests return profile data, AI outputs from Compose Subject and Letter are structured, and Google Sheets flags update via Modify Invite Flag and Modify Message Flag.
  3. Verify Browserflow actions execute and the status checks (Connection Status Check, Message Sent Check, Invite Sent Check) route correctly.
  4. Enable the workflow and activate Scheduled Automation Trigger for ongoing execution.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or lose access if the sheet is moved. If things break, check the n8n credential connection test and the sheet sharing permissions 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.
  • Browserflow can fail if your LinkedIn session changes or the API key is wrong. Re-check the Browserflow credential in n8n and confirm your Browserflow plan still has invite/message capacity.
  • 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 outreach automation?

About 45 minutes if you already have your keys and accounts.

Do I need coding skills to automate LinkedIn outreach?

No. You will mostly copy credentials, map a few fields, and test with a small batch.

Is n8n free to use for this LinkedIn outreach 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 OpenAI API usage and RapidAPI credits (you can contact up to 50 people on the free tier mentioned in the workflow notes).

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 outreach automation workflow for different message styles?

Yes, and you should. Update the prompt in the OpenAI Chat Engine node so it matches your tone, your offer, and what you consider “personalized.” Common tweaks include changing the length, adding a soft CTA, and telling it to reference a recent post only when it’s actually relevant (otherwise it can feel forced).

Why is my Browserflow connection failing in this workflow?

Usually it’s an invalid API key, a plan limit (no remaining invites/messages), or a LinkedIn session change on the Browserflow side. Recreate the Browserflow credential in n8n, then verify your Browserflow account is active and has capacity. If it fails only on some profiles, LinkedIn restrictions or unusual profile formats can also cause intermittent errors.

How many leads can this LinkedIn outreach automation handle?

Practically, it can handle as many rows as your n8n and API limits allow, but most people start with batches of 20–50 and scale up once results look good.

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

For LinkedIn outreach specifically, n8n tends to be the better fit because you can self-host (important here), handle branching logic without paying per “path,” and stitch together enrichment plus AI generation in one flow. Zapier and Make are great for simple “new row → send email” automations, but LinkedIn sending usually needs more careful checks and state tracking. Also, this workflow uses a community node (Browserflow), which is a big deal if you want LinkedIn actions inside the automation. If you want help choosing, Talk to an automation expert.

Once this is running, your spreadsheet stays clean and your outreach stays consistent. Honestly, it’s nice to stop thinking about “did I already send that?” and just move on.

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