This workflow corresponds to n8n.io template #12858 — we link there as the canonical source.
This workflow follows the Agent → Execute Workflow Trigger 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": "4cee9562-9456-475a-b375-c509d57ab661",
"name": "Tavily",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
-1440,
-368
],
"parameters": {
"url": "https://api.tavily.com/search",
"method": "POST",
"jsonBody": "{\n \"query\": \"{searchTerm}\",\n \"topic\": \"general\",\n \"search_depth\": \"advanced\",\n \"chunks_per_source\": 3,\n \"max_results\": 1,\n \"time_range\": null,\n \"days\": 7,\n \"include_answer\": true,\n \"include_raw_content\": false,\n \"include_images\": false,\n \"include_image_descriptions\": false,\n \"include_domains\": [],\n \"exclude_domains\": []\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Use this tool to search the web. ",
"placeholderDefinitions": {
"values": [
{
"name": "searchTerm",
"description": "What the user is searching for. "
}
]
}
},
"typeVersion": 1.1
},
{
"id": "6231e863-5ef7-4ef9-ac2f-09121ec5f85d",
"name": "Image Prompt Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-928,
-112
],
"parameters": {
"options": {}
},
"typeVersion": 1.9
},
{
"id": "1a29d453-2871-4701-a4bb-911de7c7f5b9",
"name": "Generate Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
-128,
-112
],
"parameters": {
"url": "https://api.openai.com/v1/images/generations",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "model",
"value": "gpt-image-1"
},
{
"name": "prompt",
"value": "={{ $json.output.prompt.replace(/\"/g, '') }}"
},
{
"name": "size",
"value": "1024x1024"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "375483b4-f73b-4aac-af7d-bde9c9ca163a",
"name": "Convert to Binary",
"type": "n8n-nodes-base.convertToFile",
"position": [
240,
-112
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "data[0].b64_json"
},
"typeVersion": 1.1
},
{
"id": "29f04dad-c533-4b7b-af00-036bb8718167",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1584,
-192
],
"parameters": {
"width": 492,
"height": 260,
"content": "# Content Generation"
},
"typeVersion": 1
},
{
"id": "3a98dbd6-1673-4ce9-a964-456b5d2fbc00",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
-192
],
"parameters": {
"color": 5,
"width": 1164,
"height": 644,
"content": "# Generate Image with your favourite model\n"
},
"typeVersion": 1
},
{
"id": "8fabd28b-bcec-4277-bb10-b48977ba39af",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1056,
-192
],
"parameters": {
"width": 504,
"height": 260,
"content": "# Image Prompt\n"
},
"typeVersion": 1
},
{
"id": "05936170-2dfb-4e3f-8f04-1b541f303ed2",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1584,
96
],
"parameters": {
"color": 7,
"width": 1036,
"height": 512,
"content": "# Chat Models"
},
"typeVersion": 1
},
{
"id": "8f5aacc1-5779-41a5-8e9f-1217a7a11a5a",
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
-1808,
-352
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "blogTopic"
},
{
"name": "targetAudience"
},
{
"name": "chatID"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "213d33bb-cebd-4ea8-a37c-1109ccf4be6f",
"name": "Blog Post Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1456,
-112
],
"parameters": {
"options": {}
},
"typeVersion": 1.9
},
{
"id": "e02b3f8a-5702-4358-9a36-17832be08486",
"name": "Image Log",
"type": "n8n-nodes-base.googleSheets",
"position": [
960,
656
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $json.id }}",
"Link": "={{ $json.webViewLink }}",
"Post": "={{ $('Blog Post Agent').item.json.output }}",
"Type": "Post",
"Title": "={{ $('Image Prompt Agent').item.json.output.title }}",
"Request": "={{ $('When Executed by Another Workflow').item.json.blogTopic }} for {{ $('When Executed by Another Workflow').item.json.targetAudience }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Request",
"type": "string",
"display": true,
"required": false,
"displayName": "Request",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ID",
"type": "string",
"display": true,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Post",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Post",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JqOTd49heNBdmrf5hSwxI66X724tspAmSjzWoA6-EU0/edit?usp=drivesdk",
"cachedResultName": "Marketing Team Log"
}
},
"typeVersion": 4.5
},
{
"id": "8e8f054c-cf4d-47ba-a169-3a7e3ca7365e",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"disabled": true,
"position": [
-1872,
-448
],
"parameters": {
"color": 7,
"width": 260,
"height": 1060,
"content": "# Launcher\n"
},
"typeVersion": 1
},
{
"id": "c982f52d-ded1-4b78-b8db-e486fd8e1dfe",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
560
],
"parameters": {
"color": 6,
"width": 492,
"height": 256,
"content": "# Upload to Drive & Sheets"
},
"typeVersion": 1
},
{
"id": "b718281d-91a8-4f9c-99ae-48235c7cb09c",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-304
],
"parameters": {
"color": 6,
"width": 492,
"height": 832,
"content": "# Post Content to social media"
},
"typeVersion": 1
},
{
"id": "ee5be471-bbb7-47e6-84f2-1e79ec056229",
"name": "Upload",
"type": "n8n-nodes-base.googleDrive",
"position": [
752,
656
],
"parameters": {
"name": "={{ $('Image Prompt Agent').item.json.output.title }}.png",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultUrl": "https://drive.google.com/drive/folders/1TgQu-5hlOzO1X28TMMzLxfhunhPSUIqy",
"cachedResultName": "AI Image Generation"
}
},
"typeVersion": 3
},
{
"id": "7b1df74f-3871-4f55-9161-c964ff226cc7",
"name": "Mistral Cloud Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-1360,
256
],
"parameters": {
"model": "pixtral-large-latest",
"options": {}
},
"typeVersion": 1
},
{
"id": "08a7c5f5-dc94-4a6a-bd6b-359d036892b5",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-1184,
256
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "2fa344bc-df1e-4714-a79c-3ba830533e87",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-672,
448
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {}
},
"typeVersion": 1.3
},
{
"id": "d7f0f5fc-5036-44be-82ac-494e95cb8299",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-1536,
448
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "6f9e1545-8c1d-457c-8c7a-2df409c84f5e",
"name": "xAI Grok Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatXAiGrok",
"position": [
-848,
256
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "6c5d3154-57bc-42c8-a158-a57b03521faa",
"name": "DeepSeek Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"position": [
-1360,
448
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "e7d917d7-cb0d-49e0-bbe5-e16cc2602637",
"name": "Hugging Face Inference Model",
"type": "@n8n/n8n-nodes-langchain.lmOpenHuggingFaceInference",
"position": [
-672,
256
],
"parameters": {
"model": "https://huggingface.co/black-forest-labs/FLUX.1-dev",
"options": {}
},
"typeVersion": 1
},
{
"id": "3978fe96-4201-400c-beb1-9378fcfb4611",
"name": "Clipdrop API",
"type": "n8n-nodes-base.httpRequest",
"position": [
448,
272
],
"parameters": {
"url": "https://clipdrop-api.co/text-to-image/v1",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "prompt"
}
]
},
"genericAuthType": "httpBearerAuth"
},
"typeVersion": 4.2
},
{
"id": "308e0b32-593b-4db1-8752-dc64f1c79599",
"name": "Ollama Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOllama",
"position": [
-1024,
256
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "be68159f-8a42-4003-b67a-bb2ed3f8bcdd",
"name": "Azure OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
-1184,
448
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "ea9b5a3c-2a31-4c95-876a-25cd4035365a",
"name": "APITemplate.io",
"type": "n8n-nodes-base.apiTemplateIo",
"position": [
224,
272
],
"parameters": {},
"typeVersion": 1
},
{
"id": "654e5a43-3ec8-4c70-b07f-6e8f0a09e57b",
"name": "Ideogram API",
"type": "n8n-nodes-base.httpRequest",
"position": [
448,
80
],
"parameters": {
"url": "https://api.ideogram.ai/v1/ideogram-v3/generate",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "prompt",
"value": "A photo of a cat sleeping on a couch."
},
{
"name": "rendering_speed",
"value": "TURBO"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Api-Key",
"value": "<apiKey>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "bead2f4a-e39c-4004-9c6a-a4539fc7dedf",
"name": "Replicate API",
"type": "n8n-nodes-base.httpRequest",
"position": [
-464,
80
],
"parameters": {
"url": "https://api.replicate.com/v1/models/ideogram-ai/ideogram-v2/predictions",
"method": "POST",
"options": {},
"jsonBody": "{\n \"input\": {\n \"prompt\": \"An illustration of a black running shoe with the text \\\"Run AI with an API\\\" written on the shoe. The shoe is placed on a blue background. The text is white and bold. The overall image has a modern and techy vibe.\",\n \"aspect_ratio\": \"16:9\"\n }\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer $REPLICATE_API_TOKEN"
},
{
"name": "Prefer",
"value": "wait"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "8994ccd6-b9ed-4009-8b3d-c40350f40483",
"name": "Imagen Google API",
"type": "n8n-nodes-base.httpRequest",
"position": [
-224,
80
],
"parameters": {
"url": "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/YOUR_AWS_SECRET_KEY_HERE@002:predict",
"body": "0",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"sendHeaders": true,
"rawContentType": "application/json; charset=utf-8",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer $(gcloud auth print-access-token)"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "476d1a64-23d6-474e-998d-984c478261e0",
"name": "HuggingFace API",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
80
],
"parameters": {
"url": "https://uu149rez6gw9ehej.eu-west-1.aws.endpoints.huggingface.cloud/distilbert-sentiment",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "{\"inputs\": \"Deploying my first endpoint was an amazing experience.\"}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer <Token>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "1270123b-1f27-442a-bce1-d611111de00c",
"name": "Runway Images",
"type": "n8n-nodes-base.httpRequest",
"position": [
-224,
272
],
"parameters": {
"url": "https://api.dev.runwayml.com/v1/text_to_image",
"method": "POST",
"options": {},
"jsonBody": "{\n \"promptText\": \"string\",\n \"ratio\": \"1920:1080\",\n \"seed\": 4294967295,\n \"model\": \"gen4_image\",\n \"referenceImages\": [\n {\n \"uri\": \"http://example.com\",\n \"tag\": \"string\"\n }\n ],\n \"contentModeration\": {\n \"publicFigureThreshold\": \"auto\"\n }\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer {{ YOUR API KEY }}"
},
{
"name": "X-Runway-Version",
"value": "2024-11-06"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "8b3884ef-65c4-44cc-a835-fb99c0e20880",
"name": "Kling Images",
"type": "n8n-nodes-base.httpRequest",
"position": [
-464,
272
],
"parameters": {
"url": "https://api-singapore.klingai.com/v1/images/text2image",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"jsonBody": "{\n\t\"code\": 0,\n \"message\": \"string\",\n \"request_id\": \"string\",\n \"data\":[\n {\n \"task_id\": \"string\",\n \"task_status\": \"string\",\n \"task_status_msg\": \"string\",\n \"created_at\": 1722769557708,\n \"updated_at\": 1722769557708,\n \"task_result\":{\n \"images\":[\n {\n \"index\": 0,\n \"url\": \"string\"\n }\n \t]\n }\n }\n ]\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "d0738b53-baf6-40e9-8976-96253433e1c1",
"name": "Leonardo Images",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
272
],
"parameters": {
"url": "https://cloud.leonardo.ai/api/rest/v1/generations/id",
"options": {
"redirect": {
"redirect": {}
}
},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "d31a3e9c-7cd0-4107-88c8-c70f17c26e6d",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1584,
-448
],
"parameters": {
"color": 3,
"width": 488,
"height": 228,
"content": "# Tools for internet research"
},
"typeVersion": 1
},
{
"id": "85980ca1-2bb1-409a-8b2f-83a058df16d0",
"name": "SerpAPI",
"type": "@n8n/n8n-nodes-langchain.toolSerpApi",
"position": [
-1264,
-368
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "798c0e03-4e77-4b4f-91a4-bd76c30f34bb",
"name": "AWS Bedrock Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAwsBedrock",
"position": [
-1024,
448
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "dc933e85-0a87-419b-b6e0-1fa6ce2af42f",
"name": "Groq Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGroq",
"position": [
-848,
448
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "78a3959c-732f-447f-b0ce-50754db0fc70",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1520,
256
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "6a3c9ff8-9071-4fca-b171-a0581ec1d7f0",
"name": "Nano Banana",
"type": "n8n-nodes-base.httpRequest",
"position": [
224,
80
],
"parameters": {
"url": "https://bananaapi.com/api/n8n/generate/",
"method": "POST",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "f7ae6d6c-33a2-4f1b-a3c8-57315cd0d4e6",
"name": "Create a post",
"type": "n8n-nodes-base.wordpress",
"position": [
848,
-496
],
"parameters": {
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "f176ee0a-3647-4f37-a712-996c379fcb28",
"name": "X",
"type": "n8n-nodes-base.twitter",
"position": [
832,
144
],
"parameters": {
"additionalFields": {}
},
"typeVersion": 2
},
{
"id": "38940abd-945c-484b-9eeb-22867b53960e",
"name": "Facebook",
"type": "n8n-nodes-base.facebookGraphApi",
"position": [
832,
-32
],
"parameters": {
"options": {},
"httpRequestMethod": "POST"
},
"typeVersion": 1
},
{
"id": "a82dde66-3047-4af2-a1c2-b893019a6a90",
"name": "LinkedIn",
"type": "n8n-nodes-base.linkedIn",
"position": [
832,
352
],
"parameters": {
"text": "={{ $json['choices[0].message.content'] }}",
"person": "[CONFIGURE_YOUR_LINKEDIN_PERSON_ID]",
"authentication": "communityManagement",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "82513570-659c-4878-9cd4-2cd69c2eb33c",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
448,
-112
],
"parameters": {
"options": {},
"fieldToSplitOut": "choices[0].message.content"
},
"typeVersion": 1
},
{
"id": "0b583dc7-e70a-485c-a22d-71a1d52d0077",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-592
],
"parameters": {
"color": 6,
"width": 492,
"height": 256,
"content": "# Post to Wordpress"
},
"typeVersion": 1
},
{
"id": "d9bcde2d-f27d-4367-8d7a-954f7ab40227",
"name": "Facebook Reference",
"type": "n8n-nodes-base.facebookTrigger",
"position": [
-1808,
-176
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "87aea85e-de18-48f2-8a68-0f9c46411041",
"name": "RSS Feed Trigger",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
-1808,
0
],
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1
},
{
"id": "f47cf81d-171e-4268-b41d-ddf869c3e7c7",
"name": "Google Sheets Trigger",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-1808,
160
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"typeVersion": 1
},
{
"id": "97f34e8c-6329-4e30-85b9-b8ced994ab81",
"name": "Airtable Trigger",
"type": "n8n-nodes-base.airtableTrigger",
"position": [
-1808,
336
],
"parameters": {
"baseId": {
"__rl": true,
"mode": "url",
"value": ""
},
"tableId": {
"__rl": true,
"mode": "url",
"value": ""
},
"pollTimes": {
"item": [
{}
]
},
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "be37c339-2952-451b-83b4-b54d0c63f264",
"name": "Postgres Trigger",
"type": "n8n-nodes-base.postgresTrigger",
"position": [
-1808,
480
],
"parameters": {
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"options": {},
"tableName": {
"__rl": true,
"mode": "list",
"value": ""
},
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "5ec2b382-20b4-4ac5-8b81-e461b5e5f995",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1792,
656
],
"parameters": {
"width": 1248,
"height": 80,
"content": "# [made with \u2764\ufe0f by N8ner \ud83d\udc48 click! Feel free to message me!](https://community.n8n.io/u/n8ner/badges) [](https://i.ibb.co/cSGCGn3H/Replace-image-1-2k-202601191958.jpg#full-width)\n"
},
"typeVersion": 1
},
{
"id": "78f0bb6c-7a0f-4302-9706-93fe462b5893",
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
832,
-224
],
"parameters": {
"chatId": "={{ $('When Executed by Another Workflow').item.json.chatID }}",
"operation": "sendPhoto",
"binaryData": true,
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "0249e6a6-5716-4754-b92c-03bb774643f4",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2256,
-448
],
"parameters": {
"color": 4,
"width": 368,
"height": 544,
"content": "## 1. Choose Your Trigger \n\n- **Scheduled automatic generation:** Run the parent workflow on a schedule (for example, once per day at 9 AM) to publish new content regularly.\n\n- **Google Sheets trigger:** Generate content when a new row with a reference link or topic is added to your sheet. \n\n- **Airtable trigger:** Start the workflow when records in a selected Airtable base/table change (for example, a new idea, brief, or status update), so your posts react instantly to updates in your Airtable content board.\n\n- **Postgres trigger:** Fire the workflow when new rows are inserted or existing rows are updated in a connected PostgreSQL table, letting you drive content generation from events in your app database or Supabase\u2011style back end.\n\n- **Manual start:** Hit **Execute workflow** whenever you want to spin up a batch of posts on demand.\n"
},
"typeVersion": 1
},
{
"id": "f7145d2b-a09d-4414-9c2f-a5d98b9b2505",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1584,
-640
],
"parameters": {
"color": 4,
"width": 832,
"height": 176,
"content": "## 2. Connect Chat Models\n\n- Attach your API credentials to the chat nodes to enable text generation with the current configuration. \n- Swap in alternative LLMs like OpenAI, Claude, Gemini, Mistral, DeepSeek, or local/alternative providers via Anthropic, Google Gemini, Mistral Cloud, DeepSeek, Ollama, or OpenRouter chat nodes for different styles and costs. \n"
},
"typeVersion": 1
},
{
"id": "4538c650-57b3-42d9-ac58-b4b82008e341",
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-816
],
"parameters": {
"color": 4,
"width": 496,
"height": 192,
"content": "## 5. Link Your Social Media & CMS \n\n- Connect WordPress, Telegram, X (Twitter), Facebook, and LinkedIn nodes with the accounts you actually use so the workflow can auto\u2011publish directly to those channels. \n- You only need to configure the platforms that matter for your current content strategy; the rest can stay inactive."
},
"typeVersion": 1
},
{
"id": "f421b528-14a2-4361-aed2-ca465cf63deb",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
848
],
"parameters": {
"color": 4,
"width": 496,
"height": 208,
"content": "## 6. Optionally Connect Google Sheets & Drive \n\n- Use a Google Sheets trigger if you want to kick off posts from new rows containing reference links, ideas, or campaign briefs. \n- Configure Google Drive and the logging sheet so every generated image, article, and publication gets stored and tracked in one place. \n"
},
"typeVersion": 1
},
{
"id": "6486ae2b-5da9-4897-aa73-793af4aaddf0",
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1056,
-448
],
"parameters": {
"color": 4,
"width": 496,
"height": 224,
"content": "## 3. Customize Prompts \n\n- Edit the system prompts in the \u201cgenerate text\u201d agent to reflect your brand voice, preferred structure (headings, CTAs, length), and target audience specifics. \n- Adjust the prompts in the \u201cgenerate prompt\u201d agent to define your visual style \u2014 color palette, composition, background, mood \u2014 so images look on\u2011brand across posts."
},
"typeVersion": 1
},
{
"id": "348bf5c7-504a-4962-927a-d587de25a3b4",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2256,
-640
],
"parameters": {
"color": 4,
"width": 640,
"height": 176,
"content": "# Set Up Steps \n\n## Setup is intentionally quick and simple \u2728 "
},
"typeVersion": 1
},
{
"id": "4e902443-3d2d-4cd3-85f1-893ac9077206",
"name": "Sticky Note17",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
-448
],
"parameters": {
"color": 4,
"width": 784,
"height": 224,
"content": "## 4. Connect Image Generation Model\n\n - In the **Generate Image** HTTP Request node, add your API key in the header and keep the dynamic `prompt` field.\n - The **Convert to Binary** node turns `data[0].b64_json` into an image file that downstream nodes (social, Drive, etc.) can use.\n\n - You can swap or duplicate this node to call Clipdrop, Ideogram/Replicate, Runway, Leonardo, or other image providers, as long as they return an image file that flows into the same outputs."
},
"typeVersion": 1
}
],
"connections": {
"Upload": {
"main": [
[
{
"node": "Image Log",
"type": "main",
"index": 0
}
]
]
},
"SerpAPI": {
"ai_tool": [
[
{
"node": "Blog Post Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Telegram": {
"main": [
[]
]
},
"Split Out": {
"main": [
[
{
"node": "Create a post",
"type": "main",
"index": 0
},
{
"node": "Telegram",
"type": "main",
"index": 0
},
{
"node": "Facebook",
"type": "main",
"index": 0
},
{
"node": "X",
"type": "main",
"index": 0
},
{
"node": "LinkedIn",
"type": "main",
"index": 0
},
{
"node": "Upload",
"type": "main",
"index": 0
}
]
]
},
"Generate Image": {
"main": [
[
{
"node": "Convert to Binary",
"type": "main",
"index": 0
}
]
]
},
"Blog Post Agent": {
"main": [
[
{
"node": "Image Prompt Agent",
"type": "main",
"index": 0
}
]
]
},
"Groq Chat Model": {
"ai_languageModel": [
[]
]
},
"Airtable Trigger": {
"main": [
[
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
}
]
]
},
"Postgres Trigger": {
"main": [
[
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed Trigger": {
"main": [
[
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
}
]
]
},
"Convert to Binary": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Blog Post Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Facebook Reference": {
"main": [
[
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
}
]
]
},
"Image Prompt Agent": {
"main": [
[
{
"node": "Generate Image",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets Trigger": {
"main": [
[
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "Image Prompt Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"AWS Bedrock Chat Model": {
"ai_languageModel": [
[]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Blog Post Agent",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents.
Source: https://n8n.io/workflows/12858/ — 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.
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.
A Telegram bot that converts natural-language work descriptions into detailed cost estimates using AI parsing, vector search, and the open-source DDC CWICR database with 55,000+ construction work item
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,”
My workflow 53. Uses formTrigger, httpRequest, lmChatOpenAi, form. Event-driven trigger; 74 nodes.
Episode 23: UGC with nanobanana. Uses lmChatOpenAi, lmChatOllama, lmChatDeepSeek, lmChatOpenRouter. Event-driven trigger; 74 nodes.