{"workflow":{"id":13568,"name":"Analyze, classify, and summarize Gmail with OpenAI RAG and Google Sheets","views":64,"recentViews":0,"totalViews":64,"createdAt":"2026-02-21T08:23:41.405Z","description":"<h2>📧 Analyze, classify, and summarize emails using RAG (automatic taxonomy learning)</h2>\n\n<p>\nThis workflow automatically reads incoming Gmail messages, analyzes them using AI with a retrieval-augmented\nclassification system (RAG), organizes emails into structured categories, stores results in Google Sheets,\nand even generates an audio summary sent directly to Telegram.\n</p>\n\n<hr>\n\n<h2>⚙️ How It Works</h2>\n\n<p>\nThe workflow creates an intelligent email processing pipeline combining Gmail, OpenAI, vector embeddings,\nand Google Sheets to continuously learn and improve email categorization accuracy.\n</p>\n\n<ol>\n<li>\n<strong>Email Trigger</strong><br>\nThe workflow starts automatically whenever a new email arrives in Gmail using the Gmail Trigger node.\n</li>\n\n<li>\n<strong>Email Extraction & Cleaning</strong><br>\nThe full email content, sender information, subject, and timestamp are retrieved and normalized.\nHTML formatting is removed so the AI receives clean text data.\n</li>\n\n<li>\n<strong>Knowledge Base Loading (RAG)</strong><br>\nEmail tagging examples stored in a Google Sheets document are loaded and converted into embeddings.\nThese examples act as the official taxonomy for categories and subcategories.\n</li>\n\n<li>\n<strong>Vector Store Creation</strong><br>\nThe workflow builds an in-memory vector database containing historical tagging samples.\nThis allows semantic similarity search during classification.\n</li>\n\n<li>\n<strong>AI Analysis Agent</strong><br>\nAn OpenAI-powered AI Agent performs multiple tasks in a single step:\n<ul>\n<li>Summarizes the email (short paragraph)</li>\n<li>Creates a one-line short message</li>\n<li>Classifies the email using retrieved vector examples</li>\n<li>Extracts keywords</li>\n<li>Assigns confidence score</li>\n<li>Detects whether a new category or subcategory was created</li>\n</ul>\n\nThe agent strictly prioritizes retrieved taxonomy examples to maintain consistent labeling.\n</li>\n\n<li>\n<strong>Structured Data Storage</strong><br>\nProcessed email data — including summary, category, keywords, and metadata — is appended to a Google Sheets log,\ncreating a searchable email intelligence database.\n</li>\n\n<li>\n<strong>Self-Learning Taxonomy</strong><br>\nIf the AI determines a new category or subcategory is required:\n<ul>\n<li>The new label is automatically added to the tagging samples sheet</li>\n<li>An admin notification is sent via Telegram</li>\n</ul>\nThis allows the system to evolve over time.\n</li>\n\n<li>\n<strong>Audio Summary Generation</strong><br>\nThe summarized email text is converted into speech using OpenAI audio generation.\n</li>\n\n<li>\n<strong>Telegram Notification</strong><br>\nThe generated audio summary is automatically delivered to Telegram, allowing quick email review without reading.\n</li>\n</ol>\n\n<hr>\n\n<h2>🧩 Features</h2>\n\n<ul>\n<li>✅ Fully automated Gmail monitoring</li>\n<li>✅ Retrieval-Augmented Generation (RAG) email classification</li>\n<li>✅ Consistent taxonomy enforcement via vector similarity</li>\n<li>✅ Automatic keyword extraction & confidence scoring</li>\n<li>✅ Self-updating category knowledge base</li>\n<li>✅ Google Sheets email database</li>\n<li>✅ AI-generated voice summaries</li>\n<li>✅ Telegram admin notifications</li>\n<li>✅ Continuously improving classification accuracy</li>\n</ul>\n\n<hr>\n\n<h2>🚀 Setup Steps</h2>\n\n<h3>1. Required Accounts</h3>\n<ul>\n<li>Google account (Gmail + Google Sheets)</li>\n<li>OpenAI API account</li>\n<li>Telegram Bot</li>\n<li>n8n instance (Cloud or Self-hosted)</li>\n</ul>\n\n<h3>2. Configure Credentials in n8n</h3>\n<p>Create the following credentials inside n8n:</p>\n<ul>\n<li><strong>Gmail OAuth2</strong> – used by Gmail Trigger and message retrieval</li>\n<li><strong>Google Sheets OAuth2</strong> – for email storage and taxonomy dataset</li>\n<li><strong>OpenAI API</strong> – for embeddings, AI analysis, and audio generation</li>\n<li><strong>Telegram API</strong> – for sending notifications and audio summaries</li>\n</ul>\n\n<h3>3. Prepare Google Sheets</h3>\n\n<p><strong>Sheet 1 — Email Log</strong></p>\n<ul>\n<li>date</li>\n<li>email</li>\n<li>name</li>\n<li>subject</li>\n<li>summarized text</li>\n<li>category</li>\n<li>subcategory</li>\n<li>keywords</li>\n</ul>\n\n<p><strong>Sheet 2 — Tagging Samples (Knowledge Base)</strong></p>\n<ul>\n<li>id</li>\n<li>subject</li>\n<li>email_text</li>\n<li>category</li>\n<li>subcategory</li>\n<li>keywords</li>\n</ul>\n\n<p>\nThis sheet acts as the classification training reference used by the vector store.\n</p>\n\n<h3>4. Configure Telegram</h3>\n<ul>\n<li>Create a Telegram bot using BotFather</li>\n<li>Copy the bot token into n8n credentials</li>\n<li>Replace the <code>chatId</code> value with your Telegram user or group ID</li>\n</ul>\n\n<h3>5. Connect OpenAI</h3>\n<ul>\n<li>Add your OpenAI API key</li>\n<li>Ensure access to chat models and embeddings</li>\n<li>No additional configuration required</li>\n</ul>\n\n<h3>6. Activate the Workflow</h3>\n<ul>\n<li>Enable the workflow</li>\n<li>Send a test email to your Gmail inbox</li>\n<li>Verify that:\n  <ul>\n    <li>Email appears in Google Sheets</li>\n    <li>Categories are assigned</li>\n    <li>Audio summary arrives in Telegram</li>\n  </ul>\n</li>\n</ul>\n\n<hr>\n\n<h2>💡 Recommended Usage</h2>\n\n<ul>\n<li>Email triage automation</li>\n<li>Customer support inbox classification</li>\n<li>Sales lead categorization</li>\n<li>Personal productivity systems</li>\n<li>AI-assisted knowledge management</li>\n</ul>\n\n<hr>\n\n<h2>🧠 Architecture Notes</h2>\n\n<p>\nThis workflow uses a Retrieval-Augmented Generation (RAG) pattern inside n8n by combining\nGoogle Sheets as a lightweight knowledge base with an in-memory vector store.\nInstead of relying purely on model reasoning, classification decisions are grounded\nin previously approved examples, producing stable and explainable categorization.\n</p>\n\n<p>\nOver time, the workflow becomes smarter as new categories are automatically added,\neffectively turning your inbox into a continuously learning AI system.\n</p>","workflow":{"meta":{"instanceId":"7f5f6eba79216fe73b6cec06e9bc0588a7296560af9073646e4476001985e797","templateCredsSetupCompleted":true},"nodes":[{"id":"8f65edfe-f7a0-4714-b22e-53532cb87870","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-672,160],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini"},"options":{"topP":1,"temperature":0.7,"frequencyPenalty":0},"builtInTools":{}},"credentials":{"openAiApi":{"id":"PsddRNyQpDLO5nLr","name":"OpenAi account"}},"typeVersion":1.3},{"id":"207e2479-0c2a-4ea5-a6c8-0af45c6f9c86","name":"Gmail Trigger","type":"n8n-nodes-base.gmailTrigger","position":[-1328,-128],"parameters":{"filters":{},"pollTimes":{"item":[{"mode":"everyMinute"}]}},"credentials":{"gmailOAuth2":{"id":"G8VPuCFlNq8kUmrz","name":"Gmail account"}},"typeVersion":1.3},{"id":"1225b4f2-b8cf-42eb-9fb7-cfcc666d3186","name":"Get row(s) in sheet","type":"n8n-nodes-base.googleSheets","position":[368,640],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":67988996,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs/edit#gid=67988996","cachedResultName":"tagging_sample"},"documentId":{"__rl":true,"mode":"list","value":"16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs","cachedResultUrl":"https://docs.google.com/spreadsheets/d/16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs/edit?usp=drivesdk","cachedResultName":"tagging_samples_for_RAG"}},"credentials":{"googleSheetsOAuth2Api":{"id":"bfHWXMv5Xz1SPYww","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"b4fe14bf-c1bc-4379-8e94-44243edb8e4b","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[80,544],"parameters":{"color":6,"width":928,"height":496,"content":"## Vector database initialization (manual first run)"},"typeVersion":1},{"id":"a6275b75-8599-4d76-b763-23f0ff61e180","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-320,784],"parameters":{"color":3,"width":368,"height":256,"content":"## Create embeddings for taxonomy knowledge base"},"typeVersion":1},{"id":"1bf826f0-1e84-449c-9d2b-6e695f131e92","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-1376,-240],"parameters":{"color":4,"width":528,"height":464,"content":"## Email ingestion and preprocessing\n"},"typeVersion":1},{"id":"1ba270f2-5d61-455b-bf6d-c6a69873ff51","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-816,-240],"parameters":{"color":5,"width":896,"height":544,"content":"## AI analysis using RAG classification"},"typeVersion":1},{"id":"7730e7aa-8796-4a28-9549-26f18c32a7e2","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[112,-240],"parameters":{"color":5,"width":384,"height":544,"content":"## Store processed emails"},"typeVersion":1},{"id":"3780afea-b0b3-43f3-aa63-70006cbfcdb2","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[560,-112],"parameters":{"color":3,"width":352,"height":256,"content":"## New Category/Subcategory?"},"typeVersion":1},{"id":"06d1fc9e-3843-452d-841b-c68592f3d7e6","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[960,64],"parameters":{"color":5,"width":864,"height":448,"content":"## Automatic taxonomy learning"},"typeVersion":1},{"id":"38464f22-dd4b-4b0b-992d-3c66b1bb5190","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[1664,-320],"parameters":{"color":4,"width":864,"height":368,"content":"## Audio summary notification"},"typeVersion":1},{"id":"1dda4ca3-d7d0-4a49-bfb4-2c169af4f028","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[160,640],"parameters":{},"typeVersion":1},{"id":"02fd56c8-d49e-4a31-8d00-6b44837a7dc4","name":"Analyze email with RAG agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-496,-128],"parameters":{"text":"=sender: {{ $json.sender }}\nemail: {{ $json.email }}\ndate: {{ $json.date }}\nsubject: {{ $json.subject }}\ncontent: {{ $json.content }}","options":{"systemMessage":"=You are an email analysis, classification, and summarization assistant operating inside an automated workflow.\n\nYou will receive ONE incoming email object as input.\n\nYour task is to analyze the email and RETURN THE SAME OBJECT with additional structured fields appended.\n\n--------------------------------------------------\nPRIMARY OBJECTIVES\n--------------------------------------------------\n\n1. Summarize the email content in ONE short paragraph (maximum 3 sentences).\n\n2. Classify the email using semantic context retrieved from \"Simple Vector Store1\".\n\n3. The retrieved examples represent the OFFICIAL taxonomy and are the PRIMARY SOURCE OF TRUTH for categories and subcategories.\n\n4. Extract up to 5 meaningful keywords representing the main topics of the email.\n\n5. Provide a confidence score between 0 and 1 indicating classification certainty.\n\n--------------------------------------------------\nCLASSIFICATION RULES (STRICT)\n--------------------------------------------------\n\n- ALWAYS prefer categories and subcategories found in retrieved examples.\n- DO NOT invent new categories or subcategories unless no reasonable semantic match exists.\n- Retrieved examples have higher authority than general model knowledge.\n- If similarity is weak, still choose the closest existing category and LOWER the confidence score.\n- Only create a new category or subcategory when NO retrieved example reasonably matches the email topic.\n\nDecision priority order:\n1) Retrieved vector store examples (highest priority)\n2) Semantic meaning of the email\n3) General reasoning (last resort)\n\n--------------------------------------------------\nTAXONOMY CONSISTENCY CHECK (MANDATORY)\n--------------------------------------------------\n\nAfter selecting a category and subcategory:\n\n1. Compare the selected category against ALL categories present in the retrieved examples from \"Simple Vector Store1\".\n\n2. If the selected category DOES NOT appear in retrieved examples from knowledge_base and you generated new one:\n   set new_category = true\n   otherwise set new_category = false.\n\n3. If the category exists but the selected subcategory DOES NOT appear in retrieved examples from knowledge_base and you generated new one:\n   set new_subcategory = true\n   otherwise set new_subcategory = false.\n\n4. This decision MUST be based ONLY on retrieved examples, not on general knowledge.\n\n--------------------------------------------------\nCONFIDENCE SCORING\n--------------------------------------------------\n\n0.90–1.00 → strong semantic match with retrieved examples\n0.70–0.89 → clear topic with minor ambiguity\n0.50–0.69 → weak similarity but reasonable classification\n0.00–0.49 → uncertain classification\n\nLower confidence when retrieved similarity is weak or ambiguous.\n\n--------------------------------------------------\nOUTPUT REQUIREMENTS (CRITICAL)\n--------------------------------------------------\n\n- Output MUST be valid JSON ONLY.\n- DO NOT include markdown, explanations, comments, or extra text.\n- DO NOT remove, rename, or modify any existing input fields.\n- Preserve all original fields exactly as received.\n- Append ONLY the following fields:\n\n{\n  \"summary\": \"short paragraph summary\",\n  \"short_message\": \"1 long line summary\",\n  \"category\": \"main category\",\n  \"subcategory\": \"specific subcategory\",\n  \"keywords\": [\"keyword1\",\"keyword2\",\"keyword3\"],\n  \"confidence\": 0.0,\n  \"new_category\": false,\n  \"new_subcategory\": false\n}\n\n--------------------------------------------------\nNEW CATEGORY FLAGS\n--------------------------------------------------\n\n- new_category = true ONLY if the selected category is NOT present in retrieved examples.\n- new_subcategory = true ONLY if the category exists but the subcategory is NOT present in retrieved examples.\n\n--------------------------------------------------\nFINAL VALIDATION STEP (MANDATORY)\n--------------------------------------------------\n\nBefore responding, internally verify:\n\n✓ Output is valid JSON\n✓ No missing commas or trailing text\n✓ All original input fields remain unchanged\n✓ Exactly the required fields were appended\n✓ No additional fields were added\n✓ Boolean fields contain true or false values only\n✓ confidence is a number between 0 and 1\n\nIf validation fails, correct the output before responding."},"promptType":"define"},"typeVersion":3.1},{"id":"93a4602e-b439-4998-b4f7-5552a14235b1","name":"Fetch full Gmail message","type":"n8n-nodes-base.gmail","position":[-1168,32],"webhookId":"0fde2a18-bc05-49e0-9dfa-a6b7c590a963","parameters":{"simple":false,"options":{},"messageId":"={{ $json.id }}","operation":"get"},"credentials":{"gmailOAuth2":{"id":"G8VPuCFlNq8kUmrz","name":"Gmail account"}},"typeVersion":2.2},{"id":"52ebae61-2c71-4a4d-853b-2a960cc4ce7c","name":"Normalize email fields","type":"n8n-nodes-base.set","position":[-1008,-128],"parameters":{"options":{},"assignments":{"assignments":[{"id":"7e9eb4f0-4857-4400-aeb8-ed95125e521e","name":"id","type":"string","value":"={{ $json.id }}"},{"id":"38b144e4-656d-455c-97a2-2940a2ef1664","name":"date","type":"string","value":"={{ $json.date}}"},{"id":"c6783bdd-84ec-4b33-87d1-92d9abee0883","name":"sender","type":"string","value":"={{ $json.from.value[0].name }}"},{"id":"6ea9a751-b591-4c48-ae73-b34957baf989","name":"email","type":"string","value":"={{ $json.from.value[0].address }}"},{"id":"94764f32-b319-4402-94ba-3eb5f579f967","name":"subject","type":"string","value":"={{ $json.subject }}"},{"id":"85dae6e6-27b9-4f50-b87a-54321fae5d61","name":"content","type":"string","value":"={{ $json.html.removeTags() }}"}]}},"typeVersion":3.4},{"id":"27143409-5428-4f7c-adb8-81793455dac6","name":"Parse AI analysis result","type":"n8n-nodes-base.set","position":[160,32],"parameters":{"options":{},"assignments":{"assignments":[{"id":"81cda1ee-1de3-4532-8424-63af111b7e5e","name":"sender","type":"string","value":"={{ $json.output.parseJson().sender}}"},{"id":"411d8ed7-b5a0-406b-8cbb-f13fcc2e0cb9","name":"email","type":"string","value":"={{ $json.output.parseJson().email}}"},{"id":"91e1e7ed-4d7b-4f7b-8ce6-256f7534ddaa","name":"date","type":"string","value":"={{ $json.output.parseJson().date}}"},{"id":"339af5c2-4a0a-49a8-9a95-c30038b3c449","name":"subject","type":"string","value":"={{ $json.output.parseJson().subject}}"},{"id":"4e1e6c3f-6db6-451b-90b3-567860a41dca","name":"content","type":"string","value":"={{ $json.output.parseJson().summary}}"},{"id":"01e3df72-a9d8-4e3f-ba6b-34e891a7cc4f","name":"short message","type":"string","value":"={{ $json.output.parseJson().short_message}}"},{"id":"cbfb9eb0-f132-4b28-8523-b67a58f1a640","name":"category","type":"string","value":"={{ $json.output.parseJson().category}} "},{"id":"2d7eaa48-8188-481c-b97a-ca33512f8f9a","name":"subcategory","type":"string","value":"={{ $json.output.parseJson().subcategory}}"},{"id":"20f7f724-4b6a-46a5-9f1e-1d27a477c03c","name":"keyword","type":"string","value":"={{ $json.output.parseJson().keywords.join()}}"},{"id":"2d8fc5fa-83a5-49ae-a47c-0cb720cc4b72","name":"confidence","type":"string","value":"={{ $json.output.parseJson().confidence}}"},{"id":"a3f2f93c-91cf-4b72-b0f4-f0656114f4d7","name":"new category","type":"string","value":"={{ $json.output.parseJson().new_category}}"},{"id":"f0671f31-6cee-49ba-b57f-272901b27555","name":"new subcategory","type":"string","value":"={{ $json.output.parseJson().new_subcategory}}"}]}},"typeVersion":3.4},{"id":"48ef6c0c-bf62-4c3f-bb93-4780b6f13792","name":"Store processed email","type":"n8n-nodes-base.googleSheets","position":[336,-16],"parameters":{"columns":{"value":{"date":"={{ $json.date }}","name":"={{ $json.sender }}","email":"={{ $json.email }}","subject":"={{ $json.subject }}","category":"={{ $json.category }}","keywords":"={{ $json.keyword }}","subcategory":"={{ $json.subcategory }}","summarized text":"={{ $json.content }}"},"schema":[{"id":"date","type":"string","display":true,"required":false,"displayName":"date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"email","type":"string","display":true,"removed":false,"required":false,"displayName":"email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"name","type":"string","display":true,"removed":false,"required":false,"displayName":"name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subject","type":"string","display":true,"removed":false,"required":false,"displayName":"subject","defaultMatch":false,"canBeUsedToMatch":true},{"id":"summarized text","type":"string","display":true,"required":false,"displayName":"summarized text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"category","type":"string","display":true,"removed":false,"required":false,"displayName":"category","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subcategory","type":"string","display":true,"removed":false,"required":false,"displayName":"subcategory","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords","type":"string","display":true,"removed":false,"required":false,"displayName":"keywords","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/183Hr0qGVs5sLqoWi_69uRPItvhy_BrdSjgQ8nI9OCz0/edit#gid=0","cachedResultName":"email"},"documentId":{"__rl":true,"mode":"list","value":"183Hr0qGVs5sLqoWi_69uRPItvhy_BrdSjgQ8nI9OCz0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/183Hr0qGVs5sLqoWi_69uRPItvhy_BrdSjgQ8nI9OCz0/edit?usp=drivesdk","cachedResultName":"Untitled spreadsheet"}},"credentials":{"googleSheetsOAuth2Api":{"id":"bfHWXMv5Xz1SPYww","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"a29d85ca-cbdf-48d8-9b35-da5884a1ecc7","name":"Check for new taxonomy items","type":"n8n-nodes-base.if","position":[672,-16],"parameters":{"options":{"ignoreCase":true},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":false,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"550b3cd9-0fb1-4810-9037-2a56b630779c","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Parse AI analysis result').item.json[\"new category\"] }}","rightValue":"true"},{"id":"66af56bc-574b-4565-bfad-75577917b8dc","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Parse AI analysis result').item.json[\"new subcategory\"] }}","rightValue":"true"}]}},"typeVersion":2.3},{"id":"70fd7ea2-3592-4b1d-8140-d0a31467517c","name":"Load taxonomy dataset","type":"n8n-nodes-base.googleSheets","position":[1072,176],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":67988996,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs/edit#gid=67988996","cachedResultName":"tagging_sample"},"documentId":{"__rl":true,"mode":"list","value":"16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs","cachedResultUrl":"https://docs.google.com/spreadsheets/d/16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs/edit?usp=drivesdk","cachedResultName":"tagging_samples_for_RAG"}},"credentials":{"googleSheetsOAuth2Api":{"id":"bfHWXMv5Xz1SPYww","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"45962298-3cf2-40df-af6b-f5b970e1e3c1","name":"Get next taxonomy ID","type":"n8n-nodes-base.code","position":[1264,304],"parameters":{"language":"pythonNative","pythonCode":"ids = [item[\"json\"][\"id\"] for item in _items]\n\n# Get the maximum id\nmax_id = max(ids)\n\n\n# Return result\nreturn [{\n    \"json\": {\n        \"max_id\": max_id\n    }\n}]\n"},"typeVersion":2},{"id":"ba43f9e7-5cf6-4c08-938f-9d606dbcbf70","name":"Append new taxonomy entry","type":"n8n-nodes-base.googleSheets","position":[1456,176],"parameters":{"columns":{"value":{"id":"={{ $json.max_id + 1}}","subject":"={{ $('Parse AI analysis result').first().json.subject }}","category":"={{ $('Parse AI analysis result').first().json.category }}","keywords":"={{ $('Parse AI analysis result').first().json.keyword }}","email_text":"={{ $('Parse AI analysis result').first().json['short message'] }}","subcategory":"={{ $('Parse AI analysis result').first().json.subcategory }}"},"schema":[{"id":"id","type":"string","display":true,"removed":false,"required":false,"displayName":"id","defaultMatch":true,"canBeUsedToMatch":true},{"id":"subject","type":"string","display":true,"required":false,"displayName":"subject","defaultMatch":false,"canBeUsedToMatch":true},{"id":"email_text","type":"string","display":true,"required":false,"displayName":"email_text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"category","type":"string","display":true,"required":false,"displayName":"category","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subcategory","type":"string","display":true,"required":false,"displayName":"subcategory","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords","type":"string","display":true,"required":false,"displayName":"keywords","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["id"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":67988996,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs/edit#gid=67988996","cachedResultName":"tagging_sample"},"documentId":{"__rl":true,"mode":"list","value":"16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs","cachedResultUrl":"https://docs.google.com/spreadsheets/d/16kSdJJ0imPSq2A7gIhueuEvjwdcvjRaCMYGg-u2QdFs/edit?usp=drivesdk","cachedResultName":"tagging_samples_for_RAG"}},"credentials":{"googleSheetsOAuth2Api":{"id":"bfHWXMv5Xz1SPYww","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"8c551b81-7839-42b8-a525-51f2d549e92c","name":"Notify admin about taxonomy update","type":"n8n-nodes-base.telegram","position":[1664,304],"webhookId":"8aa607a9-3821-4983-84c8-cd43b4d5469e","parameters":{"text":"=New category/subcategory added:\n{{ $json.category }} / {{ $json.subcategory }}","chatId":"[YOUR_CHAT_ID]","additionalFields":{"appendAttribution":false}},"credentials":{"telegramApi":{"id":"ULUypqvZ44kAxk8F","name":"Telegram account"}},"typeVersion":1.2},{"id":"6282f451-1235-4aa3-a3d3-086bc70a55b4","name":"Generate audio summary","type":"@n8n/n8n-nodes-langchain.openAi","position":[1888,-176],"parameters":{"input":"={{ $('Store processed email').first().json['summarized text'] }}","options":{},"resource":"audio"},"credentials":{"openAiApi":{"id":"PsddRNyQpDLO5nLr","name":"OpenAi account"}},"typeVersion":2.1},{"id":"6df2007e-954c-4bbe-81ec-5872e6170213","name":"Send audio summary to Telegram","type":"n8n-nodes-base.telegram","position":[2224,-176],"webhookId":"541e2eef-6ebf-4ce8-9b0b-1bbc8165e1e9","parameters":{"chatId":"=[YOUR_CHAT_ID]","operation":"sendAudio","binaryData":true,"additionalFields":{"caption":"=👤 {{ $('Normalize email fields').first().json.sender }}\n{{ $('Normalize email fields').first().json.date .toDateTime().format('📅 yyyy-MM-dd ⏰ hh:mm:ss')}}\n\n📜 {{ $('Normalize email fields').first().json.subject }}","fileName":"email bite"}},"credentials":{"telegramApi":{"id":"ULUypqvZ44kAxk8F","name":"Telegram account"}},"typeVersion":1.2},{"id":"eb252b88-4336-49e5-8c16-d6b5c7637f72","name":"Vector store — taxonomy index","type":"@n8n/n8n-nodes-langchain.vectorStoreInMemory","position":[560,640],"parameters":{"mode":"insert","memoryKey":{"__rl":true,"mode":"list","value":"email_tagging","cachedResultName":"email_tagging"}},"typeVersion":1.3},{"id":"fee89aa8-2981-400e-b415-f5ce8141550d","name":"Vector store retriever (RAG tool)","type":"@n8n/n8n-nodes-langchain.vectorStoreInMemory","position":[-304,160],"parameters":{"mode":"retrieve-as-tool","topK":1,"memoryKey":{"__rl":true,"mode":"list","value":"email_tagging"},"toolDescription":"knowledgebase for email content category and subcategory."},"typeVersion":1.3},{"id":"8abed336-a6a4-4dc4-b7ee-f6d1d481fc78","name":"Prepare taxonomy documents","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[608,896],"parameters":{"options":{"metadata":{"metadataValues":[{"name":"category","value":"={{ $('Get row(s) in sheet').item.json.category }}"},{"name":"subcategory","value":"={{ $('Get row(s) in sheet').item.json.subcategory }}"}]}},"jsonData":"={{ $('Get row(s) in sheet').item.json.subject +\"\\n\"+$('Get row(s) in sheet').item.json.email_text}}","jsonMode":"expressionData"},"typeVersion":1.1},{"id":"b23850e5-0c9d-4e5b-8fef-f2ec4dc82cf6","name":"Create embeddings (OpenAI)","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[-176,896],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"PsddRNyQpDLO5nLr","name":"OpenAi account"}},"typeVersion":1.2},{"id":"f5a501d4-a09d-4d21-8a56-7af4b33aa7a9","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[-1216,400],"parameters":{"width":704,"height":592,"content":"## How it works\n\nThis workflow automatically analyzes incoming Gmail messages using a Retrieval-Augmented Generation (RAG) approach. When a new email arrives, the workflow extracts and normalizes its content, then sends it to an AI agent powered by an OpenAI model.\n\nThe agent retrieves examples from a vector database built from a Google Sheets taxonomy dataset. These examples act as the source of truth for email categories and subcategories. Using this context, the AI summarizes the email, assigns a category and subcategory, extracts keywords, and calculates a confidence score.\n\nProcessed emails are stored in a Google Sheet for tracking and analytics. If the AI detects a previously unseen category or subcategory, the workflow automatically expands the taxonomy dataset and notifies the administrator. Optionally, an audio version of the email summary is generated and sent via Telegram.\n\n## Setup steps\n\n1. Connect Gmail credentials for the trigger node.\n2. Connect OpenAI credentials for chat, embeddings, and audio generation.\n3. Connect Google Sheets credentials and duplicate the provided sheets.\n4. Replace Telegram chat IDs with your own.\n5. Run the workflow once manually to populate the vector store before activating it.\n\nAfter setup, the workflow continuously learns and improves email classification over time."},"typeVersion":1}],"pinData":{},"connections":{"Gmail Trigger":{"main":[[{"node":"Fetch full Gmail message","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"Analyze email with RAG agent","type":"ai_languageModel","index":0}]]},"Get row(s) in sheet":{"main":[[{"node":"Vector store — taxonomy index","type":"main","index":0}]]},"Get next taxonomy ID":{"main":[[{"node":"Append new taxonomy entry","type":"main","index":0}]]},"Load taxonomy dataset":{"main":[[{"node":"Get next taxonomy ID","type":"main","index":0}]]},"Store processed email":{"main":[[{"node":"Check for new taxonomy items","type":"main","index":0}]]},"Generate audio summary":{"main":[[{"node":"Send audio summary to Telegram","type":"main","index":0}]]},"Normalize email fields":{"main":[[{"node":"Analyze email with RAG agent","type":"main","index":0}]]},"Fetch full Gmail message":{"main":[[{"node":"Normalize email fields","type":"main","index":0}]]},"Parse AI analysis result":{"main":[[{"node":"Store processed email","type":"main","index":0}]]},"Append new taxonomy entry":{"main":[[{"node":"Notify admin about taxonomy update","type":"main","index":0}]]},"Create embeddings (OpenAI)":{"ai_embedding":[[{"node":"Vector store — taxonomy index","type":"ai_embedding","index":0},{"node":"Vector store retriever (RAG tool)","type":"ai_embedding","index":0}]]},"Prepare taxonomy documents":{"ai_document":[[{"node":"Vector store — taxonomy index","type":"ai_document","index":0}]]},"Analyze email with RAG agent":{"main":[[{"node":"Parse AI analysis result","type":"main","index":0}]]},"Check for new taxonomy items":{"main":[[{"node":"Load taxonomy dataset","type":"main","index":0}],[{"node":"Generate audio summary","type":"main","index":0}]]},"Vector store retriever (RAG tool)":{"ai_tool":[[{"node":"Analyze email with RAG agent","type":"ai_tool","index":0}]]},"Notify admin about taxonomy update":{"main":[[{"node":"Generate audio summary","type":"main","index":0},{"node":"Get row(s) in sheet","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Get row(s) in sheet","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":29,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.telegram":{"count":2},"n8n-nodes-base.stickyNote":{"count":9},"n8n-nodes-base.gmailTrigger":{"count":1},"n8n-nodes-base.googleSheets":{"count":4},"n8n-nodes-base.manualTrigger":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.embeddingsOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.vectorStoreInMemory":{"count":2},"@n8n/n8n-nodes-langchain.documentDefaultDataLoader":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Amirhosein Zahedi","username":"amirhoseinzahedi","bio":"[𝑰𝒏𝒕𝒆𝒏𝒕𝒊𝒐𝒏𝒂𝒍𝒍𝒚 𝑳𝒆𝒇𝒕 𝑩𝒍𝒂𝒏𝒌]","verified":false,"links":[""],"avatar":"https://gravatar.com/avatar/7fdc15b17b53351a3fbf7c2f3ae09a844c33e2a9e962abaf292f713607699f32?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"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-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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"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-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/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.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"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":824,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmailTrigger","codex":{"data":{"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/trigger-nodes/n8n-nodes-base.gmailtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Gmail Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"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":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","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":1141,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Embeddings"]}}},"group":"[\"transform\"]","defaults":{"name":"Embeddings OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"Embeddings OpenAI","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1209,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.vectorStoreInMemory","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreinmemory/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Vector Stores","Tools","Root Nodes"],"Tools":["Other Tools"],"Vector Stores":["For Beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Vector Store"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Vector Store","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1243,"icon":"file:binary.svg","name":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Document Loaders"]}}},"group":"[\"transform\"]","defaults":{"name":"Default Data Loader"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3NjgiIGhlaWdodD0iMTAyNCI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTAgOTYwVjY0aDU3NmwxOTIgMTkydjcwNHptNzA0LTY0MEw1MTIgMTI4SDY0djc2OGg2NDB6TTMyMCA1MTJIMTI4VjI1NmgxOTJ6bS02NC0xOTJoLTY0djEyOGg2NHptMCA0NDhoNjR2NjRIMTI4di02NGg2NFY2NDBoLTY0di02NGgxMjh6bTI1Ni0zMjBoNjR2NjRIMzg0di02NGg2NFYzMjBoLTY0di02NGgxMjh6bTY0IDM4NEgzODRWNTc2aDE5MnptLTY0LTE5MmgtNjR2MTI4aDY0eiIvPjwvc3ZnPg=="},"displayName":"Default Data Loader","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":41,"name":"Ticket Management"},{"id":48,"name":"AI RAG"}],"image":[]}}