This workflow corresponds to n8n.io template #5069 — we link there as the canonical source.
This workflow follows the Agent → 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 →
{
"id": "Bo012Ve1xjb2UvGz",
"name": "LinkedIn Profile Scraping & Structured Data Extraction with PhantomBuster & GPT-4",
"tags": [],
"nodes": [
{
"id": "050b23e5-af76-4600-b9a6-340a8667f875",
"name": "Azure OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
608,
140
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c5ff6d93-f560-494e-9f39-443abec422f0",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
728,
140
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "075cc15d-7388-4a6b-9957-584389e6e89b",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
140,
-80
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "dd6d3271-327d-4de7-a26f-cfd54b97d897",
"name": "Azure OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
1204,
140
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0e2b6b76-a5eb-4dc1-a712-167ce2488953",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"notes": "\\n\\n should break line ",
"position": [
1324,
140
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "8d6235f1-a8b8-47db-bfc5-908b90dbde94",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-740,
-80
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "cc856530-a323-4499-a0ea-c7b8cf6b5f18",
"name": "Fetch URL from Spreadsheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
-520,
-80
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "a3d3306f-9f50-4d62-bf63-01aedcb4f122",
"name": "Temp URL Storage",
"type": "n8n-nodes-base.googleSheets",
"position": [
-300,
-80
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "fbb23c68-eb57-4e62-8082-25de044d9e13",
"name": "POST to Phantombuster API",
"type": "n8n-nodes-base.httpRequest",
"position": [
-80,
-80
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "7a2fd291-012c-4fb4-820a-2c56e5a9dda5",
"name": "GET from Phantombuster API",
"type": "n8n-nodes-base.httpRequest",
"position": [
360,
-80
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "95917eb0-1770-409f-8e21-ed31ad2c5414",
"name": "Extract URL from Output using GPT-4",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
580,
-80
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "78f58ded-7c90-4963-a9b0-b37baa191187",
"name": "GET LinkedIn Data from URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
956,
-80
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "cfdda7bf-5671-4217-8c3e-b810ec7014f8",
"name": "Create Personalised Messages using a Template",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1176,
-80
],
"parameters": {},
"typeVersion": 1.6
},
{
"id": "05f7e20a-12b8-42c5-aff4-d32cb1e8308f",
"name": "Update Personalised Messages to Spreadsheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1552,
-80
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.5
},
{
"id": "8082d646-86ae-48e1-8dd0-bef1dfbe977a",
"name": "Delete Temp URL Storage",
"type": "n8n-nodes-base.googleSheets",
"position": [
1772,
-80
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "c09ea986-7593-4797-ad96-d639b463efb3",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
-260
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "a86b07af-af87-4d02-8ee3-cc4399fecdee",
"connections": {
"Wait": {
"main": [
[
{
"node": "GET from Phantombuster API",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Fetch URL from Spreadsheet",
"type": "main",
"index": 0
}
]
]
},
"Temp URL Storage": {
"main": [
[
{
"node": "POST to Phantombuster API",
"type": "main",
"index": 0
}
]
]
},
"Azure OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Extract URL from Output using GPT-4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Azure OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Create Personalised Messages using a Template",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Extract URL from Output using GPT-4",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"POST to Phantombuster API": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "Create Personalised Messages using a Template",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Fetch URL from Spreadsheet": {
"main": [
[
{
"node": "Temp URL Storage",
"type": "main",
"index": 0
}
]
]
},
"GET LinkedIn Data from URL": {
"main": [
[
{
"node": "Create Personalised Messages using a Template",
"type": "main",
"index": 0
}
]
]
},
"GET from Phantombuster API": {
"main": [
[
{
"node": "Extract URL from Output using GPT-4",
"type": "main",
"index": 0
}
]
]
},
"Extract URL from Output using GPT-4": {
"main": [
[
{
"node": "GET LinkedIn Data from URL",
"type": "main",
"index": 0
}
]
]
},
"Update Personalised Messages to Spreadsheet": {
"main": [
[
{
"node": "Delete Temp URL Storage",
"type": "main",
"index": 0
}
]
]
},
"Create Personalised Messages using a Template": {
"main": [
[
{
"node": "Update Personalised Messages to Spreadsheet",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Description
Source: https://n8n.io/workflows/5069/ — 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.
YogiAI. Uses lmChatAzureOpenAi, googleSheets, outputParserAutofixing, outputParserStructured. Scheduled trigger; 31 nodes.
The YogiAI workflow automates sending daily yoga pose reminders and related information via Line Push Messages . This automation leverages data from a Google Sheets database containing yoga pose detai
Automate post-purchase workflows by instantly fetching successful Stripe payments, matching them to corresponding automation templates in Google Sheets, and sending customers personalized access email
Most blogs publish words. This system publishes experiences.
[](https://youtu.be/sKJAypXDTLA)