Send AI-Personalized LinkedIn Connection Requests from Google Sheets with Gemini

Go to Workflow
37 views
Built by ConnectSafely ConnectSafely
Created on June 07, 2026

Description

Send AI-personalized LinkedIn connection requests from Google Sheets using ConnectSafely.AI API

Who's it for

This workflow is built for sales professionals, recruiters, founders, and growth marketers who want to scale their LinkedIn outreach without sacrificing personalization. Perfect for anyone tired of sending generic connection requests that get ignored, or manually crafting individual messages for hundreds of prospects.

If you're running ABM campaigns, building a sales pipeline, recruiting talent, or expanding your professional network, this automation handles the heavy lifting while keeping your outreach authentic and human.

How it works

The workflow automates personalized LinkedIn connection requests by combining Google Sheets prospect tracking with AI-powered message generation through ConnectSafely.ai's API.

The process flow:
Reads pending prospects from your Google Sheet
Immediately marks them "IN PROGRESS" to prevent duplicate sends
Fetches complete LinkedIn profile data via ConnectSafely.ai API
Generates a personalized, authentic message using Google Gemini AI
Sends the connection request with your custom message
Updates your sheet with "DONE" status and stores the message sent

Random delays between requests mimic human behavior and maintain LinkedIn compliance.

Watch the complete step-by-step implementation guide:

Setup steps

Step 1: Prepare Your Google Sheet

Structure your Google Sheet with the following columns:

| Column Name | Description | Required |
|------------|-------------|----------|
| First Name | Contact's first name | Optional |
| LinkedIn Url | LinkedIn profile URL or username | Yes |
| Tagline | Contact's headline/title | Optional |
| Status | Processing status (PENDING/IN PROGRESS/DONE) | Yes |
| Message | Stores the AI-generated message sent | Yes |

Sample Data Format:
First Name: John
LinkedIn Url: https://www.linkedin.com/in/johndoe
Tagline: VP of Sales at TechCorp
Status: PENDING
Message: (left empty - will be filled by workflow)

Pro Tip: Use LinkedIn Sales Navigator export or a prospecting tool to populate your sheet with qualified leads.

Step 2: Configure ConnectSafely.ai API Credentials

Obtain API Key

Log into ConnectSafely.ai Dashboard
Navigate to Settings → API Keys
Generate a new API key

Add Bearer Auth Credential in n8n

Go to Credentials in n8n
Click Add Credential → Header Auth or Bearer Auth
Paste your ConnectSafely.ai API key
Save the credential

This credential is used by both the "Fetch LinkedIn Profile" and "Send Connection Request" HTTP nodes.

Step 3: Configure Google Sheets Integration

3.1 Connect Google Sheets Account

Go to Credentials → Add Credential → Google Sheets OAuth2
Follow the OAuth flow to connect your Google account
Grant access to Google Sheets

3.2 Configure "Get Pending Prospect" Node

Open the Get Pending Prospect node
Select your Google Sheets credential
Enter your Document ID (from the sheet URL)
Select the Sheet Name
Add a filter:
Lookup Column: Status
Lookup Value: PENDING
Enable Return First Match Only under Options

3.3 Configure "Mark as In Progress" Node

Open the Mark as In Progress node
Select the same document and sheet
Configure column mapping:
Matching Column: row_number
Status: IN PROGRESS

3.4 Configure "Mark as Complete" Node

Open the Mark as Complete node
Select the same document and sheet
Configure column mapping:
Matching Column: row_number
Status: DONE
Message: {{ $('Generate Personalized Message').item.json.message }}

Step 4: Configure Google Gemini AI

Get Gemini API Key

Go to Google AI Studio
Create or select a project
Generate an API key

Add Gemini Credential in n8n

Go to Credentials → Add Credential → Google Gemini (PaLM) API
Paste your API key
Save the credential

Connect to Google Gemini Node

Open the Google Gemini node
Select your Gemini credential

Step 5: Customize the AI Prompt

The Generate Personalized Message node contains the system prompt that controls how messages are written. Customize it for your personal brand:

Open the Generate Personalized Message node
Find the System Message in Options
Replace the placeholder text:

MY CONTEXT:
[CUSTOMIZE THIS: Add your name, role, and what you're looking for in connections]

With your actual information, for example:

MY CONTEXT:
I'm Sarah, founder of a B2B SaaS startup. I'm interested in connecting with other founders, VCs, and sales leaders to exchange ideas and explore potential partnerships.

Update the sign-off instruction from "- [YOUR NAME]" to your actual name

Step 6: Test the Workflow

Add a test prospect to your Google Sheet with Status: PENDING
Click the Manual Trigger (for testing) node
Click Test Workflow
Verify:
Profile data is fetched correctly
AI generates an appropriate message
Connection request is sent
Sheet updates to DONE with the message stored

Customization

Message Personalization

Edit the system prompt in the Generate Personalized Message node to adjust:

Tone**: Formal, casual, or industry-specific language
Length**: Modify character limits (LinkedIn allows up to 300 characters)
Focus**: Emphasize mutual connections, shared interests, or achievements
Sign-off**: Change the signature format to match your brand

Timing Adjustments

Schedule Trigger: Currently set to run every minute. Adjust the interval in the **Run Every Minute node
Random Delay: The **Random Delay (1-5 min) node adds 1-5 minutes of random wait time. Modify the formula {{ Math.floor(Math.random() * 4) + 1 }} to change the range

Rate Limiting Best Practices

Start with 10-20 connection requests per day
Gradually increase over 2-3 weeks
Never exceed 100 requests per day
Consider pausing on weekends

Use Cases

Sales Prospecting**: Connect with decision-makers at target accounts with personalized outreach
Recruiting**: Reach out to passive candidates with messages that reference their specific experience
Founder Networking**: Build relationships with fellow entrepreneurs, investors, and advisors
Event Follow-up**: Send personalized connection requests to conference attendees and speakers
Partnership Development**: Connect with potential partners by referencing their company achievements

Troubleshooting

Common Issues & Solutions

Issue: AI generating messages over 300 characters
Solution**: Add explicit character count requirement in the system prompt; the current prompt specifies 200-250 characters

Issue: "Profile not found" errors from ConnectSafely.ai
Solution**: Ensure LinkedIn URLs are complete (include https://www.linkedin.com/in/)

Issue: Generic-sounding AI messages
Solution**: Enhance the system prompt with more specific context about your background and goals

Issue: Duplicate connection requests sent
Solution**: Verify "Mark as In Progress" node runs before "Fetch LinkedIn Profile"; check that row_number column exists in your sheet

Issue: Google Sheets not updating
Solution**: Confirm row_number column exists and the matching column is correctly configured

Issue: Bearer Auth errors
Solution**: Verify your ConnectSafely.ai API key is valid and has proper permissions

Documentation & Resources

Official Documentation
ConnectSafely.ai Docs**: https://connectsafely.ai/docs
API Reference**: Available in ConnectSafely.ai dashboard
Google Gemini API**: https://ai.google.dev/docs

Support Channels
Email Support**: [email protected]
Documentation**: https://connectsafely.ai/docs
Custom Workflows**: Contact us for custom automation

Connect With Us

Stay updated with the latest automation tips, LinkedIn strategies, and platform updates:

LinkedIn**: linkedin.com/company/connectsafelyai
YouTube**: youtube.com/@ConnectSafelyAI-v2x
Instagram**: instagram.com/connectsafely.ai
Facebook**: facebook.com/connectsafelyai
X (Twitter)**: x.com/AiConnectsafely
Bluesky**: connectsafelyai.bsky.social
Mastodon**: mastodon.social/@connectsafely

Need Custom Workflows?

Looking to build sophisticated LinkedIn automation workflows tailored to your business needs?

Contact our team for custom automation development, strategy consulting, and enterprise solutions.

We specialize in:
Multi-channel engagement workflows
AI-powered personalization at scale
Lead scoring and qualification automation
CRM integration and data synchronization
Custom reporting and analytics pipelines

Nodes Used (5)

AI Agent
@n8n/n8n-nodes-langchain.agent
Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured