This workflow corresponds to n8n.io template #13409 — we link there as the canonical source.
This workflow follows the Agent → Blotaton8N Nodes Blotato 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": "LSEq9VUgIq4RlBCV",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "AI Agent Content",
"tags": [],
"nodes": [
{
"id": "dcbb2f08-d7fe-46b7-85a0-58712417c36a",
"name": "Telegram Bot Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-688,
-2608
],
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "117327ca-5c8c-49d5-b745-32a8a7672350",
"name": "AI Content Orchestrator",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-272,
-2608
],
"parameters": {
"text": "={{ $json.message.text }}",
"options": {
"systemMessage": "You are a helpful assistant"
},
"promptType": "define"
},
"typeVersion": 3
},
{
"id": "32d228f1-958b-4108-b5ad-ab541832038a",
"name": "Telegram Response Sender",
"type": "n8n-nodes-base.telegram",
"position": [
256,
-2608
],
"parameters": {
"text": "={{ $json.output.replace(/([_*\\[\\]()~`>#+=|{}.!-])/g, '\\\\$1') }}",
"chatId": "={{ $('Telegram Bot Trigger').item.json.message.chat.id }}",
"additionalFields": {
"parse_mode": "MarkdownV2"
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "21aa84a9-190f-4307-8ae0-c4d4d05b92da",
"name": "Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-272,
-2768
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "dfcf199d-1ee2-4395-9f7d-c5d80c1294e6",
"name": "Conversation Memory Store",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-80,
-2768
],
"parameters": {
"sessionKey": "={{ $json.message.chat.id }}",
"sessionIdType": "customKey",
"contextWindowLength": 30
},
"typeVersion": 1.3
},
{
"id": "ca8d5a3f-0cd9-452b-aaa8-65f3ae0b5817",
"name": "Instagram Publisher",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
272,
-2016
],
"parameters": {
"options": {},
"accountId": {
"__rl": true,
"mode": "list",
"value": "25299",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/25299",
"cachedResultName": "giangxai.aff"
},
"postContentText": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Text', ``, 'string') }}",
"postContentMediaUrls": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Media_URLs', ``, 'string') }}"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "f9948000-5445-4c0a-8ab8-955a16de56b0",
"name": "LinkedIn Publisher",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
480,
-2016
],
"parameters": {
"options": {},
"platform": "linkedin",
"accountId": {
"__rl": true,
"mode": "list",
"value": "10190",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/10190",
"cachedResultName": "Giang Vuong Thi"
},
"postContentText": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Text', ``, 'string') }}",
"postContentMediaUrls": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Media_URLs', ``, 'string') }}"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "5744b33a-9439-4d47-9a83-845a1f918646",
"name": "Source Collector",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
-784,
-2016
],
"parameters": {
"resource": "source",
"sourceUrl": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "67203f65-a186-415e-a688-c6e4f37999f3",
"name": "Source Retriever",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
-576,
-2016
],
"parameters": {
"resource": "source",
"sourceId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Source_ID', ``, 'string') }}",
"operation": "get"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "a1defa02-368a-443e-bf3d-bde27b09b902",
"name": "Infographic Generator",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
-336,
-2016
],
"parameters": {
"prompt": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt', ``, 'string') }}",
"resource": "video",
"templateId": {
"__rl": true,
"mode": "list",
"value": "29ebb2bd-02b7-4317-8bb8-c30eb938e47c",
"cachedResultName": "Generate an infographic carved into a wooden trail marker in a serene nature setting using AI image generation."
},
"templateInputs": {
"value": {
"footerText": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Footer_CTA_Text', ``, 'string') }}",
"description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Infographic_Description', ``, 'string') }}"
},
"schema": [
{
"id": "description",
"type": "string",
"display": true,
"required": false,
"displayName": "Infographic Description",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "footerText",
"type": "string",
"display": true,
"required": false,
"displayName": "Footer CTA Text",
"defaultMatch": false,
"canBeUsedToMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "2b9b8c49-e04a-49dd-ba6a-22ef1c4c997f",
"name": "Slideshow Video Generator",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
-144,
-2016
],
"parameters": {
"prompt": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt', ``, 'string') }}",
"resource": "video",
"templateId": {
"__rl": true,
"mode": "list",
"value": "/base/v2/image-slideshow/5903b592-1255-43b4-b9ac-f8ed7cbf6a5f/v1",
"cachedResultName": "Image Slideshow with Text Overlays"
},
"templateInputs": {
"value": {
"slides": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Slides__e_g_____key____value____', ``, 'string') }}",
"textColor": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Text_Color', ``, 'string') }}",
"slideDuration": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Slide_Duration__seconds_', ``, 'string') }}",
"customTextPositionPercent": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Custom_Text_Position______', ``, 'string') }}"
},
"schema": [
{
"id": "customTextPositionPercent",
"type": "string",
"display": true,
"required": true,
"displayName": "Custom Text Position (%) *",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "slides",
"type": "string",
"display": true,
"required": false,
"displayName": "Slides (e.g. [{\"key\": \"value\"}])",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "aiImageModel",
"type": "options",
"display": true,
"options": [
{
"name": "Replicate/black-forest-labs/flux-schnell",
"value": "replicate/black-forest-labs/flux-schnell"
},
{
"name": "Replicate/black-forest-labs/flux-dev",
"value": "replicate/black-forest-labs/flux-dev"
},
{
"name": "Replicate/black-forest-labs/flux-1.1-pro",
"value": "replicate/black-forest-labs/flux-1.1-pro"
},
{
"name": "Replicate/black-forest-labs/flux-1.1-pro-ultra",
"value": "replicate/black-forest-labs/flux-1.1-pro-ultra"
},
{
"name": "Replicate/recraft-ai/recraft-v3",
"value": "replicate/recraft-ai/recraft-v3"
},
{
"name": "Replicate/ideogram-ai/ideogram-v2",
"value": "replicate/ideogram-ai/ideogram-v2"
},
{
"name": "Replicate/luma/photon",
"value": "replicate/luma/photon"
},
{
"name": "Openai/gpt-image-1",
"value": "openai/gpt-image-1"
},
{
"name": "Fal-ai/nano-banana",
"value": "fal-ai/nano-banana"
},
{
"name": "Fal-ai/nano-banana-pro",
"value": "fal-ai/nano-banana-pro"
},
{
"name": "Fal-ai/imagen4/preview/fast",
"value": "fal-ai/imagen4/preview/fast"
}
],
"required": false,
"displayName": "AI Image Model",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "textPosition",
"type": "options",
"display": true,
"options": [
{
"name": "Top",
"value": "top"
},
{
"name": "Center",
"value": "center"
},
{
"name": "Bottom",
"value": "bottom"
}
],
"required": false,
"displayName": "Text Position",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "textStyle",
"type": "options",
"display": true,
"options": [
{
"name": "Minimal",
"value": "minimal"
},
{
"name": "Elegant",
"value": "elegant"
},
{
"name": "Modern",
"value": "modern"
}
],
"required": false,
"displayName": "Text Style",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "textColor",
"type": "string",
"display": true,
"required": false,
"displayName": "Text Color",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "aspectRatio",
"type": "options",
"display": true,
"options": [
{
"name": "16:9",
"value": "16:9"
},
{
"name": "1:1",
"value": "1:1"
},
{
"name": "4:5",
"value": "4:5"
},
{
"name": "9:16",
"value": "9:16"
}
],
"required": false,
"displayName": "Aspect Ratio",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "slideDuration",
"type": "string",
"display": true,
"required": false,
"displayName": "Slide Duration (seconds)",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "transition",
"type": "options",
"display": true,
"options": [
{
"name": "None",
"value": "none"
},
{
"name": "Fade",
"value": "fade"
},
{
"name": "Slide",
"value": "slide"
},
{
"name": "Zoom",
"value": "zoom"
}
],
"required": false,
"displayName": "Transition Effect",
"defaultMatch": false,
"canBeUsedToMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "f9257792-a129-490c-a9ec-66edfa732241",
"name": "Visual Asset Retriever",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
64,
-2016
],
"parameters": {
"videoId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Video_ID', ``, 'string') }}",
"resource": "video",
"operation": "get"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "a28ad321-5f5e-4f25-a4be-0ce8c743bad8",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
-2912
],
"parameters": {
"color": 6,
"width": 592,
"height": 576,
"content": "## AI CORE\nThe brain of the system. Understands user intent, decides whether to research or generate visuals, writes captions/scripts, and routes tasks to Blotato nodes. "
},
"typeVersion": 1
},
{
"id": "c0457cb1-8c99-4919-a39c-6be8fc879c5a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
-2336
],
"parameters": {
"color": 6,
"width": 432,
"height": 608,
"content": "## RESEARCH ENGINE (Blotato)\nCreates a research task in Blotato, extracts structured insights, and returns clean data ready for content generation. "
},
"typeVersion": 1
},
{
"id": "97d1956b-4b1c-460a-9d86-4fb9aa5f737f",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-416,
-2336
],
"parameters": {
"color": 6,
"width": 592,
"height": 608,
"content": "## MEDIA ENGINE (Blotato)\nGenerates visual assets.Creates infographics or slideshow videos based on structured content."
},
"typeVersion": 1
},
{
"id": "0e50df13-9861-4588-955b-f0b34b75ceb8",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-2336
],
"parameters": {
"color": 6,
"width": 464,
"height": 608,
"content": "## DISTRIBUTION (Blotato)\nPublishes generated content directly to Instagram and LinkedIn.\n"
},
"typeVersion": 1
},
{
"id": "93753ccb-6b23-457d-ab59-5bcbf12373d0",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-2912
],
"parameters": {
"color": 6,
"width": 464,
"height": 576,
"content": "## RESPONSE\nSends confirmation back to Telegram.\n"
},
"typeVersion": 1
},
{
"id": "d90b1637-dff3-495c-a618-a6f69c23fa81",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
-2912
],
"parameters": {
"color": 6,
"width": 432,
"height": 576,
"content": "## TRIGGER\nReceives content requests from Telegram and starts the workflow.\n"
},
"typeVersion": 1
},
{
"id": "79ad2152-e321-400b-b70e-5fa4e0b4beb1",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-2912
],
"parameters": {
"width": 832,
"height": 1184,
"content": "# \ud83d\udee0\ufe0f Workflow Setup Guide \n\nAuthor: [GiangxAI](https://www.youtube.com/@giangxai.official)\n\n---\n\n## How it works\n\n- A user sends a topic or content request directly to your Telegram Bot to trigger the workflow \n- The AI Core analyzes user intent, references conversation memory, and decides which automation steps to activate \n- A Source job is created to collect and structure real-world information \n- The workflow waits for processing and validates extracted data \n- Structured content is sent to Blotato to generate visuals (infographic or slideshow video) \n- The workflow waits for media rendering to complete \n- The final visual asset is retrieved and verified \n- The generated content is automatically published to:\n - Instagram \n - LinkedIn \n- A confirmation message is sent back to Telegram once publishing is successful \n\nThe entire pipeline runs using an async orchestration pattern:\n\nTrigger \u2192 Analyze \u2192 Create \u2192 Wait \u2192 Retrieve \u2192 Publish \u2192 Confirm \n\nOnce configured, the system turns Telegram messages into fully automated multi-platform content \u2014 from research to publishing \u2014 without manual editing or uploading.\n\n---\n\n## Setup guide [n8n](https://n8n.partnerlinks.io/giangxai)\n\n- Configure the **Telegram Bot Trigger** node with your bot token \n- Connect Gemini (or AI model) credentials for intent analysis \n- Add conversation memory storage for contextual responses \n- Connect ** [Blotato](https://blotato.com/?ref=giang9s) API credentials** for research, media generation, and publishing \n- Configure Instagram and LinkedIn credentials for auto publishing \n- Review status routing logic (processing / completed / failed) \n- Adjust wait timing based on AI and rendering speed \n\nAfter setup, the entire workflow runs automatically from a single Telegram interface \u2014 no manual research, design work, or cross-platform posting required.\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "4690c062-db3a-40a3-b4fe-70177df261a5",
"connections": {
"Source Collector": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"index": 0
}
]
]
},
"Source Retriever": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"index": 0
}
]
]
},
"Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"LinkedIn Publisher": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"index": 0
}
]
]
},
"Instagram Publisher": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"index": 0
}
]
]
},
"Telegram Bot Trigger": {
"main": [
[
{
"node": "AI Content Orchestrator",
"type": "main",
"index": 0
}
]
]
},
"Infographic Generator": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"index": 0
}
]
]
},
"Visual Asset Retriever": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"index": 0
}
]
]
},
"AI Content Orchestrator": {
"main": [
[
{
"node": "Telegram Response Sender",
"type": "main",
"index": 0
}
]
]
},
"Conversation Memory Store": {
"ai_memory": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_memory",
"index": 0
}
]
]
},
"Slideshow Video Generator": {
"ai_tool": [
[
{
"node": "AI Content Orchestrator",
"type": "ai_tool",
"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.
blotatoApigooglePalmApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automatically turn a simple Telegram message into fully researched, AI-generated visual content and publish it to multiple social platforms using Blotato — with async processing control and built-in status validation.
Source: https://n8n.io/workflows/13409/ — 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.
Arvifund - Supabase (Fixed v6). Uses httpRequest, telegram, supabase, telegramTrigger. Event-driven trigger; 92 nodes.
Arvifund - Supabase (Fixed v5). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 91 nodes.
Arvifund - Supabase. Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.
Arvifund - Supabase (Fixed v2). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.
Arvifund - Supabase (Fixed v4). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.