{"workflow":{"id":14979,"name":"Build an SEO chatbot with GPT-4o-mini using your Google Sheets data","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-10T11:49:20.856Z","description":"### Description\n\nAdd your approved SEO Q&A pairs to a Google Sheet, activate the workflow, and share the chat URL with your team or clients. The chatbot reads your entire knowledge base on every question and answers strictly from your own content — never from outside sources. Every conversation is automatically logged to a second sheet so you can track common questions and improve your knowledge base over time. Built for SEO agencies, consultants, and marketing teams who want a branded AI assistant without hallucinated or off-brand answers.\n\n---\n\n## What This Workflow Does\n\n- **Reads your knowledge base live** — Pulls all Q&A rows from your Google Sheet on every question so answers always reflect your latest approved content\n- **Answers strictly from your content** — GPT-4o-mini is instructed to never use outside knowledge, keeping every response on-brand and accurate\n- **Delivers an honest fallback** — If a question is not covered in your sheet, the bot tells the user directly and points them to your support team instead of guessing\n- **Maintains conversation memory** — Users can ask follow-up questions naturally without repeating context, just like a real chat\n- **Logs every exchange automatically** — Appends each session ID, timestamp, question, and answer to a Chat Log sheet for analytics and gap identification\n- **Returns the reply in real time** — The answer is sent back to the chat interface instantly at the same time as it is being logged\n\n---\n\n## Setup Requirements\n\n### Tools Needed\n- n8n instance (self-hosted or cloud)\n- OpenAI account with GPT-4o-mini API access\n- Google account with two Google Sheets (one for the knowledge base, one for the chat log)\n\n### Credentials Required\n- OpenAI API key\n- Google Sheets OAuth2 (used in two steps — read and log)\n\n&gt; ⚠️ **Google Sheets OAuth2 appears in 2 steps** — connect it in both **3. Google Sheets — Read Knowledge Base** and **9. Google Sheets — Log Chat**\n\n**Estimated Setup Time: 15–20 minutes**\n\n---\n\n## Step-by-Step Setup\n\n1. **Import the workflow** — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import\n\n2. **Create your Knowledge Base sheet** — Open Google Sheets → create a new sheet → add a tab named exactly **SEO FAQ** → add these four column headers in row 1: `Question`, `Answer`, `Category`, `Last Updated` → fill in at least 5–10 Q&A rows before testing\n\n3. **Create your Chat Log sheet** — In the same Google Sheet or a separate one → add a tab named exactly **Chat Log** → add these four column headers in row 1: `Session ID`, `Timestamp`, `User Question`, `Bot Answer`\n\n4. **Fill in Config Values** — Open node **2. Set — Config Values** → replace all placeholders:\n\n| Field | What to enter |\n|---|---|\n| `YOUR_KNOWLEDGE_BASE_SHEET_ID` | The ID from your Knowledge Base sheet URL (the string between `/d/` and `/edit`) |\n| `SEO FAQ` | Leave as-is, or change to match your tab name exactly |\n| `YOUR_CHAT_LOG_SHEET_ID` | The ID from your Chat Log sheet URL (same method) |\n| `Chat Log` | Leave as-is, or change to match your log tab name exactly |\n| `YOUR COMPANY NAME` | Your agency or business name |\n| `botPersona` | Edit the persona description to match your brand voice |\n\n5. **Connect Google Sheets for reading** — Open node **3. Google Sheets — Read Knowledge Base** → click the credential dropdown → add Google Sheets OAuth2 → sign in with your Google account → authorize access\n\n6. **Connect OpenAI** — Open node **6. OpenAI — GPT-4o-mini Model** → click the credential dropdown → add your OpenAI API key → test the connection\n\n7. **Connect Google Sheets for logging** — Open node **9. Google Sheets — Log Chat** → click the credential dropdown → select the same Google Sheets OAuth2 credential you connected in step 5\n\n8. **Activate the workflow** — Toggle the workflow to Active → click on node **1. Chat Message Received** → copy the Chat URL shown → share this URL with your team or embed it in your site\n\n---\n\n## How It Works (Step by Step)\n\n**Step 1 — Chat Trigger: Receive User Question**\nThis step creates a public chat interface at a shareable URL. Every time a user types a message and hits send, that message is passed to the next step automatically. No credentials are needed for this step — it works as soon as the workflow is active.\n\n**Step 2 — Set: Config Values**\nYour knowledge base Sheet ID, log Sheet ID, tab names, company name, and bot persona are stored here as named variables. A unique session ID is also generated automatically for each new conversation so chats can be tracked individually in the log.\n\n**Step 3 — Google Sheets: Read Knowledge Base**\nThe full contents of your SEO FAQ tab are read from Google Sheets every time a question comes in. This means you can add, edit, or remove Q&A rows at any time and the chatbot will reflect your changes immediately — no redeployment needed.\n\n**Step 4 — Code: Build Knowledge Base Text**\nAll the rows from your sheet are formatted into a numbered Q&A text block grouped by category. The user's question is also pulled from the chat trigger here. If the sheet is empty, a clear fallback message is used instead of crashing the workflow. Everything is assembled into one clean package for the AI step.\n\n**Step 5 — AI Agent: SEO Consultant**\nGPT-4o-mini receives your bot persona, the full knowledge base text, and the user's question. It searches the knowledge base for a matching answer and responds in plain, friendly language. If the question is not covered, it returns exactly: *\"I do not have information about this topic in my current knowledge base. Please contact [your company name] support directly for help with this.\"* Answers are kept under 150 words and contain no markdown formatting.\n\n**Step 6 — OpenAI: GPT-4o-mini Model**\nThis is the language model powering the AI step. It runs at temperature 0.3 for factual, consistent answers and is capped at 400 tokens to keep responses concise and costs low per conversation.\n\n**Step 7 — Memory: Conversation Buffer**\nThis step stores the conversation history for the current session. It allows users to ask follow-up questions naturally — for example, asking \"Can you explain that in more detail?\" — without the bot losing context from earlier in the same chat.\n\n**Step 8 — Set: Prepare Log Fields**\nThe bot's answer, the user's original question, the session ID, and the timestamp are all assembled here into a clean set of fields ready for logging and for returning to the chat interface.\n\n**Step 9 — Google Sheets: Log Chat**\nA new row is appended to your Chat Log tab with four fields: session ID, timestamp, user question, and bot answer. This runs at the same time as the reply is sent back to the user. Over time this log shows you which questions are being asked most and where your knowledge base has gaps.\n\n**Step 10 — Set: Return Answer to Chat**\nThe bot answer is sent back to the chat interface so the user sees the reply immediately. This step runs simultaneously with the logging step so there is no delay in the response.\n\nThe final result: the user sees a clean, on-brand answer in the chat window within seconds, and the exchange is permanently recorded in your Google Sheet.\n\n---\n\n## Key Features\n\n✅ **Live knowledge base sync** — Edit your Google Sheet and the chatbot reflects your changes on the very next question — no redeployment\n✅ **Hallucination-free by design** — GPT-4o-mini is explicitly instructed to answer only from your sheet, never from its own training data\n✅ **Honest fallback built in** — Unknown questions get a clear, branded fallback message instead of a confabulated answer that damages trust\n✅ **Multi-turn conversation support** — Conversation memory lets users ask follow-up questions in the same session without losing context\n✅ **Automatic chat logging** — Every exchange is saved to Google Sheets with session ID and timestamp — no manual export needed\n✅ **Category-organized knowledge base** — Q&A rows include a Category column so the AI receives structured, scannable content per topic\n✅ **Zero-cost trigger** — The chat interface is built into n8n with no third-party chat platform required\n✅ **Token-efficient responses** — Answers are capped at 400 tokens and 150 words, keeping GPT costs predictable even at high chat volume\n\n---\n\n## Customisation Options\n\n**Expand the knowledge base to other topics** — In node **2. Set — Config Values**, edit the `botPersona` field to change the bot's scope from SEO-only to any topic your team needs (e.g. HR policies, product FAQs, onboarding guides) — then populate your sheet accordingly.\n\n**Increase answer length for complex topics** — In node **6. OpenAI — GPT-4o-mini Model**, raise `maxTokens` from 400 to 700 and change the 150-word limit in the prompt inside node **5. AI Agent — SEO Consultant** to allow longer, more detailed answers for technical subjects.\n\n**Use two separate Google Sheets** — If you want your knowledge base and chat log in different files, paste different Sheet IDs into `knowledgeBaseSheetId` and `logSheetId` in node **2. Set — Config Values** — the workflow handles both independently.\n\n**Add a Slack notification for unanswered questions** — After node **9. Google Sheets — Log Chat**, add a Slack node that checks if the bot answer contains the fallback phrase and posts an alert to a `#kb-gaps` channel so your team knows which topics to add next.\n\n**Track question frequency in sheets** — Add a Google Sheets step after logging that searches the Chat Log for the same question and increments a count in a separate Frequency tab — helping you prioritize which knowledge base gaps to fill first.\n\n---\n\n## Troubleshooting\n\n**Chat not responding after activation:**\n- Make sure the workflow is toggled to Active — inactive workflows do not respond to chat messages\n- Click on node **1. Chat Message Received** and confirm the Chat URL is visible — copy it fresh after activating\n- Send a test message and check the n8n execution log for which step failed\n\n**OpenAI credential not working:**\n- Confirm the API key is connected in node **6. OpenAI — GPT-4o-mini Model** specifically\n- Check that your OpenAI account has available credits — a depleted account silently fails\n- Verify the key has access to gpt-4o-mini — some restricted keys block specific models\n\n**Knowledge base returning empty or wrong answers:**\n- Open node **3. Google Sheets — Read Knowledge Base** and confirm the Google Sheets OAuth2 credential is connected\n- Check that `knowledgeBaseSheetId` in node **2. Set — Config Values** exactly matches the ID in your Google Sheet URL\n- Confirm the tab is named **SEO FAQ** exactly — spelling and capitalization must match `knowledgeBaseSheetName`\n\n**Chat Log not saving rows:**\n- Open node **9. Google Sheets — Log Chat** and confirm the Google Sheets OAuth2 credential is connected (this is a separate connection from the read step)\n- Check that `logSheetId` in node **2. Set — Config Values** is correct and the tab is named **Chat Log** exactly\n- Confirm your Chat Log sheet has the four column headers in row 1: `Session ID`, `Timestamp`, `User Question`, `Bot Answer`\n\n**Bot answering from outside the knowledge base:**\n- The prompt in node **5. AI Agent — SEO Consultant** explicitly restricts answers to the knowledge base — if the bot strays, check that the full prompt text is intact and has not been accidentally edited\n- Lower the temperature in node **6. OpenAI — GPT-4o-mini Model** from 0.3 to 0.1 for stricter, more literal responses\n\n---\n\n## Support\n\nNeed help setting this up or want a custom version built for your team or agency?\n\n📧 Email:[info@incrementors.com](info@incrementors.com)\n🌐 Website: [https://www.incrementors.com/](https://www.incrementors.com/)","workflow":{"meta":{"instanceId":"bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2"},"nodes":[{"id":"f24de7e0-34db-431d-9128-86f1c33e792a","name":"Overview","type":"n8n-nodes-base.stickyNote","position":[-2160,-224],"parameters":{"width":508,"height":1052,"content":"## SEO Knowledge Base Chatbot — Google Sheets + GPT-4o-mini\n\nFor SEO agencies, consultants, and marketing teams who want a branded AI chatbot that answers client or team questions using only your own approved content. Add Q&A pairs to a Google Sheet. The chatbot reads the full knowledge base on every question, answers strictly from those rows, and gives an honest fallback if the answer is not covered. Every exchange is logged to a second sheet tab for analytics and knowledge base improvement. Conversation memory keeps context across follow-up questions in the same session.\n\n## How it works\n- **1. Chat Trigger — Receive User Question** creates a public n8n Chat interface and receives each user message\n- **2. Set — Config Values** stores both Sheet IDs, tab names, company name, and bot persona\n- **3. Google Sheets — Read Knowledge Base** reads all rows from the SEO FAQ sheet\n- **4. Code — Build Knowledge Base Text** formats all Q&A rows into a structured text block and pulls the user message\n- **5. AI Agent — SEO Consultant** answers strictly from the knowledge base using GPT-4o-mini with conversation memory\n- **8. Set — Prepare Log Fields** assembles the Q&A exchange for logging and response\n- **9. Google Sheets — Log Chat** appends every exchange to the Chat Log tab\n- **10. Set — Return Answer to Chat** sends the bot reply back to the chat interface\n\n## Set up steps\n1. In **2. Set — Config Values** — replace knowledgeBaseSheetId, knowledgeBaseSheetName, logSheetId, logSheetName, companyName, and botPersona with your values\n2. In **3. Google Sheets — Read Knowledge Base** — connect your Google Sheets OAuth2 credential\n3. In **6. OpenAI — GPT-4o-mini Model** — connect your OpenAI credential\n4. In **9. Google Sheets — Log Chat** — connect your Google Sheets OAuth2 credential\n5. Create your knowledge base sheet with tab SEO FAQ and columns: Question, Answer, Category, Last Updated\n6. Create a Chat Log tab with columns: Session ID, Timestamp, User Question, Bot Answer\n7. Activate the workflow and copy the Chat URL from node 1"},"typeVersion":1},{"id":"7af37a53-acca-430b-bec0-d513c2494fc9","name":"Section — Chat Input and Config","type":"n8n-nodes-base.stickyNote","position":[-1600,16],"parameters":{"color":5,"width":596,"height":388,"content":"## Chat Input and Config\nThe Chat Trigger creates a public chat interface. Config stores both Sheet IDs, tab names, company name, bot persona, and a session ID generated per conversation."},"typeVersion":1},{"id":"b304c765-2415-438e-8ce2-6159fcaec764","name":"Section — Knowledge Base Loading","type":"n8n-nodes-base.stickyNote","position":[-976,16],"parameters":{"color":6,"width":468,"height":388,"content":"## Knowledge Base Loading\nReads all Q&A rows from the Google Sheets SEO FAQ tab. Formats them into a numbered Q&A text block. Also pulls the user message from the Chat Trigger for passing to the AI."},"typeVersion":1},{"id":"730658bc-c296-4838-8db7-2694b346a53c","name":"Section — AI Answer Generation","type":"n8n-nodes-base.stickyNote","position":[-400,-32],"parameters":{"color":6,"width":384,"height":756,"content":"## AI Answer Generation\nGPT-4o-mini answers strictly from the injected knowledge base. If the question is not covered, it returns an honest fallback message. Conversation memory keeps context for follow-up questions in the same session."},"typeVersion":1},{"id":"824b09b2-fc33-4f3e-b248-b8fb52a103c9","name":"Section — Logging and Chat Response","type":"n8n-nodes-base.stickyNote","position":[96,-96],"parameters":{"color":4,"width":516,"height":676,"content":"## Logging and Chat Response\nEvery Q&A exchange is logged to the Chat Log sheet for analytics and KB improvement. The bot answer is also returned to the chat interface simultaneously."},"typeVersion":1},{"id":"cc0af5e9-009b-44bc-96f9-7a6102394bf8","name":"2. Set — Config Values","type":"n8n-nodes-base.set","position":[-1168,192],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cfg-001","name":"knowledgeBaseSheetId","type":"string","value":"YOUR_KNOWLEDGE_BASE_SHEET_ID"},{"id":"cfg-002","name":"knowledgeBaseSheetName","type":"string","value":"SEO FAQ"},{"id":"cfg-003","name":"logSheetId","type":"string","value":"YOUR_CHAT_LOG_SHEET_ID"},{"id":"cfg-004","name":"logSheetName","type":"string","value":"Chat Log"},{"id":"cfg-005","name":"companyName","type":"string","value":"YOUR COMPANY NAME"},{"id":"cfg-006","name":"botPersona","type":"string","value":"You are a professional SEO consultant at YOUR COMPANY NAME. You only answer questions about SEO, digital marketing, and website optimization."},{"id":"cfg-007","name":"sessionId","type":"string","value":"={{ $now.toMillis().toString() }}"}]}},"typeVersion":3.4},{"id":"7aff16e6-e2b7-4561-84ba-a8b953582945","name":"3. Google Sheets — Read Knowledge Base","type":"n8n-nodes-base.googleSheets","position":[-912,192],"parameters":{"operation":"readOrSearch","documentId":{"__rl":true,"mode":"id","value":"={{ $json.knowledgeBaseSheetId }}"}},"typeVersion":4.5},{"id":"4019ab32-c7a8-480b-b5b5-502f1637a7ff","name":"4. Code — Build Knowledge Base Text","type":"n8n-nodes-base.code","position":[-672,192],"parameters":{"jsCode":"// Combine all knowledge base rows into a single readable text block\nconst kbRows = $input.all();\nconst config = $('2. Set — Config Values').item.json;\nconst userMessage = $('1. Chat Message Received').item.json.chatInput || '';\n\nif (!kbRows || kbRows.length === 0) {\n  return [{\n    json: {\n      knowledgeBase: 'Knowledge base is empty. Please add Q&A rows to the SEO FAQ sheet.',\n      userMessage,\n      sessionId: config.sessionId,\n      botPersona: config.botPersona,\n      companyName: config.companyName,\n      logSheetId: config.logSheetId,\n      logSheetName: config.logSheetName,\n      timestamp: new Date().toISOString().replace('T', ' ').substring(0, 16)\n    }\n  }];\n}\n\n// Build knowledge base text from all rows\nlet kbText = '';\nkbRows.forEach((row, index) => {\n  const q = row.json['Question'] || row.json['question'] || '';\n  const a = row.json['Answer'] || row.json['answer'] || '';\n  const cat = row.json['Category'] || row.json['category'] || 'General';\n  if (q && a) {\n    kbText += `Q${index + 1} [${cat}]: ${q}\\nA${index + 1}: ${a}\\n\\n`;\n  }\n});\n\nreturn [{\n  json: {\n    knowledgeBase: kbText || 'No valid Q&A pairs found in knowledge base.',\n    userMessage,\n    sessionId: config.sessionId,\n    botPersona: config.botPersona,\n    companyName: config.companyName,\n    logSheetId: config.logSheetId,\n    logSheetName: config.logSheetName,\n    timestamp: new Date().toISOString().replace('T', ' ').substring(0, 16)\n  }\n}];"},"typeVersion":2},{"id":"2ac7f02c-ca9a-4536-aa5f-7e2ee62bbd6d","name":"5. AI Agent — SEO Consultant","type":"@n8n/n8n-nodes-langchain.agent","position":[-320,192],"parameters":{"text":"={{ $json.botPersona }}\n\nYou have access to the following SEO knowledge base. Use ONLY this knowledge base to answer questions. Do not make up answers. Do not use outside knowledge.\n\nKNOWLEDGE BASE:\n{{ $json.knowledgeBase }}\n\nCURRENT QUESTION FROM USER:\n{{ $json.userMessage }}\n\nINSTRUCTIONS:\n1. Search the knowledge base carefully for the answer to this question.\n2. If you find a relevant answer, respond clearly and helpfully. You can rephrase and expand the answer in your own words.\n3. If the question is not covered in the knowledge base, say exactly: I do not have information about this topic in my current knowledge base. Please contact {{ $json.companyName }} support directly for help with this.\n4. Keep answers concise — under 150 words.\n5. Plain text only. No markdown. No bullet symbols. No asterisks.\n6. Be friendly and professional.","options":{},"promptType":"define"},"typeVersion":1.7},{"id":"6a34786c-4f41-4610-9fff-56ffacb0cbfc","name":"6. OpenAI — GPT-4o-mini Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-320,400],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{"maxTokens":400,"temperature":0.3}},"typeVersion":1.2},{"id":"063d7045-435b-4e9c-af65-276a988b04f3","name":"7. Memory — Conversation Buffer","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[-224,544],"parameters":{},"typeVersion":1.3},{"id":"b0be553e-6db2-455c-883c-c9ebdac3a3ef","name":"8. Set — Prepare Log Fields","type":"n8n-nodes-base.set","position":[144,192],"parameters":{"options":{},"assignments":{"assignments":[{"id":"log-001","name":"botAnswer","type":"string","value":"={{ $json.output || 'No response generated.' }}"},{"id":"log-002","name":"userQuestion","type":"string","value":"={{ $('4. Code — Build Knowledge Base Text').item.json.userMessage }}"},{"id":"log-003","name":"sessionId","type":"string","value":"={{ $('4. Code — Build Knowledge Base Text').item.json.sessionId }}"},{"id":"log-004","name":"timestamp","type":"string","value":"={{ $('4. Code — Build Knowledge Base Text').item.json.timestamp }}"},{"id":"log-005","name":"logSheetId","type":"string","value":"={{ $('4. Code — Build Knowledge Base Text').item.json.logSheetId }}"},{"id":"log-006","name":"logSheetName","type":"string","value":"={{ $('4. Code — Build Knowledge Base Text').item.json.logSheetName }}"}]}},"typeVersion":3.4},{"id":"85d58dcb-4f3c-45dc-9f8e-bca4cc334dc9","name":"9. Google Sheets — Log Chat","type":"n8n-nodes-base.googleSheets","position":[368,32],"parameters":{"columns":{"value":{"Timestamp":"={{ $json.timestamp }}","Bot Answer":"={{ $json.botAnswer }}","Session ID":"={{ $json.sessionId }}","User Question":"={{ $json.userQuestion }}"},"mappingMode":"defineBelow"},"options":{"cellFormat":"USER_ENTERED"},"operation":"append","sheetName":{"__rl":true,"mode":"name","value":"={{ $json.logSheetName }}"},"documentId":{"__rl":true,"mode":"id","value":"={{ $json.logSheetId }}"}},"typeVersion":4.5},{"id":"84a83ea2-6893-4cd6-b4d8-816d360bd8b2","name":"10. Set — Return Answer to Chat","type":"n8n-nodes-base.set","position":[368,352],"parameters":{"options":{},"assignments":{"assignments":[{"id":"resp-001","name":"response","type":"string","value":"={{ $('8. Set — Prepare Log Fields').item.json.botAnswer }}"}]}},"typeVersion":3.4},{"id":"8d51d7d3-b35f-468d-a5f7-0c218c822b82","name":"1. Chat Message Received","type":"@n8n/n8n-nodes-langchain.chatTrigger","notes":"CHAT TRIGGER — No credentials needed.\n\nThis creates an n8n Chat interface at a public URL.\n\nHOW TO GET THE CHAT URL:\n1. Activate the workflow\n2. Click on this node\n3. Copy the Chat URL shown\n4. Share this URL with your team or embed it\n\nCustomize the chat UI in parameters:\n- title → Chat window heading\n- subtitle → Description shown under title\n- inputPlaceholder → Hint text in the input box\n\nThe chat supports multi-turn conversation\n(user can ask follow-up questions naturally)","position":[-1520,192],"webhookId":"seo-chatbot-kb-001","parameters":{"options":{}},"typeVersion":1.1}],"pinData":{},"connections":{"1. Chat Message Received":{"main":[[{"node":"2. Set — Config Values","type":"main","index":0}]]},"2. Set — Config Values":{"main":[[{"node":"3. Google Sheets — Read Knowledge Base","type":"main","index":0}]]},"8. Set — Prepare Log Fields":{"main":[[{"node":"9. Google Sheets — Log Chat","type":"main","index":0},{"node":"10. Set — Return Answer to Chat","type":"main","index":0}]]},"5. AI Agent — SEO Consultant":{"main":[[{"node":"8. Set — Prepare Log Fields","type":"main","index":0}]]},"6. OpenAI — GPT-4o-mini Model":{"ai_languageModel":[[{"node":"5. AI Agent — SEO Consultant","type":"ai_languageModel","index":0}]]},"7. Memory — Conversation Buffer":{"ai_memory":[[{"node":"5. AI Agent — SEO Consultant","type":"ai_memory","index":0}]]},"4. Code — Build Knowledge Base Text":{"main":[[{"node":"5. AI Agent — SEO Consultant","type":"main","index":0}]]},"3. Google Sheets — Read Knowledge Base":{"main":[[{"node":"4. Code — Build Knowledge Base Text","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":15,"nodeTypes":{"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.googleSheets":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.chatTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Incrementors","username":"incrementors","bio":"","verified":true,"links":["https://www.incrementors.com/"],"avatar":"https://gravatar.com/avatar/e09b4b6a8c5a00f886a9eedf3be23a4af5a50cc216cd6b2aee2a12c2dfba99dd?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":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":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":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1163,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.memoryBufferWindow","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Memory"],"Memory":["For beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Memory"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Memory","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1247,"icon":"fa:comments","name":"@n8n/n8n-nodes-langchain.chatTrigger","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/"}]},"categories":["Core Nodes","Langchain"]}},"group":"[\"trigger\"]","defaults":{"name":"When chat message received"},"iconData":{"icon":"comments","type":"icon"},"displayName":"Chat Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":42,"name":"Internal Wiki"},{"id":48,"name":"AI RAG"}],"image":[]}}