This workflow corresponds to n8n.io template #16005 — we link there as the canonical source.
This workflow follows the Agent → Airtable 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 →
{
"id": "p3ZFlBJNhokQfsre",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "TEMPLATE - Linkedin AI campaign setup",
"tags": [
{
"id": "BjfxyNlzyY0POEDQ",
"name": "Airtable",
"createdAt": "2025-06-23T10:00:23.081Z",
"updatedAt": "2025-06-23T10:00:23.081Z"
},
{
"id": "Dlriu0xeaKHIH5tt",
"name": "Anthropic",
"createdAt": "2026-05-12T12:16:21.851Z",
"updatedAt": "2026-05-12T12:16:21.851Z"
},
{
"id": "WNzcVvChiTns58ad",
"name": "Firecrawl",
"createdAt": "2025-06-30T12:24:36.334Z",
"updatedAt": "2025-06-30T12:24:36.334Z"
},
{
"id": "cs24Xe4Sh1sNIdla",
"name": "Apify",
"createdAt": "2025-06-30T12:32:45.532Z",
"updatedAt": "2025-06-30T12:32:45.532Z"
},
{
"id": "rQ0XNJT6fCWftlwj",
"name": "TEMPLATE",
"createdAt": "2025-06-30T12:46:45.433Z",
"updatedAt": "2025-06-30T12:46:45.433Z"
}
],
"nodes": [
{
"id": "f10da737-ffef-48a1-a614-90aede712228",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-32
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d7eb872e-0a8f-452b-8304-9f3972f8a5af",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-448
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0ff81d9e-62a1-4932-896d-cd5b9bd754b4",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
448
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5633bcc8-110e-43b9-81de-43a427d939e1",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
448
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "73abc3ad-0aca-4d11-a379-e5fec46fd53c",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
432
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fe168792-06ae-4f80-bbe6-04e896bc0cb2",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
976,
368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7ba39197-1bfe-4a92-83d5-1927d60cdf7f",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1664,
368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "6832d84f-ac98-4a9a-b665-bdbdd7d16d59",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
448
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "53e2b70e-0919-4c76-bfb0-a8adc9294539",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2512,
368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "507baf19-c296-498f-862b-c3ed49875a66",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
2784,
448
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "81e3a5b6-0296-4bfc-a257-4dc7afade9bc",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
3392,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "41dbeb87-a372-433c-a675-7c2f7d295157",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
3904,
464
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "be63ea27-5a03-41de-9f3f-948fcb4af4f6",
"name": "Fetch Leads from Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
80,
608
],
"parameters": {},
"executeOnce": true,
"typeVersion": 2.2
},
{
"id": "ab1d8c0e-dc0c-453a-b13b-7c7bdce2d91a",
"name": "Loop Over Leads",
"type": "n8n-nodes-base.splitInBatches",
"position": [
256,
608
],
"parameters": {},
"typeVersion": 3
},
{
"id": "d3b1708d-93e4-4b15-be7d-7c27b8343c97",
"name": "Fetch LinkedIn Profile Info",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 5,
"position": [
480,
608
],
"parameters": {},
"executeOnce": false,
"retryOnFail": true,
"typeVersion": 4.4,
"alwaysOutputData": false,
"waitBetweenTries": 5000
},
{
"id": "1665c254-8fc2-4c63-ae6b-28006d3a2e89",
"name": "Fetch LinkedIn Posts",
"type": "n8n-nodes-base.httpRequest",
"position": [
2160,
624
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": true,
"waitBetweenTries": 5000
},
{
"id": "3d1d55db-b88a-4f7a-8919-86c00cc56333",
"name": "Fetch LinkedIn Company Info",
"type": "n8n-nodes-base.httpRequest",
"position": [
1264,
528
],
"parameters": {},
"executeOnce": true,
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "e760d500-6684-4c2d-98b2-976e35511095",
"name": "If Company LinkedIn URL Exists",
"type": "n8n-nodes-base.if",
"position": [
1024,
608
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "5d88ef0a-d27a-4f73-a893-ed8a8eefd044",
"name": "If Company Website Exists",
"type": "n8n-nodes-base.if",
"position": [
1488,
528
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "46642393-39c6-4f96-a395-0a3b6e15dce4",
"name": "Scrape Company Homepage",
"type": "@mendable/n8n-nodes-firecrawl.firecrawl",
"onError": "continueErrorOutput",
"maxTries": 5,
"position": [
1712,
528
],
"parameters": {},
"executeOnce": false,
"retryOnFail": false,
"typeVersion": 1,
"waitBetweenTries": 5000
},
{
"id": "f9ede814-e9bb-4937-a0ae-da27f02af46b",
"name": "Clean Scraped Markdown",
"type": "n8n-nodes-base.code",
"onError": "continueRegularOutput",
"position": [
1936,
528
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": false
},
{
"id": "8d22a547-bba7-458f-8891-9b15dd56fde6",
"name": "Lead Qualification Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2832,
624
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "4c5034aa-9c91-49c4-a3c8-a2b0ad90ab31",
"name": "Message Drafting Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3952,
672
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "0332aef5-20b9-437e-858e-33a41e8a5292",
"name": "If Lead Qualifies",
"type": "n8n-nodes-base.if",
"position": [
3200,
624
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "c23bffd7-cf56-402e-a92f-f74f45112eac",
"name": "Mark Lead as Not Qualified",
"type": "n8n-nodes-base.airtable",
"position": [
3440,
720
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "70593513-a8ce-46f7-be70-513c0f15d12d",
"name": "Save Message to Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
4448,
752
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "37f3788a-cc17-44a6-bea7-058a3789509a",
"name": "Mark LinkedIn Unavailable",
"type": "n8n-nodes-base.airtable",
"position": [
800,
704
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "8c205c76-16a6-4734-bac3-acb7ae6b1df0",
"name": "If LinkedIn Profile Available",
"type": "n8n-nodes-base.if",
"position": [
640,
608
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "167a3ded-91ed-4863-b39f-e5fedb327f7b",
"name": "Sort LinkedIn Posts",
"type": "n8n-nodes-base.code",
"position": [
2336,
624
],
"parameters": {},
"typeVersion": 2
},
{
"id": "30301fbe-3b99-43f3-ad68-68e102c8b812",
"name": "Build Lead Profile Data",
"type": "n8n-nodes-base.set",
"position": [
2560,
624
],
"parameters": {},
"executeOnce": true,
"typeVersion": 3.4
},
{
"id": "b4fd3165-3f98-4b99-9712-9b1a1bf4b947",
"name": "Set Airtable Base and Table",
"type": "n8n-nodes-base.set",
"position": [
-304,
608
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "3096d324-5367-4380-aed1-0d82d92e7621",
"name": "Fetch Prompt from Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
-144,
608
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "2dd8b7a6-9aa0-4cf8-80ca-db9b56efb471",
"name": "Claude Sonnet - Qualification",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2832,
800
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "22365d28-20a4-4abd-b91d-6819d404755b",
"name": "Claude Sonnet - Redaction",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
3952,
848
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "887dece7-6268-48fb-a9e0-599f43139bc3",
"name": "Parse Qualification Output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2976,
800
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "897e142f-dc5a-4194-8188-a310491afd7d",
"name": "Parse Redaction Output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
4096,
848
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "0bc431a9-9ea1-4aef-9fe5-4d357c7cca41",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-496,
608
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8bc8698c-a8fb-4e22-baaf-5b7f8d8df061",
"name": "Lusha w/ linkedin",
"type": "n8n-nodes-base.httpRequest",
"position": [
3712,
672
],
"parameters": {},
"typeVersion": 4.3,
"alwaysOutputData": false
},
{
"id": "3bcda59f-3653-4156-88fc-b9a1cd272065",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
3648,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4248bd86-eee9-46d4-9157-f884976a0be2",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1040,
448
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "df779ad0-5c96-4160-b8eb-1b4266d0f327",
"connections": {
"Loop Over Leads": {
"main": [
[],
[
{
"node": "Fetch LinkedIn Profile Info",
"type": "main",
"index": 0
}
]
]
},
"If Lead Qualifies": {
"main": [
[
{
"node": "Lusha w/ linkedin",
"type": "main",
"index": 0
}
],
[
{
"node": "Mark Lead as Not Qualified",
"type": "main",
"index": 0
}
]
]
},
"Lusha w/ linkedin": {
"main": [
[
{
"node": "Message Drafting Agent",
"type": "main",
"index": 0
}
]
]
},
"Sort LinkedIn Posts": {
"main": [
[
{
"node": "Build Lead Profile Data",
"type": "main",
"index": 0
}
]
]
},
"Fetch LinkedIn Posts": {
"main": [
[
{
"node": "Sort LinkedIn Posts",
"type": "main",
"index": 0
}
]
]
},
"Clean Scraped Markdown": {
"main": [
[
{
"node": "Fetch LinkedIn Posts",
"type": "main",
"index": 0
}
]
]
},
"Message Drafting Agent": {
"main": [
[
{
"node": "Save Message to Airtable",
"type": "main",
"index": 0
}
]
]
},
"Parse Redaction Output": {
"ai_outputParser": [
[
{
"node": "Message Drafting Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Build Lead Profile Data": {
"main": [
[
{
"node": "Lead Qualification Agent",
"type": "main",
"index": 0
}
]
]
},
"Scrape Company Homepage": {
"main": [
[
{
"node": "Clean Scraped Markdown",
"type": "main",
"index": 0
}
],
[
{
"node": "Fetch LinkedIn Posts",
"type": "main",
"index": 0
}
]
]
},
"Lead Qualification Agent": {
"main": [
[
{
"node": "If Lead Qualifies",
"type": "main",
"index": 0
}
]
]
},
"Save Message to Airtable": {
"main": [
[
{
"node": "Loop Over Leads",
"type": "main",
"index": 0
}
]
]
},
"Claude Sonnet - Redaction": {
"ai_languageModel": [
[
{
"node": "Message Drafting Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Fetch Leads from Airtable": {
"main": [
[
{
"node": "Loop Over Leads",
"type": "main",
"index": 0
}
]
]
},
"If Company Website Exists": {
"main": [
[
{
"node": "Scrape Company Homepage",
"type": "main",
"index": 0
}
],
[
{
"node": "Fetch LinkedIn Posts",
"type": "main",
"index": 0
}
]
]
},
"Mark LinkedIn Unavailable": {
"main": [
[
{
"node": "Loop Over Leads",
"type": "main",
"index": 0
}
]
]
},
"Fetch Prompt from Airtable": {
"main": [
[
{
"node": "Fetch Leads from Airtable",
"type": "main",
"index": 0
}
]
]
},
"Mark Lead as Not Qualified": {
"main": [
[
{
"node": "Loop Over Leads",
"type": "main",
"index": 0
}
]
]
},
"Parse Qualification Output": {
"ai_outputParser": [
[
{
"node": "Lead Qualification Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Fetch LinkedIn Company Info": {
"main": [
[
{
"node": "If Company Website Exists",
"type": "main",
"index": 0
}
]
]
},
"Fetch LinkedIn Profile Info": {
"main": [
[
{
"node": "If LinkedIn Profile Available",
"type": "main",
"index": 0
}
]
]
},
"Set Airtable Base and Table": {
"main": [
[
{
"node": "Fetch Prompt from Airtable",
"type": "main",
"index": 0
}
]
]
},
"Claude Sonnet - Qualification": {
"ai_languageModel": [
[
{
"node": "Lead Qualification Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"If LinkedIn Profile Available": {
"main": [
[
{
"node": "If Company LinkedIn URL Exists",
"type": "main",
"index": 0
}
],
[
{
"node": "Mark LinkedIn Unavailable",
"type": "main",
"index": 0
}
]
]
},
"If Company LinkedIn URL Exists": {
"main": [
[
{
"node": "Fetch LinkedIn Company Info",
"type": "main",
"index": 0
}
],
[
{
"node": "Fetch LinkedIn Posts",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set Airtable Base and Table",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow pulls unprocessed leads from Airtable, enriches them with LinkedIn profile, company, website, and post data via Apify and Firecrawl, qualifies each lead with Anthropic Claude, and drafts a 3-step outreach sequence plus phone enrichment via Lusha back into Airtable.…
Source: https://n8n.io/workflows/16005/ — 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.
This workflow pulls unprocessed leads from Airtable, enriches them with LinkedIn profile, company, and post data via Apify, optionally scrapes the company website with Firecrawl, then uses Anthropic C
> ⚠️ Self-hosted only — This template uses a community node () and cannot run on n8n Cloud.
⚠️ Self-hosted only — This template uses a community node (Firecrawl) and cannot run on n8n Cloud.
Template Carnaval - time instagram. Uses toolWorkflow, lmChatOpenAi, memoryBufferWindow, agent. Event-driven trigger; 56 nodes.
RESUME SCREENER. Uses agent, outputParserStructured, lmChatOpenAi, gmailTrigger. Event-driven trigger; 37 nodes.