This workflow corresponds to n8n.io template #8409 — we link there as the canonical source.
This workflow follows the Agent → 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "ee7ba99a-a412-4389-af47-e12a8070a9a1",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
2032,
1296
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "d913c122-3f4a-4fa3-aab3-79c6319ac12e",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
2240,
1296
],
"parameters": {},
"typeVersion": 1
},
{
"id": "41a6dc80-fe9e-4cde-b47b-b03ae98feb7f",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2832,
1504
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "0bda86e3-84ab-4b9f-9c74-b871a658bdc6",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
2512,
1504
],
"parameters": {},
"typeVersion": 1
},
{
"id": "65af8ed4-cec3-4937-963e-4623473f5b57",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
2448,
1296
],
"parameters": {},
"typeVersion": 3
},
{
"id": "54c6c70e-59f6-4320-9d6a-5bdd94e8e6ed",
"name": "Get row(s) in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
2224,
2016
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "ea21290c-588d-443b-b401-d7329063e9bb",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
2048,
2016
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "748e2b43-e51a-417d-92ff-df0704cef2a9",
"name": "Loop Over Items1",
"type": "n8n-nodes-base.splitInBatches",
"onError": "continueErrorOutput",
"position": [
2720,
2016
],
"parameters": {},
"typeVersion": 3
},
{
"id": "2e9a8548-a8bf-47e3-8fe1-93072276cd9d",
"name": "Update row in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
3440,
2032
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "ed8a4414-e31d-46d7-9ad6-836faee1a3ac",
"name": "Schedule Trigger1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
2064,
2672
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "6951d857-278a-4633-be22-f06937dacb98",
"name": "Loop Over Items2",
"type": "n8n-nodes-base.splitInBatches",
"onError": "continueErrorOutput",
"position": [
2752,
2656
],
"parameters": {},
"typeVersion": 3
},
{
"id": "bb781af1-7246-4bf7-9f77-1f7eb17637ef",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
3648,
2032
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "5127d065-bc43-454c-bc64-02402c23143a",
"name": "Wait1",
"type": "n8n-nodes-base.wait",
"position": [
3440,
2656
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "65efcc77-b567-4fff-a2e8-31b8e0e29f4e",
"name": "Get row(s) in sheet1",
"type": "n8n-nodes-base.googleSheets",
"position": [
2288,
2672
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "71fb0b9d-d8b2-490b-8a55-a515c56fe10e",
"name": "Update row in sheet1",
"type": "n8n-nodes-base.googleSheets",
"position": [
3648,
2656
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "5a81a696-1155-4fbb-966c-82baec8219fe",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
2496,
2672
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "72c8bccf-37b1-4dc5-9fbd-19fe72b7c1ca",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
2432,
2032
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "bfa61ebd-bdf8-4356-8807-579ea74a06cd",
"name": "Schedule Trigger2",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
2064,
3136
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "a3dfff36-07c3-49c6-b7fb-718638854507",
"name": "Wait2",
"type": "n8n-nodes-base.wait",
"position": [
3712,
3120
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "59e93cf6-cf15-4a92-b344-bac485607e07",
"name": "Update row in sheet2",
"type": "n8n-nodes-base.googleSheets",
"onError": "continueErrorOutput",
"position": [
3920,
3120
],
"parameters": {},
"typeVersion": 4.7,
"alwaysOutputData": false
},
{
"id": "098cf0b1-6c13-428a-aedf-53f5a4ace309",
"name": "If2",
"type": "n8n-nodes-base.if",
"position": [
2464,
3136
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "69cc889b-3692-412b-9265-8b6ed4df7a49",
"name": "Code",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
2928,
3120
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "37e8ea98-60d5-413e-922d-e5fed98e96ef",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1776,
2528
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "1ab50ec4-c5f0-4888-8f2c-0b16c518e6ea",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1792,
1856
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9bb1bf69-b5f4-4471-a98e-e4728062391c",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1808,
3072
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "1b2d40a7-ceef-4b15-9ffd-a9ab4ebce29d",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
3456,
3120
],
"parameters": {},
"typeVersion": 2
},
{
"id": "3fdb7f62-3fad-4067-b6c8-d2e07984370f",
"name": "Loop Over Items4",
"type": "n8n-nodes-base.splitInBatches",
"onError": "continueErrorOutput",
"position": [
2704,
3088
],
"parameters": {},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "abf7cc40-ea8a-4c1d-abb5-31f8d4e5a723",
"name": "Get row(s) in sheet3",
"type": "n8n-nodes-base.googleSheets",
"position": [
2288,
3136
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "d83f2237-6fe7-4eb4-b2d7-deba7c26e54e",
"name": "Linkedin Scraped Formater",
"type": "@n8n/n8n-nodes-langchain.agent",
"onError": "continueErrorOutput",
"position": [
2656,
1296
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "3f428a31-7eb0-4e78-b574-bf0b968b652e",
"name": "Store values",
"type": "n8n-nodes-base.googleSheets",
"position": [
3008,
1296
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "a3e862b8-9f95-46ad-be2d-a7b06f15a1f0",
"name": "Company Name to Domain",
"type": "n8n-nodes-base.httpRequest",
"position": [
3232,
2032
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "835de11e-aa6d-4e4e-9f2d-7e008155d1db",
"name": "People Search",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
3024,
2656
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "bfed2a87-6446-4484-aad5-56f4ee3a566e",
"name": "Email Finder",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
3184,
3120
],
"parameters": {},
"typeVersion": 4.2
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Loop Over Items2",
"type": "main",
"index": 0
}
]
]
},
"If1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"If2": {
"main": [
[
{
"node": "Loop Over Items4",
"type": "main",
"index": 0
}
]
]
},
"Code": {
"main": [
[
{
"node": "Email Finder",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"Code1": {
"main": [
[
{
"node": "Wait2",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "Update row in sheet1",
"type": "main",
"index": 0
}
]
]
},
"Wait2": {
"main": [
[
{
"node": "Update row in sheet2",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Email Finder": {
"main": [
[
{
"node": "Code1",
"type": "main",
"index": 0
}
]
]
},
"Store values": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"People Search": {
"main": [
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Linkedin Scraped Formater",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items1": {
"main": [
[],
[
{
"node": "Company Name to Domain",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items2": {
"main": [
[],
[
{
"node": "People Search",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items4": {
"main": [
[],
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get row(s) in sheet",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger1": {
"main": [
[
{
"node": "Get row(s) in sheet1",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger2": {
"main": [
[
{
"node": "Get row(s) in sheet3",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet": {
"main": [
[
{
"node": "If1",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet1": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet3": {
"main": [
[
{
"node": "If2",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet1": {
"main": [
[
{
"node": "Loop Over Items2",
"type": "main",
"index": 0
}
]
]
},
"Update row in sheet2": {
"main": [
[
{
"node": "Loop Over Items4",
"type": "main",
"index": 0
}
]
]
},
"Company Name to Domain": {
"main": [
[
{
"node": "Update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Linkedin Scraped Formater",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Linkedin Scraped Formater",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Linkedin Scraped Formater": {
"main": [
[
{
"node": "Store values",
"type": "main",
"index": 0
}
],
[
{
"node": "Store values",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automatically capture company and store details from LinkedIn posts, enrich them with domain names and key decision-maker (KDM) data from Apollo.io, and store everything neatly in Google Sheets. This workflow turns LinkedIn post data into a complete, structured lead database —…
Source: https://n8n.io/workflows/8409/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
⏺ 🚀 How it works
LineOA. Uses httpRequest, agent, lmChatGoogleGemini, outputParserStructured. Webhook trigger; 69 nodes.
Resume Screening & Behavioral Interviews with Gemini, Elevenlabs, & Notion ATS copy. Uses outputParserStructured, chainLlm, googleDrive, stickyNote. Webhook trigger; 67 nodes.
Candidate Engagement | Resume Screening | AI Voice Interviews | Applicant Insights
leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.