This workflow follows the Agent → OpenAI Chat 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": "U8EOTtZvmZPMYc6m",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Agentic Telegram AI bot with LangChain nodes and new tools",
"tags": [],
"nodes": [
{
"id": "13b3488e-af72-4d89-bef4-e9b895e3bf76",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1640,
580
],
"parameters": {
"model": "gpt-4o",
"options": {
"temperature": 0.7,
"frequencyPenalty": 0.2
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "864937a1-43f6-4055-bdea-61ab07db9903",
"name": "Window Buffer Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1760,
580
],
"parameters": {
"sessionKey": "=chat_with_{{ $('Listen for incoming events').first().json.message.chat.id }}",
"contextWindowLength": 10
},
"typeVersion": 1
},
{
"id": "4ef838d4-feaa-4bd3-b2c7-ccd938be4373",
"name": "Listen for incoming events",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
1580,
360
],
"parameters": {
"updates": [
"*"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "fed51c41-2846-4a1a-a5f5-ce121ee7fe88",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1460,
180
],
"parameters": {
"color": 7,
"width": 926.3188190787038,
"height": 553.452795998601,
"content": "## Generate an image with Dall-E-3 and send it via Telegram"
},
"typeVersion": 1
},
{
"id": "1c7a204b-3ed7-47bd-a434-202b05272d18",
"name": "Send final reply",
"type": "n8n-nodes-base.telegram",
"onError": "continueErrorOutput",
"position": [
2140,
360
],
"parameters": {
"text": "={{ $json.output }}",
"chatId": "={{ $('Listen for incoming events').first().json.message.from.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.1
},
{
"id": "bebbe9d4-47ba-4c13-9e1e-d36bfe6e472e",
"name": "Send back an image",
"type": "n8n-nodes-base.telegramTool",
"position": [
2020,
580
],
"parameters": {
"file": "={{ $fromAI(\"url\", \"a valid url of an image\", \"string\", \" \") }}",
"chatId": "={{ $('Listen for incoming events').first().json.message.from.id }}",
"operation": "sendDocument",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "38f2410d-bd55-4ddf-8aaa-4e28919de78f",
"name": "Generate image in Dalle",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
1880,
580
],
"parameters": {
"url": "https://api.openai.com/v1/images/generations",
"method": "POST",
"sendBody": true,
"authentication": "predefinedCredentialType",
"parametersBody": {
"values": [
{
"name": "model",
"value": "dall-e-3",
"valueProvider": "fieldValue"
},
{
"name": "prompt"
}
]
},
"toolDescription": "Call this tool to request a Dall-E-3 model, when the user asks to draw something. If you g\u0435t a response from this tool, forward it to the Telegram tool.",
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.1
},
{
"id": "34265eab-9f37-475a-a2ae-a6c37c69c595",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1780,
360
],
"parameters": {
"text": "={{ $json.message.text }}",
"options": {
"systemMessage": "=You are a helpful assistant. You are communicating with a user named {{ $json.message.from.first_name }}. Address the user by name every time. If the user asks for an image, always send the link to the image in the final reply."
},
"promptType": "define"
},
"typeVersion": 1.7
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "b36989c5-295a-4df6-84e9-776815509bc9",
"connections": {
"AI Agent": {
"main": [
[
{
"node": "Send final reply",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Send back an image": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Window Buffer Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Generate image in Dalle": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Listen for incoming events": {
"main": [
[
{
"node": "AI 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.
openAiApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Agentic Telegram AI bot with LangChain nodes and new tools. Uses lmChatOpenAi, memoryBufferWindow, telegramTrigger, stickyNote. Event-driven trigger; 8 nodes.
Source: https://github.com/Zie619/n8n-workflows — 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.
Content Ai Agent. Uses agent, telegramTrigger, memoryBufferWindow, telegram. Event-driven trigger; 28 nodes.
Ultimate Personal Assistant. Uses agent, lmChatOpenAi, toolWorkflow, memoryBufferWindow. Event-driven trigger; 15 nodes.
MAIN 2. Uses lmChatOpenAi, toolWorkflow, memoryBufferWindow, toolHttpRequest. Event-driven trigger; 14 nodes.
Eliza Coordinator Agent. Uses lmChatOpenAi, memoryBufferWindow, toolHttpRequest, toolCalculator. Event-driven trigger; 12 nodes.
QuantumDefender AI is a next-generation intelligent cybersecurity assistant designed to harness the symbolic strength of quantum computing’s promise alongside cutting-edge AI capabilities. This sophis