AutomationFlowsAI & RAG › B2b Outreach Automation: Linkedin to Email Sequence

B2b Outreach Automation: Linkedin to Email Sequence

ByLukaszB @lukaszb on n8n.io

This template is built for founders, SDR teams, and agencies who prospect on LinkedIn and want the entire cold-outreach pipeline automated. It turns a simple LinkedIn profile URL into a verified email and a fully personalized 5-step email sequence—then logs everything to Google…

Event trigger★★★★☆ complexityAI-powered25 nodesChain LlmOutput Parser StructuredOpenAI ChatHTTP RequestGoogle SheetsPerplexity
AI & RAG Trigger: Event Nodes: 25 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7929 — we link there as the canonical source.

This workflow follows the Chainllm → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e7f727df-9bac-4177-9e40-b5d2dd910b0d",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        1904,
        -1088
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c39fa5af-0b03-49b0-82d5-405e0bc9e39c",
      "name": "Set Email Template",
      "type": "n8n-nodes-base.set",
      "position": [
        2672,
        -1088
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "c3d0d637-1537-4dcb-babf-dc8564705154",
      "name": "Email",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        4960,
        -1088
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "9ef5e00d-3761-4359-99a2-40060f897545",
      "name": "Structured Output Parser2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        4976,
        -880
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "8fabbb91-8f64-47be-af23-3a80c28e5699",
      "name": "OpenAI Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        4944,
        -688
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "cfd1aa0a-391a-4333-b53a-8a613fbb9aa8",
      "name": "OpenAI Chat Model5",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        4784,
        -832
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "1499ceee-84a8-48cb-aeef-2055547db14a",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3472,
        -1088
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "39ec113e-075a-47ab-93ba-c13b93038512",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        3248,
        -1088
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "17050932-480e-42fb-9142-734454f7b234",
      "name": "Get row(s) in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2112,
        -1088
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "73a44218-9a2f-4b2b-8527-01cc5b03e0b3",
      "name": "Limit1",
      "type": "n8n-nodes-base.limit",
      "position": [
        2864,
        -1088
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d456bedb-585a-447d-aff0-3a69dc098d3d",
      "name": "Loop Over Items1",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        3040,
        -1088
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "e513004c-6ea8-4b37-a9f1-feb90cea5f95",
      "name": "Set input1",
      "type": "n8n-nodes-base.set",
      "position": [
        2320,
        -1088
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "233f6989-e2f5-4e92-a9af-96b8ad14030a",
      "name": "If3",
      "type": "n8n-nodes-base.if",
      "position": [
        3680,
        -1088
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "b720d9e0-f546-455b-9152-33c5f82af50d",
      "name": "Personal LinkedIn Account POST",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        4336,
        -1088
      ],
      "parameters": {},
      "typeVersion": 4.2,
      "alwaysOutputData": true
    },
    {
      "id": "c40b17f5-903c-4e3b-9ca3-92dce5522f53",
      "name": "Set credentials",
      "type": "n8n-nodes-base.set",
      "position": [
        2496,
        -1088
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "0819e7a0-ee23-427e-883a-768da0e62682",
      "name": "Message a model",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        4176,
        -1088
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9ab94635-009f-48c5-adf3-5b12257fb764",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        4512,
        -1088
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9435eeb1-e00c-4294-9b3f-a4fffff3b9eb",
      "name": "Update no find email",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3904,
        -992
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "b5df0b0f-6809-4c00-b666-482026eafe06",
      "name": "Update Final",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        5456,
        -1088
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "321ada39-f138-4d7f-885b-dfae6ea3b063",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1808,
        -1552
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "90f328b4-50e4-4c2b-85fa-693e69f77ccc",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2848,
        -1552
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b5a10c4c-da39-4253-9e5e-30f5f21723fd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4112,
        -1552
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d058e8be-6a5b-4b95-b919-f94741ae0231",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4720,
        -1552
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ba95efaa-1bee-415f-9f59-97246621f861",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5376,
        -1552
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ca9cd2db-1e5b-42dd-9a2b-66a89648a340",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5760,
        -1552
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "If3": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update no find email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email": {
      "main": [
        [
          {
            "node": "Update Final",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit1": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set input1": {
      "main": [
        [
          {
            "node": "Set credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "If3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Final": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Personal LinkedIn Account POST",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set credentials": {
      "main": [
        [
          {
            "node": "Set Email Template",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items1": {
      "main": [
        [],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model4": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output Parser2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model5": {
      "ai_languageModel": [
        [
          {
            "node": "Email",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set Email Template": {
      "main": [
        [
          {
            "node": "Limit1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet1": {
      "main": [
        [
          {
            "node": "Set input1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update no find email": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser2": {
      "ai_outputParser": [
        [
          {
            "node": "Email",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Personal LinkedIn Account POST": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This template is built for founders, SDR teams, and agencies who prospect on LinkedIn and want the entire cold-outreach pipeline automated. It turns a simple LinkedIn profile URL into a verified email and a fully personalized 5-step email sequence—then logs everything to Google…

Source: https://n8n.io/workflows/7929/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This n8n template demonstrates how to audit your brand’s visibility across multiple AI systems and automatically log the results to Google Sheets. It sends the same prompt to OpenAI, Perplexity, and (

Agent, Google Sheets, OpenAI Chat +4
AI & RAG

Transform a single quote into a fully-rendered cinematic short video — with voice-over, visuals, and music — then publish it directly to TikTok, Instagram Reels, and YouTube Shorts. This isn’t just au

Agent, HTTP Request, Jwt +7
AI & RAG

Disclaimer: As this workflow uses a Community node, it is available only to self-hosted installation of n8n

Google Sheets, HTTP Request, OpenAI Chat +4
AI & RAG

> *Trend-style celebrity selfie videos

Form Trigger, OpenAI Chat, Chain Llm +3
AI & RAG

AI Blog Publisher – Automated Blog Content Workflow This workflow is designed for individuals and teams who regularly publish content on their blog and want to automate the entire process from start t

WordPress, HTTP Request, Memory Buffer Window +9