This workflow corresponds to n8n.io template #7574 — 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "b4b0d6be-9142-427d-82bf-77a08cb81bd9",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
640,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9e0079e0-e875-4822-9aed-4746249b9a62",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1664,
240
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "24c241e9-3d5d-476d-b7b4-0d58a6f15d22",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1472,
512
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "89e24193-2e68-4fc6-afea-2c7523cae63d",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
2000,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e318a8e5-1f8e-44e2-90d2-73faaff66fdc",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
2336,
240
],
"parameters": {},
"typeVersion": 3
},
{
"id": "e046e8a3-0cc5-43f3-b188-abeea0b3638a",
"name": "Post image Cloudinary2",
"type": "n8n-nodes-base.httpRequest",
"position": [
2528,
512
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "2248af03-d7c8-43a7-b840-35ba34226082",
"name": "Set Input Image",
"type": "n8n-nodes-base.set",
"position": [
2496,
304
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "369c3830-6d3e-4aa2-8a3c-dc931728a4ee",
"name": "Set Output Image",
"type": "n8n-nodes-base.set",
"position": [
2736,
512
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "89e9c21e-adb5-4f67-818f-85d465281dfb",
"name": "Post article on dev.to",
"type": "n8n-nodes-base.httpRequest",
"position": [
4672,
224
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "a999c74c-62ba-4658-bbac-e09438e5cf37",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1808,
496
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "0714b7bb-3ca8-47d1-ab9d-cd49b215b768",
"name": "OpenAI Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1728,
624
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "e76e6474-7865-43b0-b3d1-ca93c6f58917",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
3264,
224
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0a57c810-c82c-4f38-b1da-4c9f17a1cedd",
"name": "Article wrtiter",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
3904,
224
],
"parameters": {},
"retryOnFail": false,
"typeVersion": 1.7
},
{
"id": "c9579ede-8305-4f04-9d31-0c68f695513f",
"name": "Generate an image1",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
2704,
304
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3dfeb899-50d0-4cb1-9959-edd76c2edf15",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
4000,
640
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "15845289-24b0-4b93-8828-bc06cac9bfa3",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3840,
432
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "6c2255f3-82bf-4d08-88e2-3357606dfac3",
"name": "Structured Output Parser2",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
4048,
448
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "377e9dc4-5f70-4052-bacb-b8373196df1b",
"name": "Set input data/credintenials",
"type": "n8n-nodes-base.set",
"position": [
1184,
240
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "371ca127-dcc5-43a4-b3ab-282c1a9b80eb",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-656
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b2e1e465-c369-4196-bcaf-613bff5c3072",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1440,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "faa77088-2bb3-494b-be0d-88c2434ac280",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2192,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3b72446d-7ae3-493a-b971-43f49115ef4e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
3024,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9a0565a2-8639-4a87-bc3a-eccb6e08462f",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
3648,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2dfd29ab-db23-4749-8895-0eb1c035415c",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
4432,
-368
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c564735c-cc8c-4be0-9a5a-c48dc8df4dc2",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2384,
800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4285f355-afd2-4d19-b6c2-adfd5f55bf41",
"name": "Generate an image",
"type": "@n8n/n8n-nodes-langchain.openAi",
"disabled": true,
"position": [
2576,
976
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "c756aff3-cde5-4727-bfb0-53b7d8153d43",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
3136,
784
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e8b8b3b0-c01f-4131-9551-fcb35ee07a8e",
"name": "Get data form sheet",
"type": "n8n-nodes-base.googleSheets",
"disabled": true,
"position": [
848,
480
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "d121cb07-33ff-4f2c-91a4-95aebf78afca",
"name": "Limit",
"type": "n8n-nodes-base.limit",
"disabled": true,
"position": [
1024,
480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9c92d91c-5b80-4dc7-8554-47561157307f",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"disabled": true,
"position": [
672,
480
],
"parameters": {},
"typeVersion": 1.2
}
],
"connections": {
"Limit": {
"main": [
[
{
"node": "Set input data/credintenials",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Article wrtiter",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Article wrtiter": {
"main": [
[
{
"node": "Post article on dev.to",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Input Image",
"type": "main",
"index": 0
}
]
]
},
"Set Input Image": {
"main": [
[
{
"node": "Generate an image1",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get data form sheet",
"type": "main",
"index": 0
}
]
]
},
"Set Output Image": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Generate an image1": {
"main": [
[
{
"node": "Post image Cloudinary2",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Article wrtiter",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model4": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get data form sheet": {
"main": [
[
{
"node": "Limit",
"type": "main",
"index": 0
}
]
]
},
"Post image Cloudinary2": {
"main": [
[
{
"node": "Set Output Image",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser2": {
"ai_outputParser": [
[
{
"node": "Article wrtiter",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Set input data/credintenials": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set input data/credintenials",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Turn a simple idea into a complete blog article with images, ready to publish — fully automated.
Source: https://n8n.io/workflows/7574/ — 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.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”
This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste
This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.