{"workflow":{"id":13846,"name":"Monitor workflow errors via n8n API with Gemini analysis and Telegram alerts","views":172,"recentViews":1,"totalViews":172,"createdAt":"2026-03-03T21:31:05.215Z","description":"# **Monitor n8n Workflow Errors** with AI Diagnosis & Instant **Telegram Alerts**\n\n![Ảnh đại diện workflow 1.png](fileId:4792)\n\nThis n8n template automatically catches errors from **any workflow** on your instance, analyzes them with **Google Gemini AI**, and delivers a structured diagnostic report directly to your **Telegram** — including error classification, root cause analysis, and specific fix steps.\n\nIf you manage multiple n8n workflows in production and want to stop manually debugging failures, *this workflow is your always-on error watch*.\n\n## How it works\n\n* **Error Trigger:** Fires automatically whenever any workflow on the instance encounters a failure, capturing the full error context including the failed node name, error message, and stack trace.\n* **Set Context:** Extracts all error data and holds your 3 configuration values. This is the *only node you ever need to edit* — making the workflow easy to adapt and redeploy.\n* **Get Workflow Content:** Fetches the full workflow JSON definition via the **n8n REST API**, giving the AI meaningful context about what the failed workflow was actually trying to do.\n* **AI Agent (Gemini):** Classifies the error type (Authentication, Rate Limit, Credential, Connection, etc.), identifies the root cause, and generates a **Telegram HTML-formatted** report with 2–3 actionable fix steps.\n* **Send Telegram Notification:** Delivers the formatted report to your configured chat with proper HTML rendering — bold labels, code blocks for error messages, and a direct link to the failed execution.\n\n## How to use\n\n1. **Connect credentials:** Add your **Google Gemini** (`googlePalmApi`) credential to the *Google Gemini Chat Model* node, and your **Telegram Bot** credential to the *Send Telegram Notification* node.\n2. **Configure Set Context:** Open the *Set Context* node and update `n8n_instance_url` (your public n8n URL), `n8n_api_key` (from n8n → Settings → API), and `telegram_chat_id`.\n3. **Activate this workflow.**\n4. **Link to other workflows:** In each workflow you want to monitor, go to **Settings → Error Workflow** and select this workflow.\n\n## Requirements\n\n* **n8n Version:** Built and tested on **n8n 2.9.4+**. *(It is highly recommended to update to the latest n8n version.)*\n* **Google Gemini** API key (`googlePalmApi` credential type).\n* **Telegram Bot** token and a chat ID to receive notifications.\n* **n8n API key** with read access to workflows (Settings → API → Create API Key).\n* Your n8n instance must be accessible via a public URL for the API call.\n\n## Customizing this workflow\n\n* **Different AI model:** Swap the *Google Gemini Chat Model* sub-node for **OpenAI**, **Anthropic**, or any other LLM — no other changes needed.\n* **Different notification channel:** Replace the *Telegram* node with **Slack**, **Discord**, or **Zoho Mail** to fit your team's tooling.\n* **Report language:** Change the language instruction at the end of the AI Agent's system prompt from Vietnamese to English or any other language.\n* **Filter specific workflows:** Add an **If** node after *Error Trigger* to only process errors from high-priority workflows based on `workflow.name`.\n\n---\n\n## About the Author\n\n**Created by:** Nguyễn Thiệu Toàn (Jay Nguyen)  \n**Email:** me@nguyenthieutoan.com  \n**Website:** [nguyenthieutoan.com](https://nguyenthieutoan.com)  \n**Company:** GenStaff ([genstaff.net](https://genstaff.net))  \n**Socials (Facebook / X / LinkedIn):** @nguyenthieutoan  \n**More templates:** [n8n.io/creators/nguyenthieutoan](https://n8n.io/creators/nguyenthieutoan)","workflow":{"meta":{"instanceId":"735886904af210643f438394a538e64374f0cb4ab13fd94d97005987482d652a","templateCredsSetupCompleted":true},"nodes":[{"id":"5354e780-a6cb-4ca9-8e87-b8ef4aafc2a9","name":"Error Trigger","type":"n8n-nodes-base.errorTrigger","position":[0,0],"parameters":{},"typeVersion":1},{"id":"6cc196e2-ad87-4442-b378-35cfa7fcd3d5","name":"Set Context","type":"n8n-nodes-base.set","position":[240,0],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cfg-001","name":"n8n_instance_url","type":"string","value":"https://n8n.YOUR-DOMAIN.com"},{"id":"cfg-002","name":"n8n_api_key","type":"string","value":"YOUR_N8N_API_KEY_HERE"},{"id":"cfg-003","name":"telegram_chat_id","type":"string","value":"YOUR_TELEGRAM_CHAT_ID"},{"id":"auto-001","name":"error_workflow_id","type":"string","value":"={{ $('Error Trigger').item.json.workflow.id }}"},{"id":"auto-002","name":"error_workflow_name","type":"string","value":"={{ $('Error Trigger').item.json.workflow.name }}"},{"id":"auto-003","name":"error_node","type":"string","value":"={{ $('Error Trigger').item.json.execution.lastNodeExecuted }}"},{"id":"auto-004","name":"error_message","type":"string","value":"={{ $('Error Trigger').item.json.execution.error.message }}"},{"id":"auto-005","name":"error_stack","type":"string","value":"={{ $('Error Trigger').item.json.execution.error.stack }}"},{"id":"auto-006","name":"execution_id","type":"string","value":"={{ $('Error Trigger').item.json.execution.id }}"},{"id":"auto-007","name":"retry_of","type":"string","value":"={{ $('Error Trigger').item.json.execution.retryOf || '' }}"}]}},"typeVersion":3.4},{"id":"5c2dc61b-77ca-44a8-9779-18643d20444e","name":"Get Workflow Content","type":"n8n-nodes-base.httpRequest","onError":"continueRegularOutput","position":[544,0],"parameters":{"url":"={{ $('Set Context').item.json.n8n_instance_url + '/api/v1/workflows/' + $('Set Context').item.json.error_workflow_id }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"accept","value":"application/json"},{"name":"X-N8N-API-KEY","value":"={{ $('Set Context').item.json.n8n_api_key }}"}]}},"typeVersion":4.3},{"id":"fe97c17b-ded9-4817-bae3-6a4da55ac3c2","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[784,0],"parameters":{"text":"=Workflow Name: {{ $('Set Context').item.json.error_workflow_name }}\nFailed Node: {{ $('Set Context').item.json.error_node }}\nError Message: {{ $('Set Context').item.json.error_message }}\nStack Trace: {{ $('Set Context').item.json.error_stack }}\nRetry Of Execution: {{ $('Set Context').item.json.retry_of }}\nExecution Link: {{ $('Set Context').item.json.n8n_instance_url + '/workflow/' + $('Set Context').item.json.error_workflow_id + '/executions/' + $('Set Context').item.json.execution_id }}\nWorkflow Definition: {{ JSON.stringify($json) }}","options":{"systemMessage":"=You are an AI assistant specialized in analyzing n8n workflow errors. Your job is to generate a clear, actionable error report formatted for Telegram.\n\n## Error Classification\nClassify the error based on its message and stack trace:\n- HTTP 401/403 → \"🔐 Authentication Error\"\n- HTTP 404 → \"❌ Not Found Error\"\n- HTTP 429 → \"⏱️ Rate Limit Error\"\n- HTTP 500/502/503/504 → \"⚠️ Server Error\"\n- \"does not exist\" / \"credential\" → \"🔑 Credential Error\"\n- \"Cannot read\" / \"undefined\" / \"null\" → \"🐛 Undefined Property Error\"\n- \"Invalid JSON\" / \"parse\" → \"📄 JSON Parse Error\"\n- \"ECONNREFUSED\" / \"Connection\" / \"ETIMEDOUT\" → \"🔌 Connection Error\"\n- \"Timeout\" → \"⏰ Timeout Error\"\n- Other → \"🔴 Runtime Error\"\n\n## Output Format\nReturn ONLY a valid JSON object with a single field:\n{\n  \"explanation\": \"Telegram HTML formatted string here\"\n}\n\n## Telegram HTML Rules\n- Allowed tags ONLY: <b>, <i>, <code>, <pre>, <a href=\"URL\">\n- Use literal \\n for line breaks\n- No markdown, no other HTML tags\n- Do not use & < > characters outside of allowed HTML tags\n\n## Report Template (in English)\n🚨 <b>N8N WORKFLOW ERROR</b>\\n\\n📌 <b>Workflow:</b> <code>{workflow_name}</code>\\n⚙️ <b>Failed Node:</b> <code>{failed_node}</code>\\n🏷️ <b>Error Type:</b> {error_type}\\n\\n<b>📋 Error Message:</b>\\n<code>{error_message_short}</code>\\n\\n<b>🔍 Root Cause:</b>\\n{root_cause_1_2_sentences}\\n\\n<b>✅ Fix Steps:</b>\\n• {fix_step_1}\\n• {fix_step_2}\\n• {fix_step_3}\\n\\n{retry_line_only_if_retry_of_not_empty}\\n<a href=\"{execution_link}\">🔗 View execution details</a>\n\n## Rules\n- MUST return ONLY the JSON object, no extra text before or after\n- Keep the explanation under 15 lines total\n- error_message_short: truncate to 200 characters if longer\n- Provide exactly 2-3 specific and actionable fix steps based on error type\n- If retry_of is empty or null, OMIT the retry line entirely\n- retry_line format: ⚠️ <i>This is a retry of execution #{retry_of}</i>\\n\\n\n- Use the workflow definition to give context-aware suggestions when possible"},"promptType":"define","hasOutputParser":true},"retryOnFail":true,"typeVersion":3.1},{"id":"9bc878d7-29c1-4683-9499-d85e17955278","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[704,240],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"62YssdPNVFDhJinP","name":"nguyenthieutoan.vn"}},"typeVersion":1},{"id":"b2e47b17-01fb-496c-8a97-68bb51650d70","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[944,240],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"explanation\": \"🚨 <b>LỖI WORKFLOW N8N</b>\\n\\n📌 <b>Workflow:</b> <code>My Workflow</code>\\n⚙️ <b>Node lỗi:</b> <code>HTTP Request</code>\"\n}"},"typeVersion":1.3},{"id":"4e20e15b-d178-4de7-b6dc-6ed91a8d0286","name":"Send Telegram Notification","type":"n8n-nodes-base.telegram","position":[1168,0],"webhookId":"fad49274-7129-4ae0-9958-54efd7d5088b","parameters":{"text":"={{ $json.output.explanation }}","chatId":"={{ $('Set Context').item.json.telegram_chat_id }}","additionalFields":{"parse_mode":"HTML","appendAttribution":false}},"credentials":{"telegramApi":{"id":"nrmQeOtkH5PfoPQm","name":"zTest Bost"}},"typeVersion":1.2},{"id":"3e789f7e-509d-4774-a976-4c1f6bd55176","name":"Main Overview","type":"n8n-nodes-base.stickyNote","position":[-608,-448],"parameters":{"width":560,"height":912,"content":"## AI-Powered n8n Error Monitor\n\nThis workflow **automatically catches errors** from any other n8n workflow, analyzes them with **Google Gemini AI**, and sends a structured diagnostic report to your **Telegram** — including root cause analysis and actionable fix steps.\n\nAll configuration lives in **one node** (`Set Context`). No other node needs editing.\n\n### How it works\n1. **Error Trigger** fires whenever any workflow on this n8n instance encounters a failure.\n2. **Set Context** captures error data and holds your 3 config values (instance URL, API key, Telegram chat ID).\n3. **Get Workflow Content** fetches the full workflow definition via n8n API to give AI context.\n4. **AI Agent** (Gemini) classifies the error type, identifies root cause, and writes a Telegram-formatted report in Vietnamese.\n5. **Send Telegram Notification** delivers the formatted HTML report to your chat.\n\n### Setup\n* [ ] Connect **Google Gemini** (`googlePalmApi`) credential to the Gemini Chat Model node.\n* [ ] Connect **Telegram Bot** credential to the Send Telegram Notification node.\n* [ ] Open **Set Context** — update `n8n_instance_url`, `n8n_api_key`, and `telegram_chat_id`.\n* [ ] Activate the workflow.\n* [ ] In other workflows, set this workflow as their **Error Workflow** under Settings.\n\n### Customization tips\n* **Different AI model:** Swap the Gemini node for OpenAI or any other LLM sub-node.\n* **Different notification channel:** Replace Telegram with Slack, Discord, or email.\n* **Report language:** Change the language instruction in the AI Agent system prompt.\n\n### LICENCE\nThis template is shared free of charge. Copyright belongs to Nguyen Thieu Toan (Jay Nguyen). Any copying or modification must credit the author."},"typeVersion":1},{"id":"b8fd3456-51d8-41f2-80f4-1ae54c6f0e55","name":"Warning Set Context","type":"n8n-nodes-base.stickyNote","position":[128,-256],"parameters":{"color":3,"width":340,"height":416,"content":"## ⚠️ Edit this node!\n\nUpdate these **3 fields** only:\n- `n8n_instance_url` — your n8n public URL\n- `n8n_api_key` — from n8n → Settings → API\n- `telegram_chat_id` — your Telegram chat/user ID\n\nAll other fields are auto-populated from the error."},"typeVersion":1},{"id":"fc67cd95-f98c-4f15-9bd7-c0ec66858d30","name":"Author Message","type":"n8n-nodes-base.stickyNote","position":[1328,-192],"parameters":{"color":4,"width":560,"height":360,"content":"## Author Message\n\nHi! I am **Nguyen Thieu Toan (Jay Nguyen)** — a Verified n8n Creator. Thank you for using this template!\n\nThis workflow is shared with you for free. If it brings value to your work, optimizes your operations, or saves you time, you can buy me a coffee here: **[My Donate Website](https://nguyenthieutoan.com/payment/)** *(PayPal, Momo, Bank Transfer)*\n\n* Website: [nguyenthieutoan.com](https://nguyenthieutoan.com)\n* Email: me@nguyenthieutoan.com\n* Company: GenStaff ([genstaff.net](https://genstaff.net))\n* Socials (Facebook / X / LinkedIn): @nguyenthieutoan\n\n*Discover more of my automation solutions:* **[Click here](https://n8n.io/creators/nguyenthieutoan/)**"},"typeVersion":1}],"pinData":{},"connections":{"AI Agent":{"main":[[{"node":"Send Telegram Notification","type":"main","index":0}]]},"Set Context":{"main":[[{"node":"Get Workflow Content","type":"main","index":0}]]},"Error Trigger":{"main":[[{"node":"Set Context","type":"main","index":0}]]},"Get Workflow Content":{"main":[[{"node":"AI Agent","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"AI Agent","type":"ai_languageModel","index":0},{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"AI Agent","type":"ai_outputParser","index":0}]]}}},"lastUpdatedBy":29,"workflowInfo":{"nodeCount":10,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.telegram":{"count":1},"n8n-nodes-base.stickyNote":{"count":3},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.errorTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Nguyễn Thiệu Toàn (Jay Nguyen)","username":"nguyenthieutoan","bio":"I’m the Founder & CEO of GenStaff. My work focuses on building AI Staff and automation systems that help businesses operate with fewer manual processes and greater efficiency.\n\nI’m particularly interested in how AI and no-code tools can transform complex workflows into scalable systems.\n\nI also share what I learn about AI, automation, and system thinking along the way.","verified":true,"links":["https://nguyenthieutoan.com"],"avatar":"https://gravatar.com/avatar/7141eae597e5b2df502a89ec82a34a51fa2138a7b108ebfec95f50f383b37be7?r=pg&d=retro&size=200"},"nodes":[{"id":12,"icon":"fa:bug","name":"n8n-nodes-base.errorTrigger","codex":{"data":{"details":"In n8n, when a workflow execution fails, it can start another workflow. This second workflow can be any arbitrary workflow on your n8n instance. Use the Error Trigger node as your Trigger in the Error workflow.","resources":{"generic":[{"url":"https://n8n.io/blog/creating-error-workflows-in-n8n/","icon":"🌪","label":"Creating Error Workflows in n8n"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"Error Trigger","color":"#0000FF"},"iconData":{"icon":"bug","type":"icon"},"displayName":"Error Trigger","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"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/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/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content 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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"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/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"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/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/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"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.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"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":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":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":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":16,"name":"DevOps"},{"id":49,"name":"AI Summarization"}],"image":[{"id":4792,"url":"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Anh_dai_dien_workflow_1_e05e4b8e09.png"}]}}