AutomationFlowsAI & RAG › Dynamic Website Assistant with Deepseek Ai, Pinecone Vectorstore &…

Dynamic Website Assistant with Deepseek Ai, Pinecone Vectorstore &…

Original n8n title: Dynamic Website Assistant with Deepseek Ai, Pinecone Vectorstore & Site-based Routing

Bymoosa @moosa on n8n.io

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Webhook trigger★★★★★ complexityAI-powered33 nodesMemory Postgres ChatOpenRouter ChatPinecone Vector StoreCohere EmbeddingsAgent
AI & RAG Trigger: Webhook Nodes: 33 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #6295 — we link there as the canonical source.

This workflow follows the Agent → Cohere Embeddings recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "97996cba-36f9-455e-b02d-c054c9e82f38",
      "name": "Postgres Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        -980,
        2440
      ],
      "parameters": {
        "tableName": "n8n_chat_histories_test_3",
        "sessionKey": "={{ $('Webhook').item.json.query.userId }}",
        "sessionIdType": "customKey"
      },
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "5ae9982c-055e-421a-a47e-320a90f43249",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -1100,
        2440
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "208cfefe-77c5-4762-a61c-4dcd31c2e741",
      "name": "Pinecone Vector Store5",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -860,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "Service_Packages_Overview"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "asjdnkjanfkjadnfkan;"
        },
        "toolDescription": "vector store for: Service Packages Overview"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cbd466c8-1170-4b1a-83c3-5a61ad5ff34a",
      "name": "Embeddings Cohere",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -780,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "295ee1d6-1083-4ab0-ae19-608504a78ca9",
      "name": "Pinecone Vector Store6",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -580,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "services"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "askclnalkdnclkdsnckj"
        },
        "toolDescription": "vector store for: services"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "38ff953c-e660-4486-9b6b-754b58ad758c",
      "name": "Embeddings Cohere6",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -500,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2b6ed992-91ce-4d77-8a2c-c452b3ede109",
      "name": "Pinecone Vector Store7",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -300,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": "terms_of_use"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "adlkfncldkanv;kjhv"
        },
        "toolDescription": "vector store for: terms of use"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fe4fe472-0e5d-4af2-a28d-91c6aab1b1a6",
      "name": "Embeddings Cohere7",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -220,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "69a71207-a8e3-4b5f-a0ee-fb4873f5bccb",
      "name": "Pinecone Vector Store9",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -20,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "Privacy_Policy"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "lknljoglhgiuyouih"
        },
        "toolDescription": "vector store for: Privacy Policy"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "525c394f-d6a7-407a-b8f9-b2a8b820e4d4",
      "name": "Embeddings Cohere9",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        60,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "aba9feb6-827f-4cd4-bb11-19af16978f77",
      "name": "Pinecone Vector Store10",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        260,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "refund_policy"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "jansckja;scjkadnpkfpioghpf:mv"
        },
        "toolDescription": "vector store for: refund policy"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "9201e8ed-0f3c-472c-9ffe-6c5e2179cbb6",
      "name": "Embeddings Cohere10",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        340,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d25920de-37ba-45b2-ba62-c83a5eeb8bc2",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1700,
        1260
      ],
      "parameters": {
        "path": "f22b5848-6722-45fb-ba0c-b874f5813b5c",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "2e8dee88-b656-4790-8db1-ec5b52aff867",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        620,
        2220
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"answer\": $json.output } }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "d0bda629-f093-4fe3-84ad-7dbdd4d45aba",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -1240,
        1260
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "46166ed8-0317-4827-bac9-ae10f04a6218",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.query.site }}",
                    "rightValue": "test_site"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "719a0de5-0614-443d-aa51-b9ef46ce337d",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.query.site }}",
                    "rightValue": "test_site2"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "35ab59a1-e2c2-4e67-ad0f-535e1749e6a0",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.query.site }}",
                    "rightValue": "test_site3"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "34822c85-60bf-4dba-8a6b-a770a48d4c46",
      "name": "Postgres Chat Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        -340,
        680
      ],
      "parameters": {
        "tableName": "n8n_chat_histories_test_1",
        "sessionKey": "={{ $('Webhook').item.json.query.userId }}",
        "sessionIdType": "customKey"
      },
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "d2cd2051-13c5-46d5-8ecd-c68c77489882",
      "name": "OpenRouter Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -460,
        680
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "45a7d772-1480-4cd0-b254-40c8c440223b",
      "name": "Pinecone Vector Store8",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -220,
        700
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "ghost_wr"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "amfdnadifakdlncacadf"
        },
        "toolDescription": "vector store for: Service Packages Overview"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "936e564c-a4af-4a45-b537-5b361af8d0e7",
      "name": "Embeddings Cohere8",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -140,
        880
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9ea078f3-48a9-4811-ba34-1f89430e7889",
      "name": "Respond to Webhook1",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        700,
        660
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"answer\": $json.output } }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
      "name": "AI Agent for groton",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -580,
        2220
      ],
      "parameters": {
        "text": "={{ $('Webhook').item.json.query.query }}",
        "options": {
          "systemMessage": "=\ud83e\uddd1\u200d\ud83d\udcbc System Prompt: Max \u2014 Test Site 2 Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the \u201c{{ $json.query.page }}\u201d page.\n\n\ud83e\udde0 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n\ud83d\udccc Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n\ud83d\udcd8 Services\nUse the services store\nIncludes all Test Site 2 services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n\ud83d\udcbc Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n\ud83d\udcdd If the current page (\u201c{{ $json.query.page }}\u201d) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n\ud83d\udcdc Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n\ud83d\udd10 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n\ud83d\udcde Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n\u2705 Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content \u2014 do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n\ud83d\udcc4 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n\u274c Do Not Answer\n\n\u201cCan you write a book for me now?\u201d\n\n\u201cWhat\u2019s your favorite book genre?\u201d\n\n\u201cWho owns Test Site 2?\u201d (unless found in the data)\n\n\ud83d\udd8a\ufe0f Always end your replies with:\n\u2014 max\n\n",
          "returnIntermediateSteps": false
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "74fbb2ac-dad5-4294-967a-501b32854f79",
      "name": "AI Agent1 ghostwritingpartner",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -420,
        460
      ],
      "parameters": {
        "text": "={{ $('Webhook').item.json.query.query }}",
        "options": {
          "systemMessage": "=\ud83e\uddd1\u200d\ud83d\udcbc System Prompt: Max \u2014 Test Site Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the \u201c{{ $json.query.page }}\u201d page.\n\n\ud83e\udde0 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n\ud83d\udccc Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n\ud83d\udcd8 Services\nUse the services store\nIncludes all Test Site services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n\ud83d\udcbc Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n\ud83d\udcdd If the current page (\u201c{{ $json.query.page }}\u201d) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n\ud83d\udcdc Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n\ud83d\udd10 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n\ud83d\udcde Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n\u2705 Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content \u2014 do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n\ud83d\udcc4 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n\u274c Do Not Answer\n\n\u201cCan you write a book for me now?\u201d\n\n\u201cWhat\u2019s your favorite book genre?\u201d\n\n\u201cWho owns Test Site?\u201d (unless found in the data)\n\n\ud83d\udd8a\ufe0f Always end your replies with:\n\u2014 max\n\n",
          "returnIntermediateSteps": false
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "cb9e515f-1781-423a-a184-27be2517e312",
      "name": "Postgres Chat Memory2",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        -300,
        1740
      ],
      "parameters": {
        "tableName": "n8n_chat_histories_test_2",
        "sessionKey": "={{ $('Webhook').item.json.query.userId }}",
        "sessionIdType": "customKey"
      },
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a0a2092b-48fc-4926-956a-088c18f2b220",
      "name": "OpenRouter Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -420,
        1740
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "83930ae9-cddb-4fcc-9138-7714395d8d07",
      "name": "Pinecone Vector Store11",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -180,
        1740
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "ebook_wr"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "adlmcdalkndanfca"
        },
        "toolDescription": "vector store for: Service Packages Overview"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b847ae7b-7ca9-4641-9768-dbe834f837c8",
      "name": "Embeddings Cohere11",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -100,
        1940
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "51d4651e-2dfd-4839-8ca8-2774c8e4cee0",
      "name": "Respond to Webhook2",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        740,
        1720
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"answer\": $json.output } }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
      "name": "AI Agent ebook-wr",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -380,
        1520
      ],
      "parameters": {
        "text": "={{ $('Webhook').item.json.query.query }}",
        "options": {
          "systemMessage": "=\ud83e\uddd1\u200d\ud83d\udcbc System Prompt: Max \u2014 Test Site 2 Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the \u201c{{ $json.query.page }}\u201d page.\n\n\ud83e\udde0 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n\ud83d\udccc Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n\ud83d\udcd8 Services\nUse the services store\nIncludes all Test Site 2 services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n\ud83d\udcbc Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n\ud83d\udcdd If the current page (\u201c{{ $json.query.page }}\u201d) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n\ud83d\udcdc Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n\ud83d\udd10 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n\ud83d\udcde Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n\u2705 Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content \u2014 do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n\ud83d\udcc4 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n\u274c Do Not Answer\n\n\u201cCan you write a book for me now?\u201d\n\n\u201cWhat\u2019s your favorite book genre?\u201d\n\n\u201cWho owns Test Site 2?\u201d (unless found in the data)\n\n\ud83d\udd8a\ufe0f Always end your replies with:\n\u2014 max\n\n",
          "returnIntermediateSteps": false
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "5a9f31eb-64be-4ec5-88cb-6659b8f0c0a4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        1200
      ],
      "parameters": {
        "height": 220,
        "content": "## accepts user input"
      },
      "typeVersion": 1
    },
    {
      "id": "e1eb851e-63f7-4f88-9891-232e99e9e9b7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1320,
        1160
      ],
      "parameters": {
        "height": 260,
        "content": "## switch to specific agent according to site"
      },
      "typeVersion": 1
    },
    {
      "id": "7815d1ed-9ee8-4759-9852-cf83dcfcf2ae",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        220
      ],
      "parameters": {
        "width": 660,
        "height": 800,
        "content": "## \ud83e\udde0 **AI Agent**\n\nThis node processes the user\u2019s query using:\n- llm from openrouter\n- Pinecone vector search for context-aware answers\n- SQL memory to maintain user-specific context\n- Custom system prompt based on `site` and `page` input values\n\n\ud83d\udc49 Dynamically tailors responses per incoming website/page.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ea7cf4f1-43c6-477f-b97a-6ffbd1344c1c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        560
      ],
      "parameters": {
        "width": 340,
        "height": 260,
        "content": "### sends response back to chat"
      },
      "typeVersion": 1
    },
    {
      "id": "eec68593-92f4-4065-9481-dc63aca01156",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        1500
      ],
      "parameters": {
        "width": 2180,
        "height": 1540,
        "content": "## same goes for remaining agents as above"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent for groton",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent ebook-wr": {
      "main": [
        [
          {
            "node": "Respond to Webhook2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store5",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere6": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store6",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere7": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store7",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere8": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store8",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere9": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store9",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent for groton": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere10": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store10",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere11": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store11",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory1": {
      "ai_memory": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory2": {
      "ai_memory": [
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store5": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store6": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store7": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store8": {
      "ai_tool": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store9": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store10": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store11": {
      "ai_tool": [
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1 ghostwritingpartner": {
      "main": [
        [
          {
            "node": "Respond to Webhook1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Source: https://n8n.io/workflows/6295/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

/billing - For payment and invoice questions /tech-support - For technical assistance /return-policy - For returns and refunds Command-based routing Direct department access via slash commands Tracks

Telegram, Pinecone Vector Store, Google Drive Trigger +9
AI & RAG

This workflow is an AI-powered multi-agent system built for startup founders and small business owners who want to automate decision-making, accountability, research, and communication, all through Wh

OpenRouter Chat, WhatsApp, Perplexity Tool +14
AI & RAG

What this does

@Mendable/N8N Nodes Firecrawl, Pinecone Vector Store, OpenAI Embeddings +6
AI & RAG

Customer Auto-tagging. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStorePinecone. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, Cohere Embeddings, Pinecone Vector Store +6
AI & RAG

CSV Attachment to Airtable. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStorePinecone. Webhook trigger; 12 nodes.

Text Splitter Character Text Splitter, Cohere Embeddings, Pinecone Vector Store +6