{"workflow":{"id":13802,"name":"Turn your website docs into a GPT-4.1-mini support chatbot with MrScraper and Pinecone","views":40,"recentViews":0,"totalViews":40,"createdAt":"2026-03-02T09:30:10.796Z","description":"## Description\n\nThis n8n template turns any website or documentation portal into a fully functional AI-powered support chatbot — no manual copy-pasting, no static FAQs. It uses MrScraper to crawl and extract your site's content, OpenAI to generate embeddings, and Pinecone to store and retrieve that knowledge at chat time.\n\nThe result is a retrieval-augmented chatbot that answers questions using only your actual website content, always cites its sources, and never hallucinates policies or pricing.\n\n---\n\n## How It Works\n\n* **Phase 1 – URL Discovery:** The Map Agent crawls your target domain using include/exclude patterns to discover all relevant documentation or help center pages. It returns a clean, deduplicated list of URLs ready for content extraction.\n* **Phase 2 – Page Content Extraction:** Each discovered URL is processed in controlled batches by the General Agent, which extracts the readable content (title + main text) from every page. Low-quality or near-empty pages are automatically filtered out.\n* **Phase 3 – Chunking & Embedding:** Page text is split into overlapping chunks (default: ~1,100 chars with 180-char overlap) to preserve context at boundaries. Each chunk is sent to OpenAI Embeddings to generate a vector, then stored in Pinecone with metadata including the source URL, page title, and chunk index.\n* **Phase 4 – Chat Endpoint:** A Chat Trigger exposes a webhook endpoint your website or widget can connect to. When a user asks a question, the Support Chat Agent queries Pinecone for the most relevant chunks and generates a grounded answer using GPT-4.1-mini — always with source URLs included and strict anti-hallucination rules enforced.\n\n---\n\n## How to Set Up\n\n1. **Create 2 scrapers in your MrScraper account:**\n   * Map Agent Scraper (for crawling and discovering page URLs)\n   * General Agent Scraper (for extracting title + content from each page)\n   * Copy the `scraperId` for each — you'll need these in n8n.\n\n2. **Set up your Pinecone index:**\n   * Create a Pinecone index with dimensions that match your chosen OpenAI embedding model (e.g. 1536 for `text-embedding-ada-002`)\n   * Choose a namespace (recommended format: `docs-yourdomain`)\n\n3. **Add your credentials in n8n:**\n   * MrScraper API token\n   * OpenAI API key (used for both embeddings and the chat model)\n   * Pinecone API key\n\n4. **Configure the Map Agent node:**\n   * Set your target domain or docs root URL (e.g. `https://docs.yoursite.com`)\n   * Set `includePatterns` to focus on relevant sections (e.g. `/docs/`, `/help/`, `/support/`)\n   * Optionally set `excludePatterns` to skip noise (e.g. `/assets/`, `/tag/`, `/static/`)\n\n5. **Configure the General Agent node:**\n   * Enter your General Agent `scraperId`\n   * Adjust the batch size in the SplitInBatches node (start with 1–5 to stay within rate limits)\n\n6. **Configure the Pinecone nodes:**\n   * Select your Pinecone index in both the Upsert and Retriever nodes\n   * Set the correct namespace in both nodes so indexing and retrieval use the same data\n\n7. **Customise the chatbot system prompt:**\n   * Edit the Support Chat Agent's system message to set the chatbot's name, tone, and rules\n   * Adjust `topK` in the Pinecone Retriever (default: 8) based on how much context you want per answer\n\n8. **Connect your chat widget or frontend** to the Chat Trigger webhook URL generated by n8n\n\n---\n\n## Requirements\n\n* **MrScraper** account with API access enabled\n* **OpenAI** account (for embeddings and GPT-4.1-mini chat)\n* **Pinecone** account with an index created and ready\n\n---\n\n## Good to Know\n\n* The overlap between chunks (default 180 chars) is intentional — it prevents answers from being cut off at chunk boundaries and significantly improves retrieval quality.\n* The chatbot is configured to cite 1–3 source URLs per answer, so users can always verify the information themselves.\n* The anti-hallucination rules in the system prompt instruct the agent to say it can't find an answer rather than guess — making it safe to use for support, pricing, or policy questions.\n* Re-indexing is as simple as re-running the workflow. Use a consistent Pinecone namespace and upsert mode to update existing vectors without duplicating them.\n\n---\n\n## Customising This Workflow\n\n* **Swap the chat model:** Replace GPT-4.1-mini with GPT-4o or another OpenAI model for higher-quality answers on complex queries.\n* **Scheduled re-indexing:** Add a Schedule Trigger to automatically re-crawl and re-index your docs whenever content changes.\n* **Multiple knowledge bases:** Use different Pinecone namespaces (e.g. `docs-product`, `docs-api`) and route questions to the right namespace based on user intent.\n* **Embed on your website:** Connect the Chat Trigger webhook to any chat widget library to give your users a live support experience powered entirely by your own documentation.\n* **Multilingual support:** Add a translation node before chunking to index content in multiple languages and serve a global audience.","workflow":{"id":"Vu6pZ1Ix17VmPSRS","meta":{"instanceId":"ff80ff7708e50014ab81fa837934b47761ca37bb76e027238bca430a67bf5090"},"name":"Transform Your Website Into a Smart AI Chatbot Knowledge","tags":[],"nodes":[{"id":"39f68fff-a20d-4fbb-bf70-702fee1c69dd","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[-2432,144],"parameters":{},"typeVersion":1},{"id":"9780ab91-3ab4-4c19-b38e-a56292b1cb59","name":"MrScraper - Discover URLs (Map Agent)","type":"n8n-nodes-mrscraper.mrscraper","position":[-2160,144],"parameters":{"url":"=// Input Your url (required)","operation":"mapAgent","scraperId":"=// Input Your scraperId from mrscraper (required)","requestOptions":{},"excludePatterns":"=// Input Your Exclude Pattern (Optional)","includePatterns":"=// Input Your Include Pattern (optional)"},"credentials":{"mrscraperApi":{"id":"4tEXrX8cHbWCvTv1","name":"riandra_new"}},"retryOnFail":true,"typeVersion":1},{"id":"beaa1c00-3bf1-4299-bf40-81efaaa47c79","name":"Batch URLs (Controlled Crawl)","type":"n8n-nodes-base.splitInBatches","position":[-1616,176],"parameters":{"options":{},"batchSize":10},"typeVersion":3},{"id":"6ea836ba-0322-4366-b366-e7ff71f5adc1","name":"MrScraper - Extract Page Content (General Agent)","type":"n8n-nodes-mrscraper.mrscraper","position":[-1392,144],"parameters":{"url":"=// Input Your url (required)","operation":"generalAgent","scraperId":"=// Input Your scraperId from Mrscraper (required)","requestOptions":{}},"credentials":{"mrscraperApi":{"id":"4tEXrX8cHbWCvTv1","name":"riandra_new"}},"retryOnFail":true,"typeVersion":1,"continueOnFail":true},{"id":"ce80bee9-a7c6-4ca5-b519-f10e241a39de","name":"Chunk Text for Embeddings","type":"n8n-nodes-base.code","position":[-864,160],"parameters":{"jsCode":"// Chunk configuration (manual config here)\nconst chunkSize = 1100;\nconst overlap = 180;\n\nconst items = $input.all();\nconst output = [];\n\nfor (const item of items) {\n  const text = (item.json.content || item.json.text || '').trim();\n  const url = item.json.url || '';\n  const title = item.json.title || '';\n\n  let start = 0;\n  let idx = 0;\n\n  while (start < text.length) {\n    const end = Math.min(start + chunkSize, text.length);\n    const piece = text.slice(start, end).trim();\n\n    if (piece.length >= 80) {\n      output.push({\n        json: {\n          content: piece,\n          url,\n          title,\n          chunk_index: idx++\n        }\n      });\n    }\n\n    if (end >= text.length) break;\n\n    start = end - overlap;\n    if (start < 0) start = 0;\n  }\n}\n\nreturn output;"},"typeVersion":2},{"id":"925bd235-6f2e-469f-8c83-54f73beeb372","name":"OpenAI Embeddings (Indexing)","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[-592,304],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"cgaPVwz6ZaSGaccB","name":"OpenAi account"}},"typeVersion":1.2},{"id":"dbd5c07c-8b9c-469a-b00d-1880d216c8de","name":"Pinecone Vector Store (Upsert)","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[-592,160],"parameters":{"mode":"insert","options":{"pineconeNamespace":"=// Input Your Pinecone Namespace (required)"},"pineconeIndex":{"__rl":true,"mode":"list","value":""}},"typeVersion":1.3},{"id":"4fa0acb1-3986-4ddc-8091-4d8764c293ca","name":"Chat Memory (Short)","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[-32,416],"parameters":{"contextWindowLength":8},"typeVersion":1.3},{"id":"3e727639-8faa-464d-8647-fcbecac4b12c","name":"OpenAI Embeddings (Chat)","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[176,624],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"cgaPVwz6ZaSGaccB","name":"OpenAi account"}},"typeVersion":1.2},{"id":"51362536-4f62-40f0-8ad9-444764d78841","name":"Pinecone Retriever Tool","type":"@n8n/n8n-nodes-langchain.vectorStorePinecone","position":[96,416],"parameters":{"mode":"retrieve-as-tool","topK":8,"options":{"pineconeNamespace":"={{ $items('Workflow Settings')[0].json.pineconeNamespace }}"},"pineconeIndex":{"__rl":true,"mode":"list","value":""},"toolDescription":"=Use this tool for any question about the website's documentation, help center articles, product usage, policies, FAQs, onboarding steps, or troubleshooting. If no relevant sources are returned, say you cannot find it and ask the user for a link or more detail."},"typeVersion":1.3},{"id":"7aa85892-9663-41d8-b1f6-7878760d311a","name":"Support Chat Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-112,192],"parameters":{"options":{"maxIterations":8,"systemMessage":"=You are **Nova**, a support chatbot.\n\nRules:\n- Use retrieved knowledge for factual answers.\n- If the tool returns weak or empty results, say you can’t confirm and ask for a link.\n- Keep answers short, step-based, and include 1–3 source URLs when available.\n- Never invent pricing, policies, or guarantees.\n","returnIntermediateSteps":false}},"typeVersion":3},{"id":"e3397354-4491-4297-aeb3-2007826c1327","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-3200,-208],"parameters":{"width":592,"height":1872,"content":"## Phase 0 — Prep & IDs (MrScraper + OpenAI + Pinecone)\n\n### Goal\nGet everything ready so the workflow can (1) **index your docs** into a vector database and (2) **answer chat questions** using only those docs.\n\n### What You Need Before Running\n**A) MrScraper scrapers (required)**\nYou must create **two scrapers** in your **MrScraper dashboard** first, because n8n needs the **`scraperId`** to run them using **Rerun**:\n\n1. **Map Agent Scraper (URL Discovery)**\n   * Purpose: crawl your website/docs and collect URLs\n   * Best for: `/docs/`, `/help/`, `/support/`, `/faq/`, knowledge base\n\n2. **General Agent Scraper (Page Content Extraction)**\n   * Purpose: extract readable doc content from each page into structured fields (title + text)\n   * Best output fields to target:\n     * `title`\n     * `content` or `text` or `markdown` (main body)\n     * optional: `headings`, `sections`, `last_updated`\n\nAfter creating each scraper, copy:\n* `mapScraperId`\n* `generalScraperId`\n\n**B) Credentials (required)**\nIn n8n, you’ll need these credentials configured:\n* **MrScraper Credentials**\n  * Used by MrScraper nodes (Map Agent + General Agent)\n* **OpenAI Credentials**\n  * Used for embeddings (and for chat model if you’re using agent/chat nodes)\n* **Pinecone Credentials**\n  * You need:\n    * Pinecone API key\n    * Pinecone index name\n    * A namespace (recommended: something like `docs-yourdomain`)\n\n**C) Pinecone index basics**\n* Your Pinecone index must exist before inserting.\n* Ensure the embedding dimensions match the model you use in OpenAI embeddings.\n\n### What To Do\n\n1. **Create scrapers in MrScraper**\n   * Create Map Agent scraper → copy its `scraperId`\n   * Create General Agent scraper → copy its `scraperId`\n\n2. **Configure the workflow settings**\n   In the “Workflow Settings” / configuration node:\n   * Set `siteRoot` (example: `https://docs.yoursite.com` or `https://yoursite.com/docs`)\n   * Paste:\n     * `mapScraperId`\n     * `generalScraperId`\n   * Set patterns:\n     * `includePattern` (example: `/docs/` or `/help/`)\n     * `excludePattern` (example: `/assets/` or `/static/`)\n   * Set crawl limits:\n     * `maxUrls` (how many pages maximum you want indexed)\n     * `minTextChars` (minimum content threshold so junk pages get skipped)\n\n3. **Set n8n credentials**\n   * Select your MrScraper credential on the MrScraper nodes\n   * Select OpenAI credential on embeddings/chat nodes\n   * Select Pinecone credential on Pinecone vector store nodes\n\n4. **Choose your indexing scope (important)**\n   Decide what you want indexed:\n   * docs only (recommended)\n   * help center + FAQ\n   * blog/articles (optional, usually noisy for support)\n\n### Output\nA ready-to-run setup where:\n* MrScraper can discover URLs and extract page text\n* OpenAI can create embeddings\n* Pinecone can store and retrieve chunks\n* the chatbot can answer using retrieval only"},"typeVersion":1},{"id":"3fb900f4-b162-441e-abc5-d2c8127d9c32","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-1680,368],"parameters":{"color":5,"width":640,"height":800,"content":"### Goal\nConvert each URL into **clean, readable text** that is suitable for embeddings.\n\n### What To Do\n1. **Process URLs in batches**\n   Use SplitInBatches to control load:\n   * batch size 1–5 (start with 1 to keep it safe)\n   * prevents rate limits + avoids overload\n2. **Run General Agent (Rerun) per URL**\n   * Input: URL\n   * Output should include:\n     * `title`\n     * main content as `text/markdown/content`\n3. **Pick the best text field**\n   Use a code step to select the best content field:\n   * prefer `markdown` if available (usually clean)\n   * fallback to `content/text/body`\n4. **Clean the text**\n   * Normalize whitespace\n   * Remove repeated nav/footer text if it appears (optional)\n   * Keep it readable and dense\n5. **Skip low-value pages**\n   Drop pages where:\n   * `text.length < minTextChars`\n     This removes:\n   * empty pages\n   * redirects that returned nothing useful\n   * navigation-only pages\n\n### Output\nOne clean record per page:\n* `url`\n* `title`\n* `text` (main content)"},"typeVersion":1},{"id":"3259015f-1736-4b53-a177-5426082820d1","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-2496,80],"parameters":{"color":3,"width":804,"height":240,"content":"## Phase 1 — URL Discovery (MrScraper Map Agent)"},"typeVersion":1},{"id":"9fbedbad-4cf8-439e-9d81-b83053bd4b59","name":"Extract Url","type":"n8n-nodes-base.code","position":[-1872,144],"parameters":{"jsCode":"// Get data from previous node\nconst inputData = $input.all();\n\n// Default empty array\nlet urls = [];\n\n// Extract URLs safely (correct nested path)\nif (\n  inputData.length > 0 &&\n  inputData[0].json?.data?.data?.urls &&\n  Array.isArray(inputData[0].json.data.data.urls)\n) {\n  urls = inputData[0].json.data.data.urls;\n}\n\n// Return each URL as separate item\nreturn urls.map((url, index) => ({\n  json: {\n    url,\n    index: index + 1\n  }\n}));"},"typeVersion":2},{"id":"f2ac36e1-fd44-400b-b6c0-7cb926f607f1","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-2496,336],"parameters":{"color":3,"width":800,"height":656,"content":"### Goal\nGenerate a clean, deduplicated list of docs/support URLs that will be indexed.\n\n### What To Do\n1. **Pick a starting URL**\n   Use either:\n   * website root (ex: `https://yoursite.com`)\n   * docs root (ex: `https://yoursite.com/docs`)\n   * help center root (ex: `https://support.yoursite.com`)\n2. **Run Map Agent (Rerun)**\n   * Input: the root URL above\n   * Use include patterns to keep it relevant:\n     * Include: `/docs/`, `/help/`, `/support/`, `/kb/`\n   * Optionally exclude:\n     * `/assets/`, `/static/`, `/images/`, `/tag/`, `/category/`\n3. **Extract URLs**\nIn a code step:\n* Retrieve `data.urls` from the previous node response\n* Validate that the URLs array exists\n* Return each URL as a separate item\n* Preserve original order (no filtering, no modification)\n\n### Output\nA focused list like:\n* `https://yoursite.com/docs/getting-started`\n* `https://yoursite.com/docs/api-auth`\n* `https://yoursite.com/docs/integrations/n8n`"},"typeVersion":1},{"id":"c8e56663-7ea2-4d1b-aea8-716e6430e869","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-1680,80],"parameters":{"color":5,"width":640,"height":272,"content":"## Phase 2 — Page Extraction (MrScraper General Agent)"},"typeVersion":1},{"id":"5ae2cc65-5fb0-43bc-8ed7-31c2c90fc6ce","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-1008,80],"parameters":{"color":4,"width":720,"height":368,"content":"## Phase 3 — Chunking + Embedding (OpenAI)"},"typeVersion":1},{"id":"aa105cff-cff7-439d-b935-eade04f5b68f","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[-1008,464],"parameters":{"color":4,"width":720,"height":576,"content":"### Goal\nSplit page text into chunks optimized for retrieval, then generate embeddings for each chunk.\n\n### What To Do\n1. **Chunk the text**\n   Recommended defaults:\n   * `chunkSize`: 900–1400 chars\n   * `overlap`: 150–250 chars\n     Why overlap matters:\n   * preserves context between chunk boundaries\n   * improves retrieval quality\n2. **Attach metadata**\n   For each chunk store:\n   * `url`\n   * `title`\n   * `chunk_index`\n   * chunk `content`\n3. **Create embeddings**\n   Send each chunk to OpenAI embeddings.\n   * Make sure your Pinecone index dimensions match the embedding model you choose.\n\n### Output\nEmbedding-ready chunks:\n* each chunk becomes one vector + metadata record"},"typeVersion":1},{"id":"fadaaf48-ea41-4eee-a117-7f589c7ca48e","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[-272,80],"parameters":{"color":6,"width":624,"height":688,"content":"## Phase 4 — Vector Store + Chat Endpoint (Pinecone + Chat Webhook)"},"typeVersion":1},{"id":"a6495d06-f3df-4f11-8f01-382a75277d20","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[-272,784],"parameters":{"color":6,"width":624,"height":704,"content":"### Goal\nStore chunks in Pinecone and expose a chat endpoint that answers using retrieval.\n\n### What To Do\n1. **Upsert into Pinecone**\n   Insert chunks into Pinecone with metadata:\n   * `url` (for sources)\n   * `title`\n   * `chunk_index`\n   * `content`\n2. **Set up retrieval as a tool**\n   Configure Pinecone retriever:\n   * `topK`: 6–10 (start at 8)\n   * namespace: `docs-yourdomain`\n3. **Create the chat webhook**\n   Use the Chat Trigger (webhook mode):\n   * public endpoint for your website/widget\n   * receives user query\n   * agent retrieves relevant chunks from Pinecone\n4. **Answer rules (anti-hallucination)**\n   In your system message:\n   * “Answer only using retrieved knowledge”\n   * “If nothing relevant is returned, ask for a link or say you can’t find it”\n   * Include 1–3 source URLs when possible\n\n### Output\nA working docs chatbot that:\n* retrieves relevant docs chunks\n* answers using only those chunks\n* includes sources (URLs) so users can verify"},"typeVersion":1},{"id":"4fa49e49-7bfe-4170-897e-64690d0bec9e","name":"Docs Loader (Chunks → Documents)","type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader","position":[-464,304],"parameters":{"options":{"metadata":{"metadataValues":[{"name":"url","value":"={{ $json.url }}"},{"name":"title","value":"={{ $json.title }}"},{"name":"chunk_index","value":"={{ $json.chunk_index }}"}]}}},"typeVersion":1.1},{"id":"72cfdaed-ae93-4fa5-8f5d-16407acf9ead","name":"OpenAI Chat","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-176,416],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1-mini","cachedResultName":"gpt-4.1-mini"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"cgaPVwz6ZaSGaccB","name":"OpenAi account"}},"typeVersion":1.3},{"id":"9f050a73-481f-4b66-b404-a32b9aa4470b","name":"Chat","type":"@n8n/n8n-nodes-langchain.chat","position":[-256,192],"webhookId":"520a1b3c-aff7-4b64-b58b-1b2bc5cd15f4","parameters":{"options":{}},"typeVersion":1.2},{"id":"3195ee52-c010-402b-b6d5-157e017f0fae","name":"Pick Content Field","type":"n8n-nodes-base.code","position":[-1168,144],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Get current item\nconst item = $input.item;\n\n// Safely extract content\nconst content = item.json?.data?.data?.content || \"\";\nconst url = item.json?.data?.url || \"\";\nconst title = item.json?.data?.data?.content || \"\";\n\n// Return only content\nreturn {\n  json: {\n    url,\n    title,\n    content\n  }\n};"},"typeVersion":2}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"46f3df1c-f3c1-4810-a5fc-2859d48330f5","connections":{"Chat":{"main":[[{"node":"Support Chat Agent","type":"main","index":0}]]},"Extract Url":{"main":[[{"node":"Batch URLs (Controlled Crawl)","type":"main","index":0}]]},"OpenAI Chat":{"ai_languageModel":[[{"node":"Support Chat Agent","type":"ai_languageModel","index":0}]]},"Pick Content Field":{"main":[[{"node":"Chunk Text for Embeddings","type":"main","index":0}]]},"Chat Memory (Short)":{"ai_memory":[[{"node":"Support Chat Agent","type":"ai_memory","index":0}]]},"Pinecone Retriever Tool":{"ai_tool":[[{"node":"Support Chat Agent","type":"ai_tool","index":0}]]},"OpenAI Embeddings (Chat)":{"ai_embedding":[[{"node":"Pinecone Retriever Tool","type":"ai_embedding","index":0}]]},"Chunk Text for Embeddings":{"main":[[{"node":"Pinecone Vector Store (Upsert)","type":"main","index":0}]]},"OpenAI Embeddings (Indexing)":{"ai_embedding":[[{"node":"Pinecone Vector Store (Upsert)","type":"ai_embedding","index":0}]]},"Batch URLs (Controlled Crawl)":{"main":[[],[{"node":"MrScraper - Extract Page Content (General Agent)","type":"main","index":0}]]},"Pinecone Vector Store (Upsert)":{"main":[[{"node":"Batch URLs (Controlled Crawl)","type":"main","index":0}]]},"Docs Loader (Chunks → Documents)":{"ai_document":[[{"node":"Pinecone Vector Store (Upsert)","type":"ai_document","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"MrScraper - Discover URLs (Map Agent)","type":"main","index":0}]]},"MrScraper - Discover URLs (Map Agent)":{"main":[[{"node":"Extract Url","type":"main","index":0}]]},"MrScraper - Extract Page Content (General Agent)":{"main":[[{"node":"Pick Content Field","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":25,"nodeTypes":{"n8n-nodes-base.code":{"count":3},"n8n-nodes-base.stickyNote":{"count":9},"n8n-nodes-base.manualTrigger":{"count":1},"@n8n/n8n-nodes-langchain.chat":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"n8n-nodes-mrscraper.mrscraper":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.embeddingsOpenAi":{"count":2},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1},"@n8n/n8n-nodes-langchain.vectorStorePinecone":{"count":2},"@n8n/n8n-nodes-langchain.documentDefaultDataLoader":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"riandra","username":"riandradiva","bio":"","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/c085ff3e99cfe2328699b49cb9802f5762a12c94cb8f21692548a0dc0cc6e2e4?r=pg&d=retro&size=200"},"nodes":[{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"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/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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","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":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1141,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Embeddings"]}}},"group":"[\"transform\"]","defaults":{"name":"Embeddings OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"Embeddings OpenAI","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":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":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":1313,"icon":"fa:comments","name":"@n8n/n8n-nodes-langchain.chat","codex":{"data":{"alias":["human","wait","hitl","respond","approve","confirm","send","message"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.respondtochat/"}]},"categories":["Core Nodes","HITL","Langchain"],"subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"input\"]","defaults":{"name":"Chat"},"iconData":{"icon":"comments","type":"icon"},"displayName":"Chat","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"},{"id":26,"name":"Langchain"},{"id":28,"name":"HITL"}]}],"categories":[{"id":40,"name":"Support Chatbot"},{"id":48,"name":"AI RAG"}],"image":[]}}