{"workflow":{"id":13959,"name":"Build a Google Drive internal knowledge base with OpenAI and Pinecone","views":212,"recentViews":2,"totalViews":212,"createdAt":"2026-03-09T09:38:06.155Z","description":"## 📊 Description\nEvery company has documents sitting in Google Drive that nobody reads. HR policies, sales playbooks, product FAQs, financial guidelines — all written once, never found again. This workflow turns all of those documents into a live, searchable AI knowledge base that any team member can query instantly via a simple API call.\nAsk it anything. It finds the right document, pulls the exact relevant section, and answers in plain english — with the source cited so you always know where the answer came from. No hallucinations, no guessing, no manual searching.\nBuilt for founders, ops teams, and automation agencies who want company knowledge to be instantly accessible without building a custom RAG system from scratch.\n\n## What This Workflow Does\n📂 Reads all Google Docs from your Knowledge Base folder in Google Drive automatically\n✂️ Splits each document into semantic chunks with overlap for better context retrieval\n🤖 Converts every chunk into vector embeddings using OpenAI text-embedding-3-small\n📌 Stores all embeddings in Pinecone with document metadata for fast semantic search\n🌐 Accepts any question via webhook — from Slack, a form, or any internal tool\n🔍 Searches Pinecone for the 5 most semantically relevant chunks to the question\n🧠 Sends retrieved context to GPT-4o which answers using only what's in your documents\n📝 Logs every question, answer, source, and confidence score to Google Sheets\n🔄 Every Sunday checks Drive for new or updated documents and re-ingests them automatically\n📧 Sends a weekly knowledge base digest showing what's current, new, or updated\n\n## Key Benefits\n✅ Zero hallucinations — GPT-4o only answers from your actual documents\n✅ Always cites the source document so answers are verifiable\n✅ Semantic search finds relevant content even if exact words don't match\n✅ Knowledge base stays fresh automatically every Sunday\n✅ Every Q&A logged to Google Sheets for full audit trail\n✅ Works with any Google Docs — just drop them in the folder and run SW1\n\n## How It Works\nThe workflow runs across 3 sub-workflows — one for ingestion, one for answering, one for maintenance.\nSW1 — Document Ingestion Pipeline (Run manually) You point it at your Google Drive Knowledge Base folder. It downloads every Google Doc as plain text, splits each one into 500-character chunks with 100-character overlap so context is preserved across boundaries. Each chunk gets converted into a 1536-dimension vector embedding using OpenAI's text-embedding-3-small model and stored in Pinecone with the document name as metadata. Every ingested document is logged to your Document Registry sheet with the ingestion date. Run this once when setting up, then SW3 handles updates automatically.\nSW2 — Question & Answer Agent (Always active via webhook) Someone sends a POST request with a question and their email. The question gets converted to an embedding using the same model used during ingestion. Pinecone finds the 5 most semantically similar chunks — ranked by cosine similarity score. Chunks scoring below 0.3 are filtered out to avoid irrelevant results. The remaining context gets sent to GPT-4o with strict instructions to only answer from what's provided. If the answer isn't in the knowledge base, it says so clearly instead of making something up. The response includes the answer, source document, confidence level, and whether it was found in the knowledge base. Everything is logged to your Q&A Log sheet.\nSW3 — Knowledge Base Manager (Every Sunday 11AM) Pulls your current Drive folder contents and compares every document ID against your Document Registry. New documents get flagged for ingestion. Existing documents get checked — if the file was modified after the last ingestion date, it gets re-ingested automatically. You get a weekly digest email showing what's current, what was updated, and what's new. No manual monitoring needed.\n\n## Features\n- Manual ingestion trigger for initial setup\n- Google Drive folder monitoring for new and updated docs\n- Recursive character text splitting with configurable chunk size and overlap\n- OpenAI text-embedding-3-small for high quality 1536-dimension embeddings\n- Pinecone vector database for fast cosine similarity search\n- Relevance score filtering — only chunks above 0.3 score are used\n- GPT-4o grounded answering with strict no-hallucination prompt\n- Source citation in every answer\n- Confidence scoring — high, medium, or low per response\n- Full Q&A audit log in Google Sheets\n- Weekly automated document registry sync\n- Weekly KB digest email with full status report\n- Modular 3-stage architecture — easy to extend with Slack or Teams integration\n\n## Requirements\n- OpenAI API key (text-embedding-3-small + GPT-4o access)\n- Pinecone account — free tier works (index: dimensions 1536, metric cosine)\n- Google Drive OAuth2 connection\n- Google Sheets OAuth2 connection\n- Gmail OAuth2 connection\n- A Google Drive folder with your company documents as Google Docs\n- A configured Google Sheet with 2 sheets: Q&A Log and Document Registry\n\n## Setup Steps\n- Create a Pinecone account at pinecone.io — free tier is enough\n- Create a Pinecone index with dimensions 1536 and metric cosine\n- Create a Google Drive folder called \"Knowledge Base\"\n- Add your company documents as Google Docs inside that folder\n- Copy the Google Sheet template and grab your Sheet ID\n- Add all credentials — Pinecone, OpenAI, Google Drive, Google Sheets, Gmail\n- Paste your Knowledge Base folder ID into both Google Drive nodes\n- Paste your Sheet ID into all Google Sheets nodes\n- Test by sending a POST request to the webhook with a question from your docs\n\n## Target Audience\n🧠 Founders who want instant answers from company documents without digging through Drive\n📋 Ops and HR teams tired of answering the same internal questions repeatedly\n💼 Sales teams who need instant access to product, pricing, and competitor information\n🤖 Automation agencies building internal AI tools and knowledge systems for clients\n","workflow":{"id":"dicgY5oenP5i3xT9","meta":{"instanceId":"8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177","templateCredsSetupCompleted":true},"name":"Turn Your Google Drive into an AI-Powered Internal Knowledge Base with Semantic Search","tags":[],"nodes":[{"id":"4e498901-71b0-4531-a13f-73cbc515bf3e","name":"Log to Document Registry","type":"n8n-nodes-base.googleSheets","position":[816,-96],"parameters":{"columns":{"value":{"doc_id":"={{ $('Download Doc as Text').item.json.id }}","status":"ingested","doc_name":"={{ $json.metadata.doc_name }}","last_ingested":"={{ new Date().toISOString().split('T')[0] }}"},"schema":[{"id":"doc_id","type":"string","display":true,"required":false,"displayName":"doc_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"doc_name","type":"string","display":true,"required":false,"displayName":"doc_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"last_ingested","type":"string","display":true,"required":false,"displayName":"last_ingested","defaultMatch":false,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":1678464927,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit#gid=1678464927","cachedResultName":"Document Registry"},"documentId":{"__rl":true,"mode":"list","value":"1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit?usp=drivesdk","cachedResultName":"Internal Knowledge Brain automation"}},"credentials":{"googleSheetsOAuth2Api":{"id":"kpPEOLCGn963qpoh","name":"automations@techdome.ai"}},"typeVersion":4.7},{"id":"ab20bb84-ff23-4b27-bcfa-313745cec10c","name":"Notify Ingestion Complete","type":"n8n-nodes-base.gmail","position":[1040,-96],"webhookId":"0bd6802d-4b85-4500-b567-9892bff97a05","parameters":{"sendTo":"your_email_id","message":"=Knowledge Base Ingestion Complete\n\nDocuments successfully stored in Pinecone.\nDate: {{ new Date().toISOString().split('T')[0] }}\n\nCheck your Pinecone dashboard to verify vectors.","options":{},"subject":"✅ Knowledge Base Updated","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"gEIaWCTvGfYjMSb3","name":"Gmail credentials"}},"executeOnce":true,"typeVersion":2.2},{"id":"081355ec-701b-4cf1-b118-af1545180a59","name":"Read Document Registry","type":"n8n-nodes-base.googleSheets","position":[160,1200],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":1678464927,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit#gid=1678464927","cachedResultName":"Document Registry"},"documentId":{"__rl":true,"mode":"list","value":"1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit?usp=drivesdk","cachedResultName":"Internal Knowledge Brain automation"}},"credentials":{"googleSheetsOAuth2Api":{"id":"kpPEOLCGn963qpoh","name":"automations@techdome.ai"}},"executeOnce":true,"typeVersion":4.7},{"id":"1f300b91-98f4-4c93-a683-a28ad57d6dac","name":"Update Document Registry","type":"n8n-nodes-base.googleSheets","position":[1776,1104],"parameters":{"columns":{"value":{"doc_id":"={{ $('Prepare Docs for Re-ingestion').item.json.id }}","status":"={{ $('Prepare Docs for Re-ingestion').item.json.status }}","doc_name":"={{ $('Prepare Docs for Re-ingestion').item.json.name }}","last_ingested":"={{ new Date().toISOString().split('T')[0] }}"},"schema":[{"id":"doc_id","type":"string","display":true,"required":false,"displayName":"doc_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"doc_name","type":"string","display":true,"required":false,"displayName":"doc_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"last_ingested","type":"string","display":true,"required":false,"displayName":"last_ingested","defaultMatch":false,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":1678464927,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit#gid=1678464927","cachedResultName":"Document Registry"},"documentId":{"__rl":true,"mode":"list","value":"1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit?usp=drivesdk","cachedResultName":"Internal Knowledge Brain automation"}},"credentials":{"googleSheetsOAuth2Api":{"id":"kpPEOLCGn963qpoh","name":"automations@techdome.ai"}},"typeVersion":4.7},{"id":"2f8e444f-82d7-4d13-9431-bd1ea81980bf","name":"Manual Ingestion Trigger","type":"n8n-nodes-base.manualTrigger","position":[-240,-96],"parameters":{},"typeVersion":1},{"id":"d2e30c18-88dc-40e6-a6bf-464d7a79662d","name":"List Knowledge Base Docs","type":"n8n-nodes-base.googleDrive","position":[-16,-96],"parameters":{"filter":{"folderId":{"__rl":true,"mode":"list","value":"1I2ixpzpmSKe6GDXVAqDAWiMNBVDygiI8","cachedResultUrl":"https://drive.google.com/drive/folders/1I2ixpzpmSKe6GDXVAqDAWiMNBVDygiI8","cachedResultName":"Knowledge Base"}},"options":{},"resource":"fileFolder"},"credentials":{"googleDriveOAuth2Api":{"id":"E7nEqUL27GUx1xHa","name":"Techdome Account"}},"typeVersion":3},{"id":"d4da2a9e-078a-4637-b445-e6fd1fc375ed","name":"Download Doc as Text","type":"n8n-nodes-base.googleDrive","position":[192,-96],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{"googleFileConversion":{"conversion":{"docsToFormat":"text/plain"}}},"operation":"download"},"credentials":{"googleDriveOAuth2Api":{"id":"E7nEqUL27GUx1xHa","name":"Techdome Account"}},"typeVersion":3},{"id":"f3ec1400-d62f-4c9e-a192-24c66c6efc86","name":"Store Embeddings in Pinecone","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[480,-96],"parameters":{"mode":"insert","options":{"pineconeNamespace":"Test Team"},"pineconeIndex":{"__rl":true,"mode":"list","value":"meeting-sentiment-index"}},"credentials":{"pineconeApi":{"id":"AYsRvXPdrinjeW4A","name":"PineconeApi account 2"}},"typeVersion":1.3},{"id":"a61f500f-fa9a-4a19-b701-c00a9ba4d67d","name":"Load Document Data","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[656,128],"parameters":{"options":{"metadata":{"metadataValues":[{"name":"doc_name","value":"={{ $('Download Doc as Text').item.json.name }}"}]}},"dataType":"binary","textSplittingMode":"custom"},"typeVersion":1.1},{"id":"aab901d9-7927-4212-9aa4-db8e670dc326","name":"Split Into Chunks","type":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","position":[656,288],"parameters":{"options":{},"chunkSize":500,"chunkOverlap":100},"typeVersion":1},{"id":"d18aa2c3-9339-4e18-b0ed-12d849ab12d4","name":"Generate Embeddings","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[448,144],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"5Kzt6hGSZ1JHZqWN","name":"OpenAi account 2"}},"typeVersion":1.2},{"id":"7662ee08-55b8-4136-b12b-ebce56d1c8b0","name":"Question Webhook","type":"n8n-nodes-base.webhook","position":[-240,592],"webhookId":"cebc70cd-bca7-4695-a592-0ab9ef90bb40","parameters":{"path":"knowledge-brain","options":{},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":2.1},{"id":"3fdda52b-72a1-4bbb-9fd1-fe0e2ead8ffb","name":"Extract Question & User","type":"n8n-nodes-base.code","position":[-32,592],"parameters":{"jsCode":"return [{\n  json: {\n    question: items[0].json.body.question,\n    asked_by: items[0].json.body.asked_by || 'anonymous',\n    timestamp: new Date().toISOString()\n  }\n}];"},"typeVersion":2},{"id":"20b8ac27-bb21-48c4-970e-47c901b48928","name":"Search Knowledge Base","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[240,592],"parameters":{"mode":"load","topK":5,"prompt":"={{ $json.question }}","options":{"pineconeNamespace":"Test Team"},"pineconeIndex":{"__rl":true,"mode":"list","value":"meeting-sentiment-index"}},"credentials":{"pineconeApi":{"id":"AYsRvXPdrinjeW4A","name":"PineconeApi account 2"}},"typeVersion":1.3},{"id":"c588c289-f8be-4d81-9232-6f74b2ca0a3c","name":"Generate Query Embedding","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[208,832],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"5Kzt6hGSZ1JHZqWN","name":"OpenAi account 2"}},"typeVersion":1.2},{"id":"9666c6f5-8111-4358-90d9-ad2404efa47f","name":"Build RAG Prompt","type":"n8n-nodes-base.code","position":[592,592],"parameters":{"jsCode":"const question = $('Extract Question & User').first().json.question;\nconst asked_by = $('Extract Question & User').first().json.asked_by;\nconst docs = items;\n\n// Only use relevant chunks above score threshold\nconst relevantDocs = docs.filter(doc => doc.json.score > 0.3);\n\nlet context = '';\nconst sources = [];\n\nrelevantDocs.forEach((doc, index) => {\n  const text = doc.json.document?.pageContent || '';\n  const docName = doc.json.document?.metadata?.doc_name || 'Unknown';\n\n  if (text) {\n    context += `\\n[Source ${index + 1}: ${docName}]\\n${text}\\n`;\n    if (!sources.includes(docName)) sources.push(docName);\n  }\n});\n\n// If no relevant context found\nif (context.trim() === '') {\n  context = 'No relevant documents found in the knowledge base.';\n}\n\nconst prompt = `You are an internal company knowledge assistant. Answer the employee's question using ONLY the context provided below. \n\nIf the answer is not found in the context, say exactly: \"I don't have that information in the knowledge base. Please check with the relevant team.\"\n\nNever make up information. Always cite which document your answer comes from.\n\nCONTEXT:\n${context}\n\nQUESTION: ${question}\n\nRespond in this JSON format:\n{\n  \"answer\": \"string\",\n  \"sources\": [\"doc name 1\", \"doc name 2\"],\n  \"confidence\": \"high | medium | low\",\n  \"found_in_kb\": true or false\n}`;\n\nreturn [{\n  json: {\n    prompt,\n    question,\n    asked_by,\n    sources: sources.join(', ')\n  }\n}];"},"typeVersion":2},{"id":"30135c15-c7e1-476d-b44f-c1d265f6e508","name":"Answer Generator","type":"@n8n/n8n-nodes-langchain.openAi","position":[800,592],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4o","cachedResultName":"GPT-4O"},"options":{},"responses":{"values":[{"content":"={{ $json.prompt }}"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"5Kzt6hGSZ1JHZqWN","name":"OpenAi account 2"}},"typeVersion":2.1},{"id":"ff012edb-c097-49a4-9463-bbb1e4bafa0d","name":"Parse AI Answer","type":"n8n-nodes-base.code","position":[1152,592],"parameters":{"jsCode":"const response = items[0].json.output[0].content[0].text;\nconst cleaned = response.replace(/```json|```/g, '').trim();\nconst parsed = JSON.parse(cleaned);\n\nconst question = $('Extract Question & User').first().json.question;\nconst asked_by = $('Extract Question & User').first().json.asked_by;\n\nreturn [{\n  json: {\n    question,\n    asked_by,\n    answer: parsed.answer,\n    sources: parsed.sources.join(', '),\n    confidence: parsed.confidence,\n    found_in_kb: parsed.found_in_kb,\n    timestamp: new Date().toISOString()\n  }\n}];"},"typeVersion":2},{"id":"d71d33a2-379d-4413-a507-d811eadef9a0","name":"Log Q&A to Sheets","type":"n8n-nodes-base.googleSheets","position":[1376,592],"parameters":{"columns":{"value":{"date":"={{ $json.timestamp }}","answer":"={{ $json.answer }}","sources":"={{ $json.sources }}","asked_by":"={{ $json.asked_by }}","question":"={{ $json.question }}","confidence":"={{ $json.confidence }}","found_in_kb":"={{ $json.found_in_kb }}"},"schema":[{"id":"date","type":"string","display":true,"required":false,"displayName":"date","defaultMatch":false,"canBeUsedToMatch":true},{"id":"question","type":"string","display":true,"required":false,"displayName":"question","defaultMatch":false,"canBeUsedToMatch":true},{"id":"answer","type":"string","display":true,"required":false,"displayName":"answer","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sources","type":"string","display":true,"required":false,"displayName":"sources","defaultMatch":false,"canBeUsedToMatch":true},{"id":"asked_by","type":"string","display":true,"removed":false,"required":false,"displayName":"asked_by","defaultMatch":false,"canBeUsedToMatch":true},{"id":"confidence","type":"string","display":true,"removed":false,"required":false,"displayName":"confidence","defaultMatch":false,"canBeUsedToMatch":true},{"id":"found_in_kb","type":"string","display":true,"removed":false,"required":false,"displayName":"found_in_kb","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/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit#gid=0","cachedResultName":"Q&A Log"},"documentId":{"__rl":true,"mode":"list","value":"1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hRkINd-uSw1QbagKca0_Xs2A5KdRloHf9yxPvQb6woY/edit?usp=drivesdk","cachedResultName":"Internal Knowledge Brain automation"}},"credentials":{"googleSheetsOAuth2Api":{"id":"kpPEOLCGn963qpoh","name":"automations@techdome.ai"}},"typeVersion":4.7},{"id":"d2bf69f8-c574-4d24-8131-3089614ab464","name":"Send Answer Response","type":"n8n-nodes-base.respondToWebhook","position":[1584,592],"parameters":{"options":{},"respondWith":"json","responseBody":"={\n  \"question\": \"{{ $json.question }}\",\n  \"answer\": \"{{ $json.answer }}\",\n  \"sources\": \"{{ $json.sources }}\",\n  \"confidence\": \"{{ $json.confidence }}\",\n  \"asked_by\": \"{{ $json.asked_by }}\"\n}"},"executeOnce":true,"typeVersion":1.5},{"id":"e762c285-11e8-4094-bb4a-6787ebd9c943","name":"Weekly Sunday 11AM Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-304,1200],"parameters":{"rule":{"interval":[{"field":"weeks","triggerAtHour":11}]}},"typeVersion":1.3},{"id":"561dc99f-904c-4cff-885b-8f00be3c5a57","name":"List Knowledge Base Docs1","type":"n8n-nodes-base.googleDrive","position":[-80,1200],"parameters":{"filter":{"folderId":{"__rl":true,"mode":"list","value":"1I2ixpzpmSKe6GDXVAqDAWiMNBVDygiI8","cachedResultUrl":"https://drive.google.com/drive/folders/1I2ixpzpmSKe6GDXVAqDAWiMNBVDygiI8","cachedResultName":"Knowledge Base"}},"options":{},"resource":"fileFolder"},"credentials":{"googleDriveOAuth2Api":{"id":"E7nEqUL27GUx1xHa","name":"Techdome Account"}},"typeVersion":3},{"id":"1e1e6217-3c3f-4055-abf4-a7119e873641","name":"Detect New or Updated Docs","type":"n8n-nodes-base.code","position":[384,1200],"parameters":{"jsCode":"const driveDocs = $('List Knowledge Base Docs1').all();\nconst registry = $('Read Document Registry').all();\n\n// Build registry lookup by doc_id\nconst registryMap = {};\nregistry.forEach(r => {\n  registryMap[r.json.doc_id] = r.json;\n});\n\nconst newDocs = [];\nconst existingDocs = [];\nconst allDocs = [];\n\ndriveDocs.forEach(doc => {\n  const docId = doc.json.id;\n  const docName = doc.json.name;\n  const modifiedTime = doc.json.modifiedTime || '';\n\n  const inRegistry = registryMap[docId];\n\n  if (!inRegistry) {\n    // Brand new document never ingested\n    newDocs.push({ docId, docName, status: 'new' });\n  } else {\n    // Check if modified after last ingestion\n    const lastIngested = new Date(inRegistry.last_ingested);\n    const lastModified = new Date(modifiedTime);\n    if (lastModified > lastIngested) {\n      newDocs.push({ docId, docName, status: 'updated' });\n    } else {\n      existingDocs.push({ docId, docName, status: 'current' });\n    }\n  }\n\n  allDocs.push({\n    docId,\n    docName,\n    status: registryMap[docId] ? 'current' : 'new'\n  });\n});\n\nreturn [{\n  json: {\n    new_or_updated: newDocs,\n    existing: existingDocs,\n    all_docs: allDocs,\n    total_docs: driveDocs.length,\n    new_count: newDocs.length,\n    existing_count: existingDocs.length,\n    needs_ingestion: newDocs.length > 0\n  }\n}];"},"typeVersion":2},{"id":"87b6e7f3-1d48-4bb9-af3b-297e5c64efdd","name":"IF New Docs Found","type":"n8n-nodes-base.if","position":[592,1200],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"e52d7fb4-130d-487a-904c-1a687a557211","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.needs_ingestion }}","rightValue":false}]}},"typeVersion":2.3},{"id":"f25316cc-8eb9-4446-9d6b-6737261b706e","name":"Prepare Docs for Re-ingestion","type":"n8n-nodes-base.code","position":[848,1104],"parameters":{"jsCode":"const newDocs = items[0].json.new_or_updated;\n\n// Return one item per new/updated doc for processing\nreturn newDocs.map(doc => ({\n  json: {\n    id: doc.docId,\n    name: doc.docName,\n    status: doc.status\n  }\n}));"},"typeVersion":2},{"id":"11af64f5-608e-4f83-9776-cda58253ea8a","name":"Download Updated Docs","type":"n8n-nodes-base.googleDrive","position":[1056,1104],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{"googleFileConversion":{"conversion":{"docsToFormat":"text/plain"}}},"operation":"download"},"credentials":{"googleDriveOAuth2Api":{"id":"E7nEqUL27GUx1xHa","name":"Techdome Account"}},"typeVersion":3},{"id":"954505bc-450b-41e1-9d88-be0dba2bebf5","name":"Re-ingest into Pinecone","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[1280,1104],"parameters":{"mode":"insert","options":{"pineconeNamespace":"Test Team"},"pineconeIndex":{"__rl":true,"mode":"list","value":"meeting-sentiment-index"}},"credentials":{"pineconeApi":{"id":"AYsRvXPdrinjeW4A","name":"PineconeApi account 2"}},"typeVersion":1.3},{"id":"57a5e123-b40f-4304-bf7d-41d3b9917871","name":"Load Document Data1","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[1456,1328],"parameters":{"options":{"metadata":{"metadataValues":[{"name":"doc_name","value":"={{ $('Prepare Docs for Re-ingestion').item.json.name }}"}]}},"dataType":"binary","textSplittingMode":"custom"},"typeVersion":1.1},{"id":"0ba757d1-dcfa-439a-9868-daca975ad6da","name":"Split Into Chunks1","type":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","position":[1456,1488],"parameters":{"options":{},"chunkSize":500,"chunkOverlap":100},"typeVersion":1},{"id":"5c0e34d0-51ed-4f05-8212-dde1270a7e90","name":"Generate Embeddings1","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[1248,1344],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"5Kzt6hGSZ1JHZqWN","name":"OpenAi account 2"}},"typeVersion":1.2},{"id":"a14a1e5b-51f6-4cc4-819f-c85c7264ec31","name":"Build KB Digest Email","type":"n8n-nodes-base.code","position":[1968,1104],"parameters":{"jsCode":"const data = $('Detect New or Updated Docs').first().json;\n\nlet email = `🧠 Knowledge Base Weekly Digest\\n`;\nemail += `Generated: ${new Date().toDateString()}\\n`;\nemail += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n`;\n\nemail += `📊 KNOWLEDGE BASE STATUS\\n\\n`;\nemail += `Total Documents: ${data.total_docs}\\n`;\nemail += `New or Updated This Week: ${data.new_count}\\n`;\nemail += `Already Current: ${data.existing_count}\\n\\n`;\n\nif (data.new_or_updated && data.new_or_updated.length > 0) {\n  email += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n`;\n  email += `🆕 NEW OR UPDATED DOCUMENTS\\n\\n`;\n  data.new_or_updated.forEach(doc => {\n    const emoji = doc.status === 'new' ? '✅ NEW' : '🔄 UPDATED';\n    email += `${emoji} — ${doc.docName}\\n`;\n  });\n  email += `\\nThese documents have been re-ingested into Pinecone.\\n\\n`;\n}\n\nif (data.existing && data.existing.length > 0) {\n  email += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n`;\n  email += `✅ CURRENT DOCUMENTS (No changes)\\n\\n`;\n  data.existing.forEach(doc => {\n    email += `• ${doc.docName}\\n`;\n  });\n  email += `\\n`;\n}\n\nemail += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n`;\nemail += `Knowledge Base is up to date and ready to answer questions.\\n`;\nemail += `Webhook: POST /webhook/knowledge-brain\\n\\n`;\nemail += `Generated by Internal Knowledge Brain`;\n\nreturn [{ json: { email_body: email, total_docs: data.total_docs, new_count: data.new_count } }];"},"typeVersion":2},{"id":"a576a867-f567-4198-bd7a-1e648781d14d","name":"Build KB Digest Email1","type":"n8n-nodes-base.code","position":[928,1664],"parameters":{"jsCode":"const data = $('Detect New or Updated Docs').first().json;\n\nlet email = `🧠 Knowledge Base Weekly Digest\\n`;\nemail += `Generated: ${new Date().toDateString()}\\n`;\nemail += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n`;\n\nemail += `📊 KNOWLEDGE BASE STATUS\\n\\n`;\nemail += `Total Documents: ${data.total_docs}\\n`;\nemail += `New or Updated This Week: ${data.new_count}\\n`;\nemail += `Already Current: ${data.existing_count}\\n\\n`;\n\nif (data.new_or_updated && data.new_or_updated.length > 0) {\n  email += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n`;\n  email += `🆕 NEW OR UPDATED DOCUMENTS\\n\\n`;\n  data.new_or_updated.forEach(doc => {\n    const emoji = doc.status === 'new' ? '✅ NEW' : '🔄 UPDATED';\n    email += `${emoji} — ${doc.docName}\\n`;\n  });\n  email += `\\nThese documents have been re-ingested into Pinecone.\\n\\n`;\n}\n\nif (data.existing && data.existing.length > 0) {\n  email += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n`;\n  email += `✅ CURRENT DOCUMENTS (No changes)\\n\\n`;\n  data.existing.forEach(doc => {\n    email += `• ${doc.docName}\\n`;\n  });\n  email += `\\n`;\n}\n\nemail += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n`;\nemail += `Knowledge Base is up to date and ready to answer questions.\\n`;\nemail += `Webhook: POST /webhook/knowledge-brain\\n\\n`;\nemail += `Generated by Internal Knowledge Brain`;\n\nreturn [{ json: { email_body: email, total_docs: data.total_docs, new_count: data.new_count } }];"},"typeVersion":2},{"id":"a24dbe19-e6e2-4ffa-8239-42c7ddc16e43","name":"Send Weekly KB Digest","type":"n8n-nodes-base.gmail","position":[2176,1104],"webhookId":"0bd6802d-4b85-4500-b567-9892bff97a05","parameters":{"sendTo":"your_email_id","message":"={{ $json.email_body }}","options":{},"subject":"=🧠 Weekly KB Digest — {{ $json.total_docs }} Docs | {{ $json.new_count }} Updated","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"gEIaWCTvGfYjMSb3","name":"Gmail credentials"}},"typeVersion":2.2},{"id":"c876e977-e549-4071-8813-ad3a5e8782d2","name":"Send Weekly KB Digest1","type":"n8n-nodes-base.gmail","position":[1136,1664],"webhookId":"0bd6802d-4b85-4500-b567-9892bff97a05","parameters":{"sendTo":"your_email_id","message":"={{ $json.email_body }}","options":{},"subject":"=🧠 Weekly KB Digest — {{ $json.total_docs }} Docs | {{ $json.new_count }} Updated","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"gEIaWCTvGfYjMSb3","name":"Gmail credentials"}},"typeVersion":2.2},{"id":"1b5f30c3-ef49-45f2-bbc6-584c88db4258","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-944,-832],"parameters":{"width":400,"height":720,"content":"## Workflow Overview\n\n\n\nStop answering the same company questions over and \nover. This workflow turns your Google Drive documents \ninto a searchable AI knowledge base. Ask it anything \nabout your company — HR policies, financials, sales \nprocess, product details — and it answers instantly \nwith the exact source it pulled from.\n\n### HOW IT WORKS\n\nSW1 ingests your Google Docs into Pinecone as vector \nembeddings. SW2 takes any question via webhook, finds \nthe most relevant chunks using semantic search, and \nsends them to GPT-4o for a grounded answer with source \ncitation. SW3 runs every Sunday to check for new or \nupdated documents and keeps the knowledge base fresh.\n\n### SETUP STEPS\n\n1. Create a Google Drive folder called Knowledge Base\n2. Add your company documents as Google Docs\n3. Create a Pinecone index — dimensions 1536, metric cosine\n4. Add Pinecone, OpenAI, Google Drive, Sheets and Gmail credentials\n5. Send POST requests to the webhook to ask questions"},"typeVersion":1},{"id":"39959dab-ce20-444a-ba2a-d886fffbf70b","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-304,-272],"parameters":{"color":7,"width":1536,"height":704,"content":"Run this manually when adding new documents. Reads  all Google Docs from your Knowledge Base folder,  splits them into chunks, converts to embeddings,  and stores everything in Pinecone. Logs each doc  to the Document Registry sheet."},"typeVersion":1},{"id":"70976dfe-7d68-4c60-801f-c7237d836519","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-368,480],"parameters":{"color":7,"width":2144,"height":496,"content":"Always active via webhook. Takes any question as a POST request, searches Pinecone for the 5 most  relevant chunks, sends context to GPT-4o, and  returns a grounded answer with source citation  and confidence score. All Q&A logged to Sheets."},"typeVersion":1},{"id":"72c868a8-636b-432c-8536-cf75f162b191","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-352,1024],"parameters":{"color":7,"width":2816,"height":832,"content":"Runs every Sunday at 11AM. Compares your Drive folder against the Document Registry, detects new  or updated docs, re-ingests them into Pinecone automatically, and emails a weekly digest of your full knowledge base status."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"ff578ef0-1aab-4265-9846-fcc7340b5a97","connections":{"Parse AI Answer":{"main":[[{"node":"Log Q&A to Sheets","type":"main","index":0}]]},"Answer Generator":{"main":[[{"node":"Parse AI Answer","type":"main","index":0}]]},"Build RAG Prompt":{"main":[[{"node":"Answer Generator","type":"main","index":0}]]},"Question Webhook":{"main":[[{"node":"Extract Question & User","type":"main","index":0}]]},"IF New Docs Found":{"main":[[{"node":"Prepare Docs for Re-ingestion","type":"main","index":0}],[{"node":"Build KB Digest Email1","type":"main","index":0}]]},"Log Q&A to Sheets":{"main":[[{"node":"Send Answer Response","type":"main","index":0}]]},"Split Into Chunks":{"ai_textSplitter":[[{"node":"Load Document Data","type":"ai_textSplitter","index":0}]]},"Load Document Data":{"ai_document":[[{"node":"Store Embeddings in Pinecone","type":"ai_document","index":0}]]},"Split Into Chunks1":{"ai_textSplitter":[[{"node":"Load Document Data1","type":"ai_textSplitter","index":0}]]},"Generate Embeddings":{"ai_embedding":[[{"node":"Store Embeddings in Pinecone","type":"ai_embedding","index":0}]]},"Load Document Data1":{"ai_document":[[{"node":"Re-ingest into Pinecone","type":"ai_document","index":0}]]},"Download Doc as Text":{"main":[[{"node":"Store Embeddings in Pinecone","type":"main","index":0}]]},"Generate Embeddings1":{"ai_embedding":[[{"node":"Re-ingest into Pinecone","type":"ai_embedding","index":0}]]},"Build KB Digest Email":{"main":[[{"node":"Send Weekly KB Digest","type":"main","index":0}]]},"Download Updated Docs":{"main":[[{"node":"Re-ingest into Pinecone","type":"main","index":0}]]},"Search Knowledge Base":{"main":[[{"node":"Build RAG Prompt","type":"main","index":0}]]},"Send Weekly KB Digest":{"main":[[]]},"Build KB Digest Email1":{"main":[[{"node":"Send Weekly KB Digest1","type":"main","index":0}]]},"Read Document Registry":{"main":[[{"node":"Detect New or Updated Docs","type":"main","index":0}]]},"Extract Question & User":{"main":[[{"node":"Search Knowledge Base","type":"main","index":0}]]},"Re-ingest into Pinecone":{"main":[[{"node":"Update Document Registry","type":"main","index":0}]]},"Generate Query Embedding":{"ai_embedding":[[{"node":"Search Knowledge Base","type":"ai_embedding","index":0}]]},"List Knowledge Base Docs":{"main":[[{"node":"Download Doc as Text","type":"main","index":0}]]},"Log to Document Registry":{"main":[[{"node":"Notify Ingestion Complete","type":"main","index":0}]]},"Manual Ingestion Trigger":{"main":[[{"node":"List Knowledge Base Docs","type":"main","index":0}]]},"Update Document Registry":{"main":[[{"node":"Build KB Digest Email","type":"main","index":0}]]},"List Knowledge Base Docs1":{"main":[[{"node":"Read Document Registry","type":"main","index":0}]]},"Detect New or Updated Docs":{"main":[[{"node":"IF New Docs Found","type":"main","index":0}]]},"Weekly Sunday 11AM Trigger":{"main":[[{"node":"List Knowledge Base Docs1","type":"main","index":0}]]},"Store Embeddings in Pinecone":{"main":[[{"node":"Log to Document Registry","type":"main","index":0}]]},"Prepare Docs for Re-ingestion":{"main":[[{"node":"Download Updated Docs","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":38,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.code":{"count":7},"n8n-nodes-base.gmail":{"count":3},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.googleDrive":{"count":4},"n8n-nodes-base.googleSheets":{"count":4},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"n8n-nodes-base.respondToWebhook":{"count":1},"@n8n/n8n-nodes-langchain.embeddingsOpenAi":{"count":3},"@n8n/n8n-nodes-langchain.vectorStorePinecone":{"count":3},"@n8n/n8n-nodes-langchain.documentDefaultDataLoader":{"count":2},"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Rahul Joshi","username":"rahul08","bio":"Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.\n\n","verified":true,"links":["https://www.linkedin.com/in/callrahul/"],"avatar":"https://gravatar.com/avatar/b6cf57822463143589b36ada06fbf6cb1509223a740fae3160b28f1ce41ccc12?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":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"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/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/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/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, 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/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/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"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/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"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/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/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.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"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":535,"icon":"file:webhook.svg","name":"n8n-nodes-base.respondToWebhook","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/"}]},"categories":["Core Nodes","Utility"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"transform\"]","defaults":{"name":"Respond to Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Respond to Webhook","typeVersion":2,"nodeCategories":[{"id":7,"name":"Utility"},{"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":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":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":1191,"icon":"fa:grip-lines-vertical","name":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.textsplitterrecursivecharactertextsplitter/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Text Splitters"]}}},"group":"[\"transform\"]","defaults":{"name":"Recursive Character Text Splitter"},"iconData":{"icon":"grip-lines-vertical","type":"icon"},"displayName":"Recursive Character Text Splitter","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1230,"icon":"file:pinecone.svg","name":"@n8n/n8n-nodes-langchain.vectorStorePinecone","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstorepinecone/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Vector Stores","Tools","Root Nodes"],"Tools":["Other Tools"],"Vector Stores":["Other Vector Stores"]}}},"group":"[\"transform\"]","defaults":{"name":"Pinecone Vector Store"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzUiIHZpZXdCb3g9IjAgMCAzMiAzNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjg1NTUgMzQuMjk2MkMxNC45MzI1IDM0LjI5NjIgMTUuODA1NSAzMy40NDUxIDE1LjgwNTUgMzIuMzk1NEMxNS44MDU1IDMxLjM0NTYgMTQuOTMyNSAzMC40OTQ2IDEzLjg1NTUgMzAuNDk0NkMxMi43Nzg2IDMwLjQ5NDYgMTEuOTA1NSAzMS4zNDU2IDExLjkwNTUgMzIuMzk1NEMxMS45MDU1IDMzLjQ0NTEgMTIuNzc4NiAzNC4yOTYyIDEzLjg1NTUgMzQuMjk2MloiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xOC40MTM4IDcuMTk2NzVMMTkuMjUxMiAyLjY2MDA1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMTE3ODYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTIyLjI2NTYgNS41ODU1TDE5LjM0NjYgMi4xMTA5OUwxNS4zNzQ4IDQuMzcyOTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4xMTc4NiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTQuOTIwMiAyNi41NTI4TDE1LjczMzcgMjIuMDE2OSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjExNzg2IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+CjxwYXRoIGQ9Ik0xOC43NzI5IDI0LjkzMDRMMTUuODMgMjEuNDY3MUwxMS44NzAxIDIzLjc0MSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjExNzg2IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNi42MDc3IDE3LjE5OTZMMTcuNDIxMiAxMi42NjMzIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMTE3ODYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTIwLjQ1ODcgMTUuNThMMTcuNTI3NyAxMi4xMjhMMTMuNTY3OSAxNC4zOTA0IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMTE3ODYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTguMzI4NzEgMjYuMTU1NEw0Ljc1MTcxIDI4LjU4MTUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wMTAxNyIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNOC41NDM4MyAzMC4wODY1TDQuMzIwOCAyOC44NzM4TDQuNjMxODUgMjQuNTk0NCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjAxMDE3IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yMS4zMjEzIDI4LjQyOTlMMjMuODA5NiAzMS45MjgyIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDEwMTciIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTE5LjcxOCAzMi4wNDVMMjQuMTA4NSAzMi4zMzY1TDI1LjM1MjcgMjguMjQzOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyLjAxMDE3IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yNS4zOTk5IDIxLjMyOTFMMjkuNzc4NCAyMi4wOTk2IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTI2LjkwNzIgMjUuMDcyTDMwLjMwNDggMjIuMTkxOUwyOC4xNjM0IDE4LjM1NTciIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjQuMTE5NiAxMi44NjE1TDI4LjAxOTcgMTAuNzYzIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiLz4KPHBhdGggZD0iTTI0LjMzNTcgOC44Mzk2NUwyOC40ODY5IDEwLjUxODhMMjcuNzA5MyAxNC44MjE2IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTYuOTE2MzkgMTguMTU3MkwyLjUyNTg4IDE3LjQxMDEiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNNC4xNzczMSAyMS4xNjQ1TDIgMTcuMzI4TDUuMzYxNjcgMTQuNDM2IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIuMDU4MDQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExLjA3OTkgMTAuNjEyOUw4LjE0ODkzIDcuMzQ3NjkiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIvPgo8cGF0aCBkPSJNMTIuMjg5NyA2Ljc3NDk2TDcuODAzNDkgNi45NjE1Nkw3LjAxMzkyIDExLjI2NDkiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMi4wNTgwNCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K"},"displayName":"Pinecone 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":42,"name":"Internal Wiki"},{"id":48,"name":"AI RAG"}],"image":[]}}