This workflow corresponds to n8n.io template #7034 — we link there as the canonical source.
This workflow follows the Airtable → Chainllm 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 →
{
"nodes": [
{
"id": "89ac2fe8-a5df-4150-b921-318e641b429c",
"name": "If3",
"type": "n8n-nodes-base.if",
"position": [
1740,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "fe7ae37d-2d50-4308-b340-b3cfed20a2f0",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json && Object.keys($json).length > 0 }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "2cc1a9bb-8b33-4af5-83ac-5af7906f778b",
"name": "Edit Fields1",
"type": "n8n-nodes-base.set",
"position": [
1960,
440
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a8672809-182b-4e13-96e4-7a2550c8f796",
"name": "linkedin_scraper_out",
"type": "string",
"value": "={{ $('Aggregate').item.json.fullName[0] }}\n{{ $('Aggregate').item.json.jobTitle[0] }}\n{{ $('Aggregate').item.json.companyName[0] }}\n{{ $('Aggregate').item.json.companyIndustry[0] }}\n{{ $('Aggregate').item.json.companyWebsite[0] }}\n{{ $('Aggregate').item.json.topSkillsByEndorsements[0] }}\n{{ $('Aggregate').item.json.about[0] }}\n{{ $('Aggregate').item.json.title[0] }}\n{{ $('Aggregate').item.json.description[0] }}\n{{ $('Aggregate').item.json.text[0] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "198608d6-f63c-41d1-b612-161c208a8514",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2340,
660
],
"parameters": {
"jsonSchemaExample": "{\n \"icp\": \"true/false\",\n \"reasoning\": \"Brief explanation of classification decision based on the data analysis\"\n}"
},
"typeVersion": 1.2
},
{
"id": "f48f1abd-b702-451f-8e75-4aabe1e3515f",
"name": "When clicking \u2018Test workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1660,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1124ab40-bbe3-4202-a16f-61228dbdb728",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
1000,
440
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "fullName"
},
{
"fieldToAggregate": "jobTitle"
},
{
"fieldToAggregate": "companyName"
},
{
"fieldToAggregate": "companyIndustry"
},
{
"fieldToAggregate": "companyWebsite"
},
{
"fieldToAggregate": "topSkillsByEndorsements"
},
{
"fieldToAggregate": "about"
},
{
"fieldToAggregate": "experiences[0].title"
},
{
"fieldToAggregate": "experiences[0].subComponents[0].description"
},
{
"fieldToAggregate": "experiences[1].title"
},
{
"fieldToAggregate": "experiences[1].subComponents[0].description[0].text"
}
]
}
},
"typeVersion": 1
},
{
"id": "25405123-3526-43b6-811e-afafb3796a39",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-160,
140
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b7097e6a-a156-41ad-b506-ebcb78a1538c",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json && Object.keys($json).length > 0 }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a22810dc-dee3-4e34-8f64-85e4026785fa",
"name": "No Operation, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "cae1c603-11e7-4c83-bac1-008690c56a09",
"name": "Check Duplication",
"type": "n8n-nodes-base.airtable",
"position": [
-380,
140
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": ""
},
"table": {
"__rl": true,
"mode": "id",
"value": ""
},
"options": {},
"operation": "search",
"authentication": "airtableOAuth2Api",
"filterByFormula": "=({Name} = \"{{ $json.profile_name }}\")"
},
"typeVersion": 2.1,
"alwaysOutputData": true
},
{
"id": "fd30b54c-a01a-4db5-8556-7ca3605b47d4",
"name": "Clean Data",
"type": "n8n-nodes-base.set",
"position": [
-640,
140
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "28682a76-7670-4af5-a3c8-b85d485dcad8",
"name": "profile_urn",
"type": "string",
"value": "={{ $json.reactor.urn }}"
},
{
"id": "7bc40d85-d383-4b27-a89b-dc8607adc40a",
"name": "profile_name",
"type": "string",
"value": "={{ $json.reactor.name }}"
},
{
"id": "ce4d0feb-c803-4c6e-a448-b3f6921593c4",
"name": "profile_job_title",
"type": "string",
"value": "={{ $json.reactor.headline }}"
},
{
"id": "735110e2-a403-4cf3-bac2-c2fa598b7c67",
"name": "profile_linkedin_url",
"type": "string",
"value": "={{ $json.reactor.profile_url }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "de1ccf48-08d0-4058-964c-c9e940546e42",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-920,
120
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "c7676bae-f6c4-4746-a88f-ed877bb09d83",
"name": "Wait Rate Limit",
"type": "n8n-nodes-base.wait",
"position": [
-1140,
120
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "ea9be84c-663a-424b-9f82-49a1c0faad63",
"name": "Create New Record",
"type": "n8n-nodes-base.airtable",
"position": [
240,
140
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": ""
},
"table": {
"__rl": true,
"mode": "id",
"value": ""
},
"columns": {
"value": {
"URN": "={{ $('Clean Data').item.json.profile_urn }}",
"Name": "={{ $('Clean Data').item.json.profile_name }}",
"Title": "={{ $('Clean Data').item.json.profile_job_title }}",
"Profile URL": "={{ $('Clean Data').item.json.profile_linkedin_url }}"
},
"schema": [
{
"id": "URN",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "URN",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email Address",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Email Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Profile URL",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Profile URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "MSP?",
"type": "boolean",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "MSP?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reason",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Reason",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create",
"authentication": "airtableOAuth2Api"
},
"typeVersion": 2.1
},
{
"id": "3766e2ce-7f5f-430a-ac6d-d31c1ef595db",
"name": "Random Delay",
"type": "n8n-nodes-base.code",
"position": [
460,
140
],
"parameters": {
"jsCode": "// Random Time Generator - Returns single random time object\n\n// Function to generate random seconds with decimal places\nfunction generateRandomSeconds(min = 0.1, max = 60, decimalPlaces = 1) {\n const randomValue = Math.random() * (max - min) + min;\n return Number(randomValue.toFixed(decimalPlaces));\n}\n\n// Generate single random time\nconst seconds = generateRandomSeconds(0.1, 60, 1);\n\n// Return array with single object (n8n requirement)\nreturn [{\n seconds: seconds,\n formatted: `${seconds} seconds`,\n milliseconds: seconds * 1000\n}];"
},
"typeVersion": 2
},
{
"id": "03fb46da-5027-4996-87d1-511b20860f34",
"name": "Random Delay Wait",
"type": "n8n-nodes-base.wait",
"position": [
680,
140
],
"parameters": {
"amount": "={{ $('Random Delay').item.json.seconds }}"
},
"typeVersion": 1.1
},
{
"id": "107aee62-4ced-47a6-8063-ac0f0ecc2e49",
"name": "Random Delay Generator",
"type": "n8n-nodes-base.code",
"position": [
1220,
440
],
"parameters": {
"jsCode": "// Random Time Generator - Returns single random time object\n\n// Function to generate random seconds with decimal places\nfunction generateRandomSeconds(min = 0.1, max = 60, decimalPlaces = 1) {\n const randomValue = Math.random() * (max - min) + min;\n return Number(randomValue.toFixed(decimalPlaces));\n}\n\n// Generate single random time\nconst seconds = generateRandomSeconds(0.1, 60, 1);\n\n// Return array with single object (n8n requirement)\nreturn [{\n seconds: seconds,\n formatted: `${seconds} seconds`,\n milliseconds: seconds * 1000\n}];\n"
},
"typeVersion": 2
},
{
"id": "139536cf-6039-48e7-a41f-21d98171bb33",
"name": "Random Delay Wait Node",
"type": "n8n-nodes-base.wait",
"position": [
1440,
440
],
"parameters": {
"amount": "={{ $('Random Delay Generator').item.json.seconds }}"
},
"typeVersion": 1.1
},
{
"id": "490c6df0-e206-4673-ad2a-fbb2c50bb5ae",
"name": "Update Record",
"type": "n8n-nodes-base.airtable",
"position": [
2560,
440
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": ""
},
"table": {
"__rl": true,
"mode": "id",
"value": ""
},
"columns": {
"value": {
"id": "={{ $('Create New Record').item.json.id }}",
"MSP?": "={{ $('AI ICP Classification').item.json.output.msp }}",
"Reason": "={{ $('AI ICP Classification').item.json.output.reasoning }}",
"Email Address": "={{$('Enrich LinkedIn Profile').first().json.email}}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "URN",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "URN",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email Address",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Profile URL",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Profile URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "MSP?",
"type": "boolean",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "MSP?",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reason",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Reason",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"authentication": "airtableOAuth2Api"
},
"typeVersion": 2.1
},
{
"id": "5d693aa7-79b0-4a19-b7b6-888710743617",
"name": "AI ICP Classification",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2180,
440
],
"parameters": {
"text": "=You are an AI classifier that determines if a person works for xxxx based on LinkedIn scraper data.\nTask: Analyze the provided LinkedIn data and classify the person as icp or non-icp.\n\nData input: {{ $('Edit Fields1').item.json.linkedin_scraper_out }}\n\nJob Indicators:\n\nJob titles containing: \n\nInstructions:\n\nIf scraper returns blank/no data \u2192 = false\nAnalyze job title, company name, company description, and industry\nLook for XXX-related keywords and services\nProvide classification with reasoning\n\nExamples:\nInput: No data returned from scraper\njson{\n \"icp\": false,\n \"reasoning\": \"No data returned from scraping\"\n}\nInput: Job Title: \"Senior Network Engineer at TechCorp MSP\"\njson{\n \"icp\": true,\n \"reasoning\": \"Job title indicates and company name explicitly mentions keywords\"\n}\nInput: Job Title: \"Marketing Manager at Nike\"\njson{\n \"icp\": false,\n \"reasoning\": \"Marketing role at retail company with no indication of managed keywords services\"\n} ",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "623feb13-cc50-4d71-964c-e076af7f7987",
"name": "Scrape Post Reactions",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1380,
120
],
"parameters": {
"url": "https://api.apify.com/v2/acts/apimaestro~linkedin-post-reactions/run-sync-get-dataset-items?token= ",
"method": "POST",
"options": {},
"jsonBody": "{\n \"post_url\": \"YOUR_POST_URN\",\n \"page_number\": 1\n}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "63f90fba-ffaa-434e-bdd0-b5368f35f0f2",
"name": "Enrich LinkedIn Profile",
"type": "n8n-nodes-base.httpRequest",
"position": [
780,
440
],
"parameters": {
"url": "https://api.apify.com/v2/acts/dev_fusion~linkedin-profile-scraper/run-sync-get-dataset-items?token=",
"method": "POST",
"options": {},
"jsonBody": "={\n \"profileUrls\": [\n \"{{ $('Clean Data').item.json.profile_linkedin_url }}\"\n ]\n}\n",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "a6c1e1e0-d708-42da-b234-a4cec31700e2",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2420,
-80
],
"parameters": {
"width": 640,
"height": 1040,
"content": "## \ud83c\udfaf LinkedIn ICP Lead Qualification Automation\n\n### Automatically identify and qualify ideal customer prospects from LinkedIn post reactions using AI-powered analysis\n\nPerfect for sales teams, marketing professionals, and business development teams who want to turn LinkedIn engagement into qualified leads without manual research.\n\n### How it works\n* Scrapes LinkedIn post reactions to identify engaged users\n* Removes duplicates by checking existing records in Airtable\n* Enriches profiles with comprehensive LinkedIn data scraping\n* Uses AI to classify prospects as ICP matches with reasoning\n* Stores qualified leads with full contact and company information\n* Implements smart rate limiting to respect API constraints\n\n### How to use\n* Set up Apify API credentials for LinkedIn scraping actors\n* Configure Airtable base with prospect tracking fields\n* Add your LinkedIn post URL to start scraping reactions\n* Customize ICP criteria in the AI classification prompt\n* Run workflow to automatically qualify and store leads\n\n### Requirements\n* Apify account with API access\n* Airtable account with OAuth2 authentication\n* OpenAI or compatible AI model for classification\n* LinkedIn post URL with reactions to analyze\n\n### Good to know\n* **LinkedIn Safety**: Use only cookie-free Apify actors to prevent account detection\n* **Daily Limits**: Process maximum 1 page of reactions per day (50-100 profiles)\n* Apify actors cost ~$0.01-0.05 per profile scraped\n* Includes random delays to prevent rate limiting and account suspension\n* AI classification requires clear ICP criteria definition\n* Excessive scraping will trigger LinkedIn's anti-scraping measures and risk account suspension\n\nHappy Prospecting!"
},
"typeVersion": 1
},
{
"id": "6323c901-a4f8-4a41-b548-fe55e4576fff",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1660,
-240
],
"parameters": {
"color": 7,
"width": 400,
"height": 300,
"content": "## 1. Extract Post Reactions\n[Read more about the HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)\n\nScrapes LinkedIn post reactions using Apify's post reaction scraper to identify users who engaged with your content. This provides the initial list of prospects who have already shown interest in your topic."
},
"typeVersion": 1
},
{
"id": "005853d9-c286-47bc-ba22-4b8dd01865be",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-220
],
"parameters": {
"color": 7,
"width": 400,
"height": 300,
"content": "## 2. Clean & Deduplicate Prospects\n[Read more about the Set node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/)\n\nExtracts key profile information and checks against existing Airtable records to prevent duplicate processing. This saves API costs and ensures clean data management."
},
"typeVersion": 1
},
{
"id": "691b8dee-1378-4f02-82dd-0108b6bbbaad",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
680
],
"parameters": {
"color": 7,
"width": 400,
"height": 300,
"content": "## 3. Enrich LinkedIn Profiles\n[Read more about the HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)\n\nUses Apify's LinkedIn profile scraper to gather comprehensive professional information including job titles, company details, skills, and experience data for accurate ICP assessment."
},
"typeVersion": 1
},
{
"id": "50fe618e-7334-4fe0-aaf7-459d705f1e99",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2100,
60
],
"parameters": {
"color": 7,
"width": 400,
"height": 300,
"content": "## 4. AI-Powered ICP Classification\n[Read more about the LLM Chain node](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/)\n\nAnalyzes enriched profile data using AI to determine if prospects match your Ideal Customer Profile. Provides reasoning for each classification decision to help refine your targeting criteria."
},
"typeVersion": 1
},
{
"id": "7fdca041-4a8b-4e98-b8dc-fef55ea10ee8",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-360
],
"parameters": {
"color": 3,
"width": 460,
"height": 420,
"content": "### \u26a0\ufe0f LinkedIn Safety & Rate Limiting Warning!\nThis workflow uses paid Apify actors and requires careful usage to avoid LinkedIn account suspension.\n\n1. **CRITICAL**: Use ONLY cookie-free Apify actors to avoid LinkedIn detection\n2. **Daily Limits**: Scrape maximum 1 page of reactions per day (typically 50-100 profiles)\n3. Process full profile enrichment in small batches to stay under LinkedIn's radar\n4. Set up Apify API credentials in both HTTP Request nodes\n5. Never run multiple instances simultaneously - LinkedIn tracks usage patterns\n6. Budget approximately $0.01-0.05 per prospect analyzed for Apify costs\n7. Monitor Apify usage dashboard and LinkedIn account health regularly\n8. Modify AI prompt to suit your need"
},
"typeVersion": 1
}
],
"connections": {
"If": {
"main": [
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
],
[
{
"node": "Create New Record",
"type": "main",
"index": 0
}
]
]
},
"If3": {
"main": [
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
],
[
{
"node": "Edit Fields1",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Random Delay Generator",
"type": "main",
"index": 0
}
]
]
},
"Clean Data": {
"main": [
[
{
"node": "Check Duplication",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields1": {
"main": [
[
{
"node": "AI ICP Classification",
"type": "main",
"index": 0
}
]
]
},
"Random Delay": {
"main": [
[
{
"node": "Random Delay Wait",
"type": "main",
"index": 0
}
]
]
},
"Update Record": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Clean Data",
"type": "main",
"index": 0
}
]
]
},
"Wait Rate Limit": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Check Duplication": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Create New Record": {
"main": [
[
{
"node": "Random Delay",
"type": "main",
"index": 0
}
]
]
},
"Random Delay Wait": {
"main": [
[
{
"node": "Enrich LinkedIn Profile",
"type": "main",
"index": 0
}
]
]
},
"AI ICP Classification": {
"main": [
[
{
"node": "Update Record",
"type": "main",
"index": 0
}
]
]
},
"Scrape Post Reactions": {
"main": [
[
{
"node": "Wait Rate Limit",
"type": "main",
"index": 0
}
]
]
},
"Random Delay Generator": {
"main": [
[
{
"node": "Random Delay Wait Node",
"type": "main",
"index": 0
}
]
]
},
"Random Delay Wait Node": {
"main": [
[
{
"node": "If3",
"type": "main",
"index": 0
}
]
]
},
"Enrich LinkedIn Profile": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"No Operation, do nothing": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "AI ICP Classification",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "Scrape Post Reactions",
"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 identify and qualify ideal customer prospects from LinkedIn post reactions using AI-powered profile analysis and intelligent data enrichment.
Source: https://n8n.io/workflows/7034/ — 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.
Stop manually digging through endless Google Ads search term reports! 📊 This workflow puts your brand campaign analysis on autopilot, acting as an AI-powered performance marketer that works for you 24
Sales teams, lead generation agencies, and growth marketers who want to pull targeted B2B contacts from Apollo.io, enrich them with verified emails and mobile numbers, and push clean records directly
This template is for sales teams, lead generation agencies, and growth marketers who want to build targeted lists of WooCommerce store owners -- complete with verified emails, phone numbers, and socia
Why spend $1,000s on lead gen when your perfect leads are already waiting in Apollo? You’ve already filtered the ideal prospects. You know who they are, where they work, and what they do.
Ad Agency in a box. Uses httpRequest, splitOut, outputParserStructured, chainLlm. Webhook trigger; 54 nodes.