This workflow corresponds to n8n.io template #7561 — we link there as the canonical source.
This workflow follows the Agent → Chat Trigger 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 →
{
"id": "QGCfa3ryox2OEBTG",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Simple RAG chatbot",
"tags": [],
"nodes": [
{
"id": "a94cdaf0-a036-435a-9d44-971a4c6956dd",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
496,
-368
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1cDW1qkq76TX5Hr4k_JWBZjMigOf4hdC3",
"cachedResultUrl": "https://drive.google.com/drive/folders/1cDW1qkq76TX5Hr4k_JWBZjMigOf4hdC3",
"cachedResultName": "Snapfectly RAG"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "0b22f8be-3b90-4079-a4bc-867419478519",
"name": "Download file",
"type": "n8n-nodes-base.googleDrive",
"position": [
704,
-368
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "a0868cac-fb37-48c3-804f-ec58ab130a29",
"name": "Pinecone Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
896,
-368
],
"parameters": {
"mode": "insert",
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "snapfectly",
"cachedResultName": "snapfectly"
}
},
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "abfa54c4-c88a-4362-ae5c-89bc1a63193c",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
896,
-160
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "1a035b2f-99bd-4673-a6c1-775b7494d9cc",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
1072,
-160
],
"parameters": {
"options": {},
"textSplittingMode": "custom"
},
"typeVersion": 1.1
},
{
"id": "5bed9568-6db7-4bcd-85cc-1dbcfd673b76",
"name": "Recursive Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
1072,
0
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "080c49d0-665f-4f01-8098-05a7fb7f2e88",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-64,
-368
],
"parameters": {
"options": {
"systemMessage": "## Your Role\nYou are a helpful assistant that finds information from our vector store to answer user questions.\n\n## How You Work\n1. When a user asks a question, search the vector store for relevant information\n2. Use the retrieved information to provide accurate answers\n3. Always base your response on what you find in the database\n4. if you didn't find an answer, just say it don't try to fill the gap\n\n## Response Rules\n- **Answer directly** - Give the user what they asked for first\n- **Use retrieved data only** - Don't make up information\n- **Be clear about sources** - Mention when information comes from the database\n- **If no information found** - Tell the user \"I couldn't find information about that in the database\"\n- **Stay helpful** - Offer to search for related topics if the exact answer isn't available"
}
},
"typeVersion": 2.2
},
{
"id": "31a42bd8-60ca-48f6-bbf8-ba303cdf9ff6",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-192,
-160
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "3bbb2363-49b4-4fc8-a49c-9e6ace38f1a3",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-48,
-160
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "475324a5-6e46-4e3c-9494-defc406e4e0c",
"name": "Embeddings OpenAI1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
96,
0
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "8ee72c96-167e-4baa-9e3a-15d101ca5e52",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-352,
-464
],
"parameters": {
"color": 3,
"width": 752,
"height": 672,
"content": "## Agent"
},
"typeVersion": 1
},
{
"id": "6d384a15-5bb8-4654-b0a5-e39a3764e75b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-464
],
"parameters": {
"color": 5,
"width": 1008,
"height": 672,
"content": "## Insert documents into pinecone"
},
"typeVersion": 1
},
{
"id": "bf7498d8-c3c8-42bc-b3f3-eca2ea027eec",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-272,
-368
],
"parameters": {
"options": {}
},
"typeVersion": 1.3
},
{
"id": "9097259b-2ec7-4cd6-995e-6dc34d8e43f8",
"name": "Reranker Cohere",
"type": "@n8n/n8n-nodes-langchain.rerankerCohere",
"position": [
240,
0
],
"parameters": {},
"credentials": {
"cohereApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "166b7c53-c144-44e3-8207-976ad590c14f",
"name": "Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
96,
-160
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 10,
"options": {},
"useReranker": true,
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "snapfectly",
"cachedResultName": "snapfectly"
},
"toolDescription": "use this to retrieve information from our vector database"
},
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "bc2ff0c7-9231-4306-9600-520cc82547b1",
"connections": {
"Vector Store": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Download file": {
"main": [
[
{
"node": "Pinecone Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Reranker Cohere": {
"ai_reranker": [
[
{
"node": "Vector Store",
"type": "ai_reranker",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Embeddings OpenAI1": {
"ai_embedding": [
[
{
"node": "Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Google Drive Trigger": {
"main": [
[
{
"node": "Download file",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Recursive Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"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.
cohereApigoogleDriveOAuth2ApiopenAiApipineconeApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This intelligent customer support chatbot leverages Retrieval-Augmented Generation (RAG) to provide accurate, contextual responses by combining your knowledge base with AI capabilities. The system automatically retrieves relevant documents from your Pinecone vector store and…
Source: https://n8n.io/workflows/7561/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Alfred (funcional). Uses gmailTool, googleCalendarTool, gmail, embeddingsOpenAi. Event-driven trigger; 83 nodes.
Your AI workforce is ready. Are you?
This intelligent chatbot leverages cutting-edge financial APIs and AI-driven analysis to deliver comprehensive stock research reports. Get instant access to professional-grade investment analysis that
This advanced n8n workflow automates the full lead enrichment, qualification, and personalized outreach process tailored specifically for the B2B real estate sector. Integrating top platforms like Api
This n8n template automatically classifies incoming emails (Sales, Support, Internal, Finance, Promotions) and routes them to a dedicated OpenAI LLM Agent for processing. Depending on the category, th