Skip to main content

Send AI-personalized LinkedIn outreach from Google Sheets with Azure OpenAI and ConnectSafely

Workflow preview

Workflow preview
100%
Send AI-personalized LinkedIn outreach from Google Sheets with Azure OpenAI and ConnectSafely preview
Open on n8n.io

1. Workflow Overview

Description Automate personalized LinkedIn outreach at scale using AI and real prospect data. This workflow pulls leads from Google Sheets, generates human like LinkedIn messages with Azure...

Best for

  • Lead Nurturing automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.if, n8n-nodes-base.googlesheets, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.lmchatazureopenai, n8n-nodes-base.scheduletrigger, n8n-nodes-base.splitinbatches, n8n-nodes-connectsafely-ai.connectsafelylinkedin

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Rahul Joshi.

Original n8n.io source

1.1 Workflow description

Title
Send AI-personalized LinkedIn outreach from Google Sheets with Azure OpenAI and ConnectSafely
Workflow name
Send AI-personalized LinkedIn outreach from Google Sheets with Azure OpenAI and ConnectSafely

📊 Description

Automate personalized LinkedIn outreach at scale using AI and real prospect data. 🤖📧 This workflow pulls leads from Google Sheets, generates human-like LinkedIn messages with Azure OpenAI, and sends them safely via the ConnectSafely LinkedIn API. It intelligently avoids duplicate messages, validates delivery, and updates message status back into your sheet automatically. Perfect for consistent, non-salesy B2B outreach with zero manual effort.

What This Template Does

⏰ Triggers automatically on a daily schedule to start LinkedIn outreach.

📄 Fetches prospect details from Google Sheets for processing.

🔁 Loops through prospects in controlled batches to avoid API limits.

🧠 Uses AI to generate personalized LinkedIn messages based on role, company, industry, and activity.

✅ Checks if a message already exists to prevent duplicates.

💾 Saves generated messages back to Google Sheets for tracking.

🔍 Fetches LinkedIn profile data and profile URNs via ConnectSafely.

💬 Sends personalized LinkedIn messages safely using the ConnectSafely API.

📊 Updates Google Sheets with message delivery status and LinkedIn profile links.

Key Benefits

✅ Fully automated LinkedIn outreach with no manual copywriting ✅ AI-driven personalization for higher reply rates ✅ Prevents duplicate messages automatically ✅ Centralized tracking inside Google Sheets ✅ Safe LinkedIn messaging using ConnectSafely APIs ✅ Scalable daily outreach without risking account limits

Features

  • Scheduled trigger for daily LinkedIn outreach
  • Google Sheets integration for lead management
  • Azure OpenAI (GPT-4o-mini) for AI message generation
  • Batch processing for rate-limit safety
  • Conditional logic to validate message creation
  • ConnectSafely LinkedIn API for profile lookup and message sending

Requirements

  • Google Sheets account with prospect data
  • Azure OpenAI credentials (GPT-4o-mini access)
  • ConnectSafely LinkedIn API credentials
  • n8n instance with scheduled workflows enabled

Target Audience

  • B2B founders and agency owners doing LinkedIn outreach
  • Sales and lead generation teams
  • Growth marketers running outbound campaigns
  • Automation consultants building LinkedIn workflows

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Main Overview

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Section: Data Retrieval

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Section: AI Message Generation

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Section: Message Validation & Sending

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Warning: Azure OpenAI

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Warning: ConnectSafely

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Check if Message Exists

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 8 - Save Generated Message to Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 9 - Generate Personalized Message with AI

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 3

Block 10 - Azure OpenAI GPT-4o-mini

Type / Role
@n8n/n8n-nodes-langchain.lmChatAzureOpenAi - lmChatAzureOpenAi
Config choices
Version 1

Block 11 - Validate Message Not Empty

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 12 - Fetch Updated Prospect Data

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 13 - Get Prospects from Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 14 - Daily Schedule Trigger (5 PM)

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.3

Block 15 - Batch Process Prospects

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 16 - Send LinkedIn Message via ConnectSafely

Type / Role
n8n-nodes-connectsafely-ai.connectSafelyLinkedIn - connectSafelyLinkedIn
Config choices
Version 1

Block 17 - Get LinkedIn Profile Data

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 18 - Extract Profile URN and Identifiers

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - Update Sheet with Send Status

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

3. Summary Table

Workflow Send AI-personalized LinkedIn outreach from Google Sheets with Azure OpenAI and ConnectSafely
Complexity advanced
Nodes 19
Categories Lead Nurturing, Multimodal AI
Author Rahul Joshi
Published 02 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13172/13172.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Send AI-personalized LinkedIn outreach from Google Sheets with Azure OpenAI and ConnectSafely do?

Description Automate personalized LinkedIn outreach at scale using AI and real prospect data. This workflow pulls leads from Google Sheets, generates human like LinkedIn messages with Azure...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Nurturing, Multimodal AI use case.