{"workflow":{"id":13394,"name":"Build a Telegram AI chatbot with human takeover using Trilox and GPT-4o-mini","views":301,"recentViews":1,"totalViews":301,"createdAt":"2026-02-14T09:46:33.915Z","description":"![telegramhumantakeover.jpeg](fileId:4389)\n&gt; ⚠️ This template uses the Trilox community node (n8n-nodes-trilox) and requires self-hosted n8n.\n\n## Who is this for\n\nn8n developers building Telegram chatbots who need to take over from the bot when it fails — without the customer getting double replies.\n\n## How it works\n\n1. Customer sends a message on Telegram (text or voice)\n2. The message is recorded to Trilox and the handler status is checked\n3. If the bot is in control → the AI Agent responds with a structured escalation flag\n4. After the AI responds, the handler is checked again — catching the race condition where a human took over while the AI was thinking\n5. If the AI decides a human is needed → the conversation is escalated and the customer is notified\n6. A human takes over from the Trilox inbox → the bot goes completely silent\n7. The human replies from Trilox → the reply is forwarded to Telegram\n8. Human hands back → bot resumes automatically\n\n## How to set up\n\n1. Install the Trilox community node (Settings → Community Nodes → Install `n8n-nodes-trilox`)\n2. Create a free account at [trilox.io](https://trilox.io)\n3. Create a Project → App (inbox) → API Key in Trilox\n4. Create a Telegram bot via [@BotFather](https://t.me/botfather) and get the API token\n5. Set up credentials for Trilox, Telegram, and OpenAI in n8n\n6. In all Trilox nodes, select your App from the dropdown\n7. Update the AI Agent system prompt with your business info and escalation rules\n8. Activate the workflow\n\n## Requirements\n\n- Self-hosted n8n (community nodes required)\n- Trilox account ([trilox.io](https://trilox.io)) — free plan available\n- Telegram Bot (via [@BotFather](https://t.me/botfather))\n- OpenAI API key (or any LLM provider)\n\n## How to customize\n\n- **Escalation rules:** Edit the system prompt to define when `is_human_required` should be true (refunds, complaints, billing)\n- **Different LLM:** Replace OpenAI with OpenRouter, Anthropic, or any compatible model\n- **Add channels:** The Channel Router has placeholders for WhatsApp, Messenger, Instagram, Widget, and API\n- **Remove voice:** Delete the voice branch if you don't need it\n- **Add knowledge base:** Give the AI Agent tools (Google Docs, Notion, vector store)","workflow":{"meta":{"templateCredsSetupCompleted":true},"name":"Telegram AI Chatbot with Human Takeover using Trilox","tags":[],"nodes":[{"id":"bd8c533c-7405-47a0-a6d9-47671fea6e7f","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[2016,400],"parameters":{"text":"={{ $('Merge Text Input').item.json.text }}","options":{"systemMessage":"You are a friendly AI assistant for \"TechHub\" — an online electronics store.\n\nAlways respond in **valid JSON** following this exact schema:\n{\n  \"message\": \"your reply to the customer\",\n  \"is_human_required\": false\n}\n\nKeep your tone friendly and concise (1–3 sentences).\n\n---\n\n**Business Info:**\n- Hours: Monday–Friday 9 AM–6 PM, Saturday 10 AM–4 PM (EST)\n- Shipping: Free over $50 (5–7 days), Express $15 (2–3 days)\n- Products: smartphones, laptops, headphones, chargers, cases\n- Warranty: 1-year manufacturer warranty\n- Support email: user@example.com\n\n---\n\n**Escalation Rules (when is_human_required = true):**\n- Customer requests a refund or return\n- Customer has a complaint about an order\n- Customer asks about order status (you don't have access to orders)\n- Any topic you're unsure about — better to escalate than guess wrong\n\n**Never escalate for:**\n- General questions about hours, shipping, products, warranty\n\n---\n\n**Examples:**\n\nUser: \"What are your hours?\"\n{\"message\": \"We're open Monday–Friday 9 AM–6 PM and Saturday 10 AM–4 PM EST!\", \"is_human_required\": false}\n\nUser: \"I want a refund\"\n{\"message\": \"I'll connect you with a team member who can help with your refund right away.\", \"is_human_required\": true}\n\n---\n\n⚠️ TEMPLATE NOTE: Replace this entire prompt with your own business info and escalation rules.\nThe structured JSON output format must stay the same — the workflow depends on it."},"promptType":"define","hasOutputParser":true},"typeVersion":2.2},{"id":"719418b0-451a-4537-b9cd-b3afc2471108","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1968,592],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini","cachedResultName":"gpt-4o-mini"},"options":{}},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.2},{"id":"c63dc94b-c610-4f1c-b673-a38baf8bd2de","name":"Conversation Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[2064,704],"parameters":{"sessionKey":"={{ $('Telegram Trigger').item.json.message.chat.id }}","sessionIdType":"customKey","contextWindowLength":10},"typeVersion":1.3},{"id":"9d8884d3-4af5-4318-b232-803bc0607cf0","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[2208,592],"parameters":{"jsonSchemaExample":"{\n    \"message\": \"Your response to the customer here\",\n    \"is_human_required\": false\n}"},"typeVersion":1.3},{"id":"cd70daab-da7d-4b77-aca6-8f986553177c","name":"Handler Status Router","type":"n8n-nodes-base.switch","position":[1632,1072],"parameters":{"rules":{"values":[{"outputKey":"bot","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0c15b5a4-72f9-4fe7-9cb7-cb1f36d5dbea","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.handlerType }}","rightValue":"bot"}]},"renameOutput":true},{"outputKey":"awaiting_human","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8e90caf8-443a-4731-b4b4-a35a23382437","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.handlerType }}","rightValue":"awaiting_human"}]},"renameOutput":true},{"outputKey":"assigned_human","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2253ad21-ce46-432d-9c15-7d9ec4c95a73","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.handlerType }}","rightValue":"assigned_human"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2},{"id":"aca159b5-cb45-4012-aa19-5660470e9638","name":"Telegram Trigger","type":"n8n-nodes-base.telegramTrigger","position":[-16,1120],"webhookId":"6e9763fb-9292-4c21-a0d0-7624200a6ae1","parameters":{"updates":["message"],"additionalFields":{}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account"}},"typeVersion":1.2},{"id":"61779a6a-67dd-46b1-a7ec-560d79f9dd43","name":"Message Type Router","type":"n8n-nodes-base.switch","position":[224,1104],"parameters":{"rules":{"values":[{"outputKey":"Text","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"adc0d36c-aa57-4286-add2-1fb1fc3f8fd6","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.message.text }}","rightValue":""}]},"renameOutput":true},{"outputKey":"Voice","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"acc4bc95-1dad-4b0a-b564-b431131fab39","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.message.voice.mime_type }}","rightValue":""}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3.2},{"id":"1b49da3d-f949-453f-bf19-51b5fd0232b8","name":"Download Voice File","type":"n8n-nodes-base.telegram","position":[512,1168],"webhookId":"b026b3f3-89b3-4767-811e-5d68ee6b9b98","parameters":{"fileId":"={{ $json.message.voice.file_id }}","resource":"file","additionalFields":{}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account"}},"typeVersion":1.2},{"id":"3c3df40a-9fa6-4fda-8f35-b48ecb77d8f9","name":"Transcribe Voice Message","type":"@n8n/n8n-nodes-langchain.openAi","position":[672,1168],"parameters":{"options":{},"resource":"audio","operation":"transcribe"},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":1.8},{"id":"54e91bc6-6af2-4e2d-811e-3e9f7e57612e","name":"Merge Text Input","type":"n8n-nodes-base.merge","position":[928,1088],"parameters":{},"typeVersion":3.2},{"id":"f8fcc53a-65e2-4ae1-9cb3-3d93545a169f","name":"Extract Text","type":"n8n-nodes-base.set","position":[512,1008],"parameters":{"options":{},"assignments":{"assignments":[{"id":"869d344f-19dc-4d34-9a8b-0d6e752a2efd","name":"text","type":"string","value":"={{ $json.message.text }}"}]}},"typeVersion":3.4},{"id":"f50a4fba-a745-4164-a068-e338e42f1326","name":"Needs Human?","type":"n8n-nodes-base.if","position":[3216,256],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"18a21c48-81d4-446d-bd5b-72542ee68c3e","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $('AI Agent').item.json.output.is_human_required }}","rightValue":"false"}]}},"typeVersion":2.2},{"id":"0c8688c3-be15-46c8-bfb3-ffb8bbdc6725","name":"Send Bot Reply","type":"n8n-nodes-base.telegram","position":[2800,256],"webhookId":"883359fd-b354-43ae-9aab-fb8515ef11e3","parameters":{"text":"={{ $('AI Agent').item.json.output.message }}","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","additionalFields":{"appendAttribution":false}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account"}},"typeVersion":1.2},{"id":"7621466b-526e-4edc-b53f-552f0f2b0b5e","name":"Handler Status Router 2","type":"n8n-nodes-base.switch","position":[2592,384],"parameters":{"rules":{"values":[{"outputKey":"bot","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0c15b5a4-72f9-4fe7-9cb7-cb1f36d5dbea","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.handlerType }}","rightValue":"bot"}]},"renameOutput":true},{"outputKey":"awaiting_human","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8e90caf8-443a-4731-b4b4-a35a23382437","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.handlerType }}","rightValue":"awaiting_human"}]},"renameOutput":true},{"outputKey":"assigned_human","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"2253ad21-ce46-432d-9c15-7d9ec4c95a73","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.handlerType }}","rightValue":"assigned_human"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2},{"id":"7a6f54af-15de-457e-a56e-8deadae21809","name":"Done (No Escalation)","type":"n8n-nodes-base.noOp","position":[3456,352],"parameters":{},"typeVersion":1},{"id":"37c6b17d-06e3-48c7-afb8-591e80aeffdc","name":"Suppress Bot Reply","type":"n8n-nodes-base.noOp","position":[2800,448],"parameters":{},"typeVersion":1},{"id":"38667d28-efad-4464-9c41-75bcafce7d47","name":"Send Awaiting Message","type":"n8n-nodes-base.telegram","position":[1984,1088],"webhookId":"b8e4e4b7-f918-4c49-a822-f03b08302239","parameters":{"text":"Thank you for your patience! A team member will be with you shortly.\n— System Message","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","additionalFields":{"appendAttribution":false}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account"}},"typeVersion":1.2},{"id":"2295314f-28be-40dd-9f57-638f88f714f4","name":"Bot Stays Silent","type":"n8n-nodes-base.noOp","position":[2016,1536],"parameters":{},"typeVersion":1},{"id":"aecb50a8-8e05-4351-ac2e-77c63fa43e5d","name":"Forward to Telegram","type":"n8n-nodes-base.telegram","position":[2480,1536],"webhookId":"ffba4df1-9b8d-426d-aeba-fd58e037e928","parameters":{"text":"={{ $json.message }}","chatId":"={{ $json.chat_id }}","additionalFields":{"appendAttribution":false}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account"}},"typeVersion":1.2},{"id":"712871d0-0f10-4b82-8acd-167052b103f4","name":"Record Visitor Message","type":"n8n-nodes-trilox.trilox","position":[1168,1088],"parameters":{"appId":"","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","channel":"telegram","message":"={{ $json.text }}","senderType":"visitor"},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"3cfa9b44-671a-48cd-9a3f-09adfaa750fc","name":"Record Bot Response","type":"n8n-nodes-trilox.trilox","position":[3008,256],"parameters":{"appId":"","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","channel":"telegram","message":"={{ $('AI Agent').item.json.output.message }}"},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"fb5b7df5-14e2-46ed-b005-9afb46442c4a","name":"Record Awaiting Message","type":"n8n-nodes-trilox.trilox","position":[2192,1088],"parameters":{"appId":"","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","channel":"telegram","message":"={{ $json.result.text }}"},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"5fc27776-9ea9-4dbd-869f-7cee23b8eb48","name":"Check Handler (Pre-Bot)","type":"n8n-nodes-trilox.trilox","position":[1392,1088],"parameters":{"appId":"","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","operation":"checkHandler"},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"05aed161-d1d9-426d-a891-bb9c3c04e833","name":"Check Handler (Post-Bot)","type":"n8n-nodes-trilox.trilox","position":[2304,400],"parameters":{"appId":"","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","operation":"checkHandler"},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"7302b50e-557c-4e4c-90a9-a489360751e0","name":"Trilox Trigger (Agent Reply)","type":"n8n-nodes-trilox.triloxTrigger","position":[2000,1712],"webhookId":"bb7082d7-31ab-4cb1-bced-ef3a4215190a","parameters":{"appId":""},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"4e7cf467-50ac-4066-a8fd-d78be8950db9","name":"Escalate to Human","type":"n8n-nodes-trilox.trilox","position":[3456,208],"parameters":{"appId":"","chatId":"={{ $('Telegram Trigger').item.json.message.chat.id }}","operation":"escalate"},"credentials":{"triloxApi":{"id":"credential-id","name":"Trilox account"}},"typeVersion":1},{"id":"28d84020-78d1-48a4-9870-749eb4a7c9d1","name":"Channel Router","type":"n8n-nodes-base.switch","position":[2176,1648],"parameters":{"rules":{"values":[{"outputKey":"telegram","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0c15b5a4-72f9-4fe7-9cb7-cb1f36d5dbea","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.channel }}","rightValue":"telegram"}]},"renameOutput":true},{"outputKey":"whatsapp","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"1575c9b1-8363-4e6d-a469-d56f44fbfbf2","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.channel }}","rightValue":"whatsapp"}]},"renameOutput":true},{"outputKey":"messenger","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"53fa0520-44d0-4100-aaa1-682cf7f42198","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.channel }}","rightValue":"messenger"}]},"renameOutput":true},{"outputKey":"instagram","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"9290202c-9b0e-4f08-9f86-64cfcf340cd5","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.channel }}","rightValue":"instagram"}]},"renameOutput":true},{"outputKey":"widget","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"b18696bd-face-49bf-bd83-15a42026e69e","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.channel }}","rightValue":"widget"}]},"renameOutput":true},{"outputKey":"API","conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"f3dae358-4eb8-4bca-bad2-f274490184d1","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.channel }}","rightValue":"api"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.2},{"id":"aead1ed1-f034-41c7-b4fb-c1c6097d7402","name":"Other Channels (Placeholder)","type":"n8n-nodes-base.noOp","position":[2496,1728],"parameters":{},"typeVersion":1},{"id":"2af0e5fa-e8f1-4eae-876c-1f19a13a644f","name":"Ignore Unsupported","type":"n8n-nodes-base.noOp","position":[512,1328],"parameters":{},"typeVersion":1},{"id":"186d4e64-2163-477c-8d5f-36e0d8eed4a7","name":"Sticky Note - Setup Guide","type":"n8n-nodes-base.stickyNote","position":[-784,464],"parameters":{"width":680,"height":1200,"content":"## 🤖 Telegram AI Chatbot with Human Takeover\n\nA complete Telegram chatbot with AI responses, real-time monitoring, and human takeover — powered by **Trilox**.\n\nWhen the bot can't help (or says something wrong), a human can take over from the **Trilox inbox**. The bot goes silent. The human replies. When done, the bot takes back control.\n\nNo double replies. No embarrassing bot messages while you're trying to help a customer.\n\n### How it works\n1. Customer sends a message on Telegram (text or voice)\n2. Message is recorded to **Trilox** and the handler is checked\n3. If bot is in control → AI Agent responds using structured output\n4. After AI responds, handler is checked **again** (catches race conditions)\n5. If the AI decides a human is needed → conversation is escalated in **Trilox**\n6. Human takes over from the Trilox inbox → bot goes completely silent\n7. Human replies from Trilox → message is forwarded to customer via Telegram\n8. Human hands back to bot → bot resumes responding\n\n### ⚠️ How to set up\n- [ ] Install the **Trilox community node** before importing (`n8n-nodes-trilox`)\n- [ ] Create a free account at [trilox.io](https://trilox.io)\n- [ ] Create a Project → App (inbox) → API Key in Trilox\n- [ ] Create a Telegram bot via [@BotFather](https://t.me/botfather)\n- [ ] In n8n, set up credentials for Trilox and Telegram\n- [ ] In all Trilox nodes, select your App (inbox) from the dropdown\n- [ ] Connect your LLM (OpenAI, OpenRouter, Anthropic, etc.)\n- [ ] Update the AI Agent system prompt for your business\n- [ ] **Test it:** Message your bot → check the Trilox inbox → take over → reply\n\n### Requirements\n- Trilox account ([trilox.io](https://trilox.io)) — free plan available\n- Telegram Bot (via @BotFather)\n- OpenAI or any LLM provider\n\n### How to customize\n- **Your business:** Change the system prompt with your FAQ, products, and escalation rules\n- **Escalation rules:** Edit the prompt to define when `is_human_required` should be true (refunds, complaints, complex questions)\n- **Other channels:** Replace Telegram trigger with WhatsApp/Messenger — update the channel field in Trilox nodes\n- **Remove voice support:** Delete the voice branch if you don't need it\n- **Multi-channel:** The agent reply router already has placeholders for WhatsApp, Messenger, Instagram, Widget, and API\n\n**Need help?** Join our Discord: [discord.gg/g9e6YTqmUs](https://discord.gg/g9e6YTqmUs)"},"typeVersion":1},{"id":"c6be7413-cb54-4dc8-bb3c-f7e34a3b9770","name":"Sticky Note - Message Intake","type":"n8n-nodes-base.stickyNote","position":[-80,880],"parameters":{"color":7,"width":520,"height":360,"content":"## 1️⃣ Message Intake\nReceive Telegram messages and normalize them into a single text field.\n\n**Text messages** → extracted directly\n**Voice messages** → downloaded and transcribed via OpenAI Whisper (requires OpenAI API key)\n**Other types** → ignored (fallback)\n\n💡 Don't need voice support? Delete the voice branch and connect Text → Merge directly."},"typeVersion":1},{"id":"84e8e26f-d970-4a09-a60a-22f6decd2d3c","name":"Sticky Note - Record & Check","type":"n8n-nodes-base.stickyNote","position":[1088,880],"parameters":{"color":7,"width":488,"height":368,"content":"## 2️⃣ Record & Check Handler\nLog the visitor message to **Trilox**, then check who's handling this conversation.\n\n**Check Handler** returns `handlerType`:\n- `bot` → AI Agent responds\n- `awaiting_human` → Send \"someone will reply soon\"\n- `assigned_human` → Bot stays completely silent"},"typeVersion":1},{"id":"d89259ca-7365-4f8d-9f83-d5cbcc995c8a","name":"Sticky Note - Bot Handler","type":"n8n-nodes-base.stickyNote","position":[1920,32],"parameters":{"color":4,"width":596,"height":876,"content":"## 3️⃣ Bot Handler\nAI Agent generates a response with structured output:\n```json\n{\n \"message\": \"reply text\",\n \"is_human_required\": true/false\n}\n```\n\n**Critical:** After AI responds, we check the handler **again**.\nWhy? The AI may take 5-30 seconds to think. If a human took over during that time, we suppress the bot reply. This prevents the **double-reply problem**.\n\nIf `is_human_required` is true → **Escalate to Human** in Trilox."},"typeVersion":1},{"id":"68ea2ee3-8184-4b78-8964-abb16adf6ff3","name":"Sticky Note - Awaiting Human","type":"n8n-nodes-base.stickyNote","position":[1920,944],"parameters":{"color":3,"width":600,"height":328,"content":"## 4️⃣ Awaiting Human\nConversation has been escalated but no human has picked it up yet.\n\nSend the customer a courtesy message and log it to Trilox."},"typeVersion":1},{"id":"7a404979-7bd6-4006-b514-0ff97247c5d1","name":"Sticky Note - Human Agent Reply","type":"n8n-nodes-base.stickyNote","position":[1904,1312],"parameters":{"color":6,"width":624,"height":748,"content":"## 5️⃣ Human Agent Reply\n**Trilox Trigger** fires when a human replies from the Trilox inbox.\n\nThe **Channel Router** checks which platform the conversation is on and forwards the human's reply to the correct channel.\n\nAll supported channels have placeholder outputs — connect your WhatsApp, Messenger, Instagram, or Widget nodes as needed."},"typeVersion":1},{"id":"1e74811d-db50-4f79-af01-61cc7596dc44","name":"Sticky Note - Quick Test","type":"n8n-nodes-base.stickyNote","position":[-80,1280],"parameters":{"color":5,"width":440,"height":380,"content":"## 🧪 Quick Test\n\n1. Activate this workflow\n2. Message your Telegram bot: **\"Hi, what are your hours?\"**\n3. Open Trilox inbox → you should see the conversation\n4. Message: **\"I need a refund\"** → bot escalates to human\n5. In Trilox inbox, click **Take Over**\n6. Reply from Trilox → customer receives your message on Telegram\n7. Click **Hand Back to Bot** → bot resumes\n\nCongratulations — you have a production-ready chatbot with human takeover! 🎉"},"typeVersion":1},{"id":"04a89a53-f512-411c-b7a3-41e073097a54","name":"Sticky Note - Channel Note","type":"n8n-nodes-base.stickyNote","position":[2352,1888],"parameters":{"color":3,"width":400,"height":140,"content":"💡 **Other channels** are not connected in this template. The placeholder outputs are here so you can quickly add WhatsApp, Messenger, Instagram, or Widget support by connecting the appropriate send nodes."},"typeVersion":1}],"active":true,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"connections":{"AI Agent":{"main":[[{"node":"Check Handler (Post-Bot)","type":"main","index":0}]]},"Extract Text":{"main":[[{"node":"Merge Text Input","type":"main","index":0}]]},"Needs Human?":{"main":[[{"node":"Escalate to Human","type":"main","index":0}],[{"node":"Done (No Escalation)","type":"main","index":0}]]},"Channel Router":{"main":[[{"node":"Forward to Telegram","type":"main","index":0}],[{"node":"Other Channels (Placeholder)","type":"main","index":0}],[{"node":"Other Channels (Placeholder)","type":"main","index":0}],[{"node":"Other Channels (Placeholder)","type":"main","index":0}],[{"node":"Other Channels (Placeholder)","type":"main","index":0}],[{"node":"Other Channels (Placeholder)","type":"main","index":0}]]},"Send Bot Reply":{"main":[[{"node":"Record Bot Response","type":"main","index":0}]]},"Merge Text Input":{"main":[[{"node":"Record Visitor Message","type":"main","index":0}]]},"Telegram Trigger":{"main":[[{"node":"Message Type Router","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"AI Agent","type":"ai_languageModel","index":0}]]},"Conversation Memory":{"ai_memory":[[{"node":"AI Agent","type":"ai_memory","index":0}]]},"Download Voice File":{"main":[[{"node":"Transcribe Voice Message","type":"main","index":0}]]},"Message Type Router":{"main":[[{"node":"Extract Text","type":"main","index":0}],[{"node":"Download Voice File","type":"main","index":0}],[{"node":"Ignore Unsupported","type":"main","index":0}]]},"Record Bot Response":{"main":[[{"node":"Needs Human?","type":"main","index":0}]]},"Handler Status Router":{"main":[[{"node":"AI Agent","type":"main","index":0}],[{"node":"Send Awaiting Message","type":"main","index":0}],[{"node":"Bot Stays Silent","type":"main","index":0}]]},"Send Awaiting Message":{"main":[[{"node":"Record Awaiting Message","type":"main","index":0}]]},"Record Visitor Message":{"main":[[{"node":"Check Handler (Pre-Bot)","type":"main","index":0}]]},"Check Handler (Pre-Bot)":{"main":[[{"node":"Handler Status Router","type":"main","index":0}]]},"Handler Status Router 2":{"main":[[{"node":"Send Bot Reply","type":"main","index":0}],[{"node":"Suppress Bot Reply","type":"main","index":0}],[{"node":"Suppress Bot Reply","type":"main","index":0}]]},"Check Handler (Post-Bot)":{"main":[[{"node":"Handler Status Router 2","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"AI Agent","type":"ai_outputParser","index":0}]]},"Transcribe Voice Message":{"main":[[{"node":"Merge Text Input","type":"main","index":1}]]},"Trilox Trigger (Agent Reply)":{"main":[[{"node":"Channel Router","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":37,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.noOp":{"count":5},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.switch":{"count":4},"n8n-nodes-base.telegram":{"count":4},"n8n-nodes-trilox.trilox":{"count":6},"n8n-nodes-base.stickyNote":{"count":8},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.telegramTrigger":{"count":1},"n8n-nodes-trilox.triloxTrigger":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Trilox","username":"trilox","bio":"","verified":false,"links":[],"avatar":"https://gravatar.com/avatar/f3eef25a442bf162666a761e446beb1e1240d851bc20239303170b98ae446b77?r=pg&d=retro&size=200"},"nodes":[{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":49,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegram","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Telegram"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":50,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegramTrigger","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Telegram Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1163,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.memoryBufferWindow","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Memory"],"Memory":["For beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Memory"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Memory","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":40,"name":"Support Chatbot"},{"id":47,"name":"AI Chatbot"}],"image":[{"id":4389,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/telegram_human_takeover_6ed7cccf00.jpeg"}]}}