{"workflow":{"id":13845,"name":"Forward Zoho Mail emails to Gmail with Gemini AI analysis and Telegram digest","views":83,"recentViews":1,"totalViews":83,"createdAt":"2026-03-03T21:11:03.755Z","description":"## Smart email forwarder Zoho mail to Gmail with attachment, analysis by AI agent\n\nThis n8n template automatically monitors a **Zoho Mail** inbox, analyzes every incoming email with **Google Gemini AI**, then forwards it — including all attachments — to a designated recipient via **Gmail**. The admin receives an instant smart digest on **Telegram** with priority level, deadline, and required action extracted by AI.\n\nIf you manage a shared inbox and waste time triaging emails before forwarding them, *this workflow does it for you — automatically*.\n\n## How it works\n\n* **Zoho Mail Trigger:** Detects new incoming emails matching a configured list of sender addresses.\n* **AI Analysis:** *Google Gemini* reads the email subject and summary, then classifies the email type, assigns a priority level (High / Medium / Low), extracts deadlines, key numbers, and required actions — all returned as structured JSON.\n* **HTML Builder:** Assembles the forwarded email body with an **AI analysis panel** embedded at the top, shared across both sending paths.\n* **Attachment handling:** If the email has attachments, the workflow fetches each file via the *Zoho Mail API*, renames binary keys to prevent collision, aggregates all files, then attaches them to the outgoing Gmail.\n* **Gmail:** Forwards the formatted email — with or without attachments — to the configured recipient.\n* **Telegram:** Sends the admin a structured, emoji-rich notification with all AI-extracted data, so decisions can be made without opening the email.\n\n## How to use\n\n1. **Connect credentials:** Link your **Zoho Mail**, **Gmail**, **Google Gemini** (`googlePalmApi`), and **Telegram Bot** credentials in n8n.\n2. **Configure in one place:** Open the **Set Context** node and fill in all 6 fields — recipient email, subject prefix, Telegram chat ID, footer text, AI role description, and email category options.\n3. **Set sender filter:** Edit the **Zoho Mail Trigger** node and update the `from` field with the sender addresses you want to monitor.\n4. **Activate** the workflow — it runs automatically on every new matching email.\n\n## Requirements\n\n* **n8n Version:** Built and tested on **n8n 2.9.4+**. *(It is recommended to use the latest n8n version for best compatibility.)*\n* **Zoho Mail** account with OAuth2 credentials and API access enabled.\n* **Gmail** account connected via OAuth2.\n* **Google Gemini** API key (via `googlePalmApi` credential).\n* **Telegram Bot** token and a target chat ID.\n\n## Customizing this workflow\n\n* **Different inbox:** Swap the *Zoho Mail Trigger* for a **Gmail Trigger**, **IMAP**, or any other email node — the rest of the workflow remains unchanged.\n* **Different AI behavior:** Change `ai_context` and `ai_type_options` in **Set Context** to adapt the AI to any domain (legal, finance, HR, support) — no prompt editing needed elsewhere.\n* **Different notification channel:** Replace the *Telegram* node with **Slack**, **Discord**, or **Microsoft Teams**.\n* **Persistent storage:** Add a **Google Sheets** or **Airtable** node after Telegram to log every forwarded email with its AI analysis for audit purposes.\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"},"nodes":[{"id":"1bc1be3b-42cf-45be-b3cc-8ebb0dfecd62","name":"Zoho Mail Trigger","type":"@zohomail/n8n-nodes-zohomail.zohoMailTrigger","position":[688,368],"webhookId":"ede8860f-0b74-4154-a371-fed3ff2745a2","parameters":{"from":"user@example.com,user@example.com...","account":"5263509+1234567890","matchingcondition":"and"},"credentials":{"zohoMailOAuth2Api":{"id":"credential-id","name":"me@nguyenthieutoan.com"}},"typeVersion":1},{"id":"3c5ec7d1-7881-4db5-bdcc-0d4e2bd1be62","name":"Set Context","type":"n8n-nodes-base.set","position":[944,368],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cfg-001","name":"forward_to","type":"string","value":"[YOUR_2ND_EMAIL]"},{"id":"cfg-002","name":"subject_prefix","type":"string","value":"[Forward]"},{"id":"cfg-003","name":"telegram_chat_id","type":"string","value":"[YOUR_ID_TELEGRAM]"},{"id":"cfg-004","name":"footer_note","type":"string","value":"Email automatically forwarded by the GenStaff system · Analyzed by Gemini AI"},{"id":"cfg-005","name":"ai_context","type":"string","value":"You are an intelligent email analysis assistant. The user needs you to analyze incoming emails and extract key information so they can quickly handle them without reading the entire content."},{"id":"cfg-006","name":"ai_type_options","type":"string","value":"Notification \n Action Required \n Invoice / Payment \n Confirmation \n Alert \n Policy Information \n Other"}]}},"typeVersion":3.4},{"id":"af50f0a0-55f7-4ce0-a79f-681ff279f2de","name":"Has Attachment?","type":"n8n-nodes-base.if","position":[1888,368],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"fff035c8-4c16-4503-9407-e4fc4e6af938","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Zoho Mail Trigger').item.json.hasAttachment }}","rightValue":"Yes"}]}},"typeVersion":2.3},{"id":"5f8ace38-356f-4fee-a330-53077172b9ba","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1248,368],"parameters":{"text":"=**Tiêu đề:** {{ $('Zoho Mail Trigger').item.json.subject }}\n\n**Gửi từ:** {{ $('Zoho Mail Trigger').item.json.fromAddress }}\n\n**Nội dung tóm tắt:** {{ $('Zoho Mail Trigger').item.json.summary || $('Zoho Mail Trigger').item.json.subject }}","options":{"systemMessage":"={{ $('Set Context').item.json.ai_context }}\n\nPlease analyze the email below and return JSON with the exact structure as described.\n\n**Available email types to choose from:** {{ $('Set Context').item.json.ai_type_options }}\n\nReturn **valid JSON** with the following fields:\n\n{\n  \"type\": \"string - classify the email, choose ONLY ONE from the options above\",\n  \"priority\": \"string - 'High' | 'Medium' | 'Low'\",\n  \"summary\": \"string - summarize the main content, 2-3 short sentences in the same language as the email\",\n  \"deadline\": \"string | null - deadline date if available, format dd/MM/yyyy, null if not present\",\n  \"action_required\": \"string | null - specific action the recipient needs to take, null if only informational\",\n  \"key_numbers\": [\"array of string - important numbers, codes, IDs mentioned (invoice, transaction ID, amounts...). Empty array if none\"]\n}\n\nExample:\n{\n  \"type\": \"Invoice\",\n  \"priority\": \"High\",\n  \"summary\": \"Email notification about the February service invoice that needs to be paid. The sender requests immediate action to avoid service interruption.\",\n  \"deadline\": \"10/03/2026\",\n  \"action_required\": \"Pay the service invoice before the deadline\",\n  \"key_numbers\": [\"HD20260215\", \"5000 USD\"]\n}"},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"faf5ca8e-cc54-409b-b148-65da34e71d43","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1472,560],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"type\": \"Invoice\",\n  \"priority\": \"High\",\n  \"summary\": \"Email notification about the February service invoice that needs to be paid. The sender requests immediate action to avoid service interruption.\",\n  \"deadline\": \"10/03/2026\",\n  \"action_required\": \"Pay the service invoice before the deadline\",\n  \"key_numbers\": [\"HD20260215\", \"5000 USD\"]\n}"},"typeVersion":1.3},{"id":"0f511c40-080a-4792-917f-e6c855e35c81","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[1104,576],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"credential-id","name":"nguyenthieutoan.vn"}},"typeVersion":1},{"id":"afd8fee2-d150-48ed-9ea7-87e63573c384","name":"Get AccountsID","type":"n8n-nodes-base.httpRequest","position":[2192,224],"parameters":{"url":"https://mail.zoho.com/api/accounts","options":{},"sendHeaders":true,"authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Accept","value":"application/json"},{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"zohoMailOAuth2Api"},"credentials":{"zohoMailOAuth2Api":{"id":"credential-id","name":"me@nguyenthieutoan.com"}},"typeVersion":4.4},{"id":"a8e2a076-18b1-41d1-9bac-ee1002c0da7e","name":"Get Attachment Info","type":"n8n-nodes-base.httpRequest","position":[2432,224],"parameters":{"url":"=https://mail.zoho.com/api/accounts/{{ $('Get AccountsID').item.json.data[0].accountId }}/folders/{{ $('Zoho Mail Trigger').item.json.folderId }}/messages/{{ $('Zoho Mail Trigger').item.json.messageIdString }}/attachmentinfo","options":{},"authentication":"predefinedCredentialType","nodeCredentialType":"zohoMailOAuth2Api"},"credentials":{"zohoMailOAuth2Api":{"id":"credential-id","name":"me@nguyenthieutoan.com"}},"typeVersion":4.4},{"id":"b8d64c78-f509-4b04-861a-aba2106aeff7","name":"Split Out Attachments","type":"n8n-nodes-base.splitOut","position":[2672,224],"parameters":{"options":{},"fieldToSplitOut":"data.attachments"},"typeVersion":1},{"id":"2e0450e8-005d-47b2-be12-bccfee93fbdb","name":"Get Attachment Content","type":"n8n-nodes-base.httpRequest","position":[2912,224],"parameters":{"url":"=https://mail.zoho.com/api/accounts/{{ $('Get AccountsID').item.json.data[0].accountId }}/folders/{{ $('Zoho Mail Trigger').item.json.folderId }}/messages/{{ $('Zoho Mail Trigger').item.json.messageIdString }}/attachments/{{ $json.attachmentId }}","options":{},"sendHeaders":true,"authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Accept","value":"application/octet-stream"},{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"zohoMailOAuth2Api"},"credentials":{"zohoMailOAuth2Api":{"id":"credential-id","name":"me@nguyenthieutoan.com"}},"typeVersion":4.4},{"id":"b8aa8f22-fc5c-4239-a1f3-d3b41802d917","name":"Aggregate Attachments","type":"n8n-nodes-base.aggregate","position":[3232,224],"parameters":{"options":{"includeBinaries":true},"aggregate":"aggregateAllItemData"},"typeVersion":1},{"id":"c47a4382-4460-465c-8adb-66ed00eed7fd","name":"Build Attachment List","type":"n8n-nodes-base.code","position":[3488,224],"parameters":{"jsCode":"const aggregated = $input.first();\nconst allBinaries = aggregated.binary || {};\nconst binaryKeys = Object.keys(allBinaries);\nif (binaryKeys.length === 0) throw new Error('No binary data found after aggregation.');\nreturn [{\n  json: { attachmentNames: binaryKeys.join(','), attachmentCount: binaryKeys.length },\n  binary: allBinaries\n}];"},"typeVersion":2},{"id":"04420c65-49b2-4163-9b5e-46c44d7def93","name":"Forward Email with Attachments","type":"n8n-nodes-base.gmail","position":[3872,224],"webhookId":"e8917cf5-dc10-40a7-98bf-000000000001","parameters":{"sendTo":"={{ $('Set Context').item.json.forward_to }}","message":"={{ $('Build Email HTML').item.json.emailHtml }}","options":{"attachmentsUi":{"attachmentsBinary":[{"property":"={{ $json.attachmentNames }}"}]},"appendAttribution":false},"subject":"={{ $('Build Email HTML').item.json.emailSubject }}"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail nguyenthieutoan.com@gmail.com"}},"typeVersion":2.2},{"id":"985cce0b-bb38-402d-bf87-b59e61240528","name":"Forward Email (No Attachments)","type":"n8n-nodes-base.gmail","position":[3872,384],"webhookId":"e8917cf5-dc10-40a7-98bf-000000000002","parameters":{"sendTo":"={{ $('Set Context').item.json.forward_to }}","message":"={{ $('Build Email HTML').item.json.emailHtml }}","options":{"appendAttribution":false},"subject":"={{ $('Build Email HTML').item.json.emailSubject }}"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail nguyenthieutoan.com@gmail.com"}},"typeVersion":2.2},{"id":"b6e8de89-3b15-43a3-a500-a165eb9fb832","name":"Notify Admin via Telegram","type":"n8n-nodes-base.telegram","position":[4224,304],"webhookId":"f65f994a-7e29-4976-8b48-000000000001","parameters":{"text":"=📬 *Email Mới*\n\n{{ $('Build Email HTML').item.json.ai_priority_emoji }} *Ưu tiên: {{ $('Build Email HTML').item.json.ai_priority }}*\n📋 *Loại:* {{ $('Build Email HTML').item.json.ai_type }}\n\n📝 *Tóm tắt:*\n{{ $('Build Email HTML').item.json.ai_summary }}{{ $('Build Email HTML').item.json.ai_deadline ? '\\n\\n⏰ *Deadline:* ' + $('Build Email HTML').item.json.ai_deadline : '' }}{{ $('Build Email HTML').item.json.ai_action ? '\\n✅ *Cần làm:* ' + $('Build Email HTML').item.json.ai_action : '' }}{{ $('Build Email HTML').item.json.ai_key_numbers ? '\\n🔢 *Số liệu:* ' + $('Build Email HTML').item.json.ai_key_numbers : '' }}\n\n─────────────────\n📧 *Từ:* {{ $('Zoho Mail Trigger').item.json.fromAddress }}\n🕐 *Nhận lúc:* {{ $('Zoho Mail Trigger').item.json.receivedTime.toDateTime().toFormat('HH:mm dd/MM/yyyy') }}\n📎 *Đính kèm:* {{ $('Zoho Mail Trigger').item.json.hasAttachment === 'Yes' ? 'Có ✅' : 'Không ❌' }}\n➡️ *Chuyển tới:* {{ $('Set Context').item.json.forward_to }}","chatId":"={{ $('Set Context').item.json.telegram_chat_id }}","additionalFields":{"parse_mode":"Markdown","appendAttribution":false}},"credentials":{"telegramApi":{"id":"credential-id","name":"n8n Notification Bot"}},"typeVersion":1.2},{"id":"18d09588-033a-43e7-bdae-db8a5a011bb5","name":"Build Email HTML","type":"n8n-nodes-base.code","position":[1600,368],"parameters":{"jsCode":"const cfg  = $('Set Context').item.json;\nconst mail = $('Zoho Mail Trigger').item.json;\nconst ai   = $('AI Agent').item.json.output;\n\nconst priorityEmoji = { 'High': '🔴', 'Medium': '🟡', 'Low': '🟢' };\nconst emoji     = priorityEmoji[ai.priority] || '🟡';\nconst badgeCss  = ai.priority === 'High' ? 'badge-high' : (ai.priority === 'Low' ? 'badge-low' : 'badge-mid');\nconst keyNums   = (ai.key_numbers || []).join(', ') || null;\n\nconst aiRows = [\n  `<p><span class=\"lbl\">Type:</span> ${ai.type}</p>`,\n  `<p><span class=\"lbl\">Priority:</span> <span class=\"badge ${badgeCss}\">${emoji} ${ai.priority}</span></p>`,\n  `<p><span class=\"lbl\">Summary:</span> ${ai.summary}</p>`,\n  ai.deadline        ? `<p><span class=\"lbl\">⏰ Deadline:</span> <strong>${ai.deadline}</strong></p>` : '',\n  ai.action_required ? `<p><span class=\"lbl\">✅ Action Required:</span> ${ai.action_required}</p>` : '',\n  keyNums            ? `<p><span class=\"lbl\">🔢 Key Numbers:</span> ${keyNums}</p>` : ''\n].filter(Boolean).join('\\n');\n\nconst html = `<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\">\n<style>\n  body{font-family:'Segoe UI',sans-serif;background:#f9fafb;margin:0;padding:40px;color:#1f2937}\n  .wrap{background:#fff;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.08);padding:30px;max-width:900px;margin:auto}\n  .ai-box{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;padding:16px 20px;margin-bottom:24px}\n  .ai-box h3{margin:0 0 12px;font-size:15px;color:#1d4ed8}\n  .ai-box p{margin:4px 0;font-size:14px;color:#1e40af}\n  .lbl{font-weight:600;display:inline-block;width:110px}\n  .badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:700}\n  .badge-high{background:#fee2e2;color:#b91c1c}\n  .badge-mid{background:#fef3c7;color:#92400e}\n  .badge-low{background:#d1fae5;color:#065f46}\n  .hdr{border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:15px}\n  .hdr p{margin:4px 0;font-size:14px}\n  .hdr span{font-weight:600;color:#111827}\n  .body-lbl{font-size:15px;font-weight:600;color:#2563eb;margin-bottom:10px}\n  .body-cnt{padding:15px;background:#f3f4f6;border-radius:8px;font-size:14px;line-height:1.7}\n  .footer{margin-top:20px;font-size:12px;color:#9ca3af;border-top:1px solid #e5e7eb;padding-top:12px}\n</style></head>\n<body><div class=\"wrap\">\n  <div class=\"ai-box\"><h3>🤖 AI Analysis</h3>${aiRows}</div>\n  <div class=\"hdr\">\n    <p><span>From:</span> ${mail.fromAddress}</p>\n    <p><span>To:</span> ${mail.toAddress}</p>\n    <p><span>Received At:</span> ${new Date(mail.receivedTime).toLocaleString('en-US',{timeZone:'Asia/Ho_Chi_Minh'})}</p>\n  </div>\n  <div class=\"body-lbl\">Original Content</div>\n  <div class=\"body-cnt\">${mail.html || mail.summary || '(No content available)'}</div>\n  <div class=\"footer\">${cfg.footer_note}</div>\n</div></body></html>`;\n\nreturn [{\n  json: {\n    emailHtml:         html,\n    emailSubject:      `${cfg.subject_prefix} ${emoji} [${ai.type}] ${mail.subject}`,\n    ai_priority:       ai.priority,\n    ai_priority_emoji: emoji,\n    ai_type:           ai.type,\n    ai_summary:        ai.summary,\n    ai_deadline:       ai.deadline || null,\n    ai_action:         ai.action_required || null,\n    ai_key_numbers:    keyNums\n  }\n}];\n"},"typeVersion":2},{"id":"1ccb3b56-247e-4c6f-a9b1-635c19e033e5","name":"Main Overview","type":"n8n-nodes-base.stickyNote","position":[0,0],"parameters":{"width":628,"height":958,"content":"## Smart Email Forwarder with AI Analysis (Zoho → Gmail + Telegram)\n\nThis workflow monitors a **Zoho Mail** inbox, automatically analyzes each incoming email with **Gemini AI**, then forwards it — including all attachments — to a designated recipient via **Gmail**. The admin receives an instant smart digest on **Telegram** without needing to open the email.\n\nAll behavior is controlled from a **single node** (`Set Context`). No other node needs editing to adapt this workflow to a different use case.\n\n### How it works\n1. **Zoho Mail Trigger** detects new incoming emails matching the configured sender filter.\n2. **Set Context** defines all runtime config: recipient, subject prefix, Telegram chat ID, footer text, AI role, and email category options.\n3. **Gemini AI** analyzes the email and extracts: type, priority level, summary, deadline, required action, and key numbers or IDs.\n4. **Build Email HTML** assembles the forwarded email body with an AI analysis panel embedded at the top — shared by both paths.\n5. **Has Attachment?** branches the flow: emails with files go through the Zoho attachment download pipeline before sending; emails without go directly to Gmail.\n6. **Gmail** forwards the formatted email to the configured recipient.\n7. **Telegram** notifies the admin with a structured, emoji-rich summary of the email.\n\n### Setup\n* [ ] Connect **Zoho Mail** OAuth2 credential in the Trigger and all Zoho API nodes.\n* [ ] Connect **Gmail** OAuth2 credential in both Gmail nodes.\n* [ ] Connect **Google Gemini** (`googlePalmApi`) credential in the AI Agent node.\n* [ ] Connect **Telegram Bot** credential in the Notify node.\n* [ ] Edit **Set Context** — update all 6 config fields to match your use case.\n* [ ] Edit **Zoho Mail Trigger** — update the `from` filter with your expected sender addresses.\n* [ ] Activate the workflow.\n\n### Customization tips\n* **Different inbox:** Swap Zoho Mail Trigger for Gmail Trigger or any other email node.\n* **Different AI behavior:** Change `ai_context` and `ai_type_options` in Set Context — no prompt editing needed elsewhere.\n* **Different notification channel:** Replace the Telegram node with Slack or Discord.\n\n### LICENCE\nThis template is for internal GenStaff use. Copyright belongs to Nguyen Thieu Toan. Any copying or modification must credit the author."},"typeVersion":1},{"id":"d09c7c20-9702-426f-8547-0513acde7e99","name":"Section 1","type":"n8n-nodes-base.stickyNote","position":[640,0],"parameters":{"color":7,"width":1120,"height":576,"content":"## Section 1: Trigger & AI Analysis\nReceives new tax email from Zoho Mail → sets forward destination → **Gemini AI analyzes the email** (type, priority, deadline, invoice numbers, tax amount, required action) → routes by attachment status."},"typeVersion":1},{"id":"d81b39ec-62c5-427e-b0b7-b1f88b9fa1ac","name":"Section 2","type":"n8n-nodes-base.stickyNote","position":[2128,0],"parameters":{"color":7,"width":1524,"height":576,"content":"## Section 2: Attachment Download Pipeline\nFetches Account ID → gets attachment metadata → splits per file → downloads each binary → merges all into one item ready for Gmail."},"typeVersion":1},{"id":"b8821e1f-06c5-4000-8167-3390c4636aeb","name":"Section 3","type":"n8n-nodes-base.stickyNote","position":[3776,0],"parameters":{"color":7,"width":676,"height":576,"content":"## Section 3: Forward & Smart Notify\nBoth paths (with/without attachments) forward the email via Gmail — with an **AI analysis panel** embedded at the top of the email body. After sending, Telegram delivers a structured summary to the admin with priority level, deadline, and required action."},"typeVersion":1},{"id":"7203dcc4-3147-4c6b-872c-8636349fb0d7","name":"Author","type":"n8n-nodes-base.stickyNote","position":[2128,592],"parameters":{"color":4,"width":500,"height":340,"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},{"id":"f29106d7-eaa0-443e-8d13-ab38bc8fec37","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[656,304],"parameters":{"color":3,"width":464,"height":224,"content":"## Edit these nodes!\n"},"typeVersion":1},{"id":"c26e3c80-5e7a-4013-bdca-d06e18639572","name":"Warning AI1","type":"n8n-nodes-base.stickyNote","position":[2176,96],"parameters":{"color":3,"width":360,"height":168,"content":"## ⚠️ Important!\n\nPlease enter Zoho Mail credentials for the nodes: **GetAccountsID, Get Attachment Info, and Get Attachment Content**.\""},"typeVersion":1}],"pinData":{},"connections":{"AI Agent":{"main":[[{"node":"Build Email HTML","type":"main","index":0}]]},"Set Context":{"main":[[{"node":"AI Agent","type":"main","index":0}]]},"Get AccountsID":{"main":[[{"node":"Get Attachment Info","type":"main","index":0}]]},"Has Attachment?":{"main":[[{"node":"Get AccountsID","type":"main","index":0}],[{"node":"Forward Email (No Attachments)","type":"main","index":0}]]},"Build Email HTML":{"main":[[{"node":"Has Attachment?","type":"main","index":0}]]},"Zoho Mail Trigger":{"main":[[{"node":"Set Context","type":"main","index":0}]]},"Get Attachment Info":{"main":[[{"node":"Split Out Attachments","type":"main","index":0}]]},"Aggregate Attachments":{"main":[[{"node":"Build Attachment List","type":"main","index":0}]]},"Build Attachment List":{"main":[[{"node":"Forward Email with Attachments","type":"main","index":0}]]},"Split Out Attachments":{"main":[[{"node":"Get Attachment Content","type":"main","index":0}]]},"Get Attachment Content":{"main":[[{"node":"Aggregate Attachments","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}]]},"Forward Email (No Attachments)":{"main":[[{"node":"Notify Admin via Telegram","type":"main","index":0}]]},"Forward Email with Attachments":{"main":[[{"node":"Notify Admin via Telegram","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":23,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.gmail":{"count":2},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.telegram":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":3},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":1},"@zohomail/n8n-nodes-zohomail.zohoMailTrigger":{"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":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":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":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":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with 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-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/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"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":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":41,"name":"Ticket Management"},{"id":49,"name":"AI Summarization"}],"image":[]}}