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 →
{
"name": "simple_vector_db",
"nodes": [
{
"parameters": {
"content": "## 1. VectorDB \uc800\uc7a5\n- \uad6c\uae00 \ub4dc\ub77c\uc774\ube0c \uacbd\ub85c\uc5d0\n- \ud30c\uc77c\uc774 \uc800\uc7a5\ub418\uba74\n- Vector DB\ub85c \ubcc0\ud658",
"height": 620,
"width": 860
},
"type": "n8n-nodes-base.stickyNote",
"position": [
-580,
-240
],
"typeVersion": 1,
"id": "5bae3ef5-00e9-4afc-8982-46a0378ac59d",
"name": "Sticky Note"
},
{
"parameters": {
"content": "## 2. \ucc44\ud305\uc744 \ud1b5\ud574 RAG \uad6c\uc131\n- Vector DB\ub97c \ubd88\ub7ec\uc634\n- Tool\ub85c \uc5f0\uacb0",
"height": 620,
"width": 760
},
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
-240
],
"typeVersion": 1,
"id": "4d79675b-2247-408f-9ed5-dd38c17334eb",
"name": "Sticky Note1"
},
{
"parameters": {
"pollTimes": {
"item": [
{}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"value": "13MNLhucMhOcJcTPOSA-eswiivTPvHQMm",
"mode": "list",
"cachedResultName": "PAPER",
"cachedResultUrl": "https://drive.google.com/drive/folders/13MNLhucMhOcJcTPOSA-eswiivTPvHQMm"
},
"event": "fileCreated",
"options": {}
},
"type": "n8n-nodes-base.googleDriveTrigger",
"typeVersion": 1,
"position": [
-520,
-80
],
"id": "86d9461f-ddab-4788-aa24-fed891a90d10",
"name": "Google Drive Trigger",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "download",
"fileId": {
"__rl": true,
"value": "={{ $json.id }}",
"mode": "id"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
-300,
-80
],
"id": "c663736e-403a-4ffb-9785-40e3fd94c883",
"name": "Google Drive",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"mode": "insert",
"qdrantCollection": {
"__rl": true,
"value": "docs",
"mode": "list",
"cachedResultName": "docs"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"typeVersion": 1.1,
"position": [
-120,
-80
],
"id": "a4c8850a-e5a5-48b8-98c5-41adb4591c0e",
"name": "Qdrant Vector Store",
"credentials": {
"qdrantApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"typeVersion": 1.2,
"position": [
-260,
120
],
"id": "4eccc977-f311-4218-a044-71f624b6a79b",
"name": "Embeddings OpenAI",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"typeVersion": 1,
"position": [
-80,
100
],
"id": "8705e5b6-c3a5-44bc-a819-fa65d2e7ed09",
"name": "Default Data Loader"
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"typeVersion": 1,
"position": [
-100,
280
],
"id": "60255bda-bc71-4906-a358-cd80db479fa0",
"name": "Recursive Character Text Splitter"
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"typeVersion": 1.1,
"position": [
400,
-100
],
"id": "4a7a29a7-194c-4d5a-a8f7-a0617fbd1332",
"name": "When chat message received"
},
{
"parameters": {
"promptType": "define",
"text": "={{ $json.chatInput }}",
"options": {
"systemMessage": "You are a helpful assistant.use `rag_knowledge_base` when the user wants answers"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.9,
"position": [
580,
-100
],
"id": "be669c63-73a9-4d3d-a520-371326d317a5",
"name": "AI Agent"
},
{
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
500,
140
],
"id": "5559cc4e-a67f-4dad-aa4a-debb465cbb19",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"mode": "retrieve-as-tool",
"toolName": "rag_knowledge_base",
"toolDescription": "work with vector store in qdrant collection",
"qdrantCollection": {
"__rl": true,
"value": "docs",
"mode": "list",
"cachedResultName": "docs"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"typeVersion": 1.1,
"position": [
700,
140
],
"id": "4ab2a40e-3519-4f67-b506-f155b78d38d8",
"name": "Qdrant Vector Store1",
"credentials": {
"qdrantApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"typeVersion": 1.2,
"position": [
700,
260
],
"id": "e2d09e9e-e72c-4bd9-8635-88e8d93b21ef",
"name": "Embeddings OpenAI1",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Google Drive Trigger": {
"main": [
[
{
"node": "Google Drive",
"type": "main",
"index": 0
}
]
]
},
"Google Drive": {
"main": [
[
{
"node": "Qdrant Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Recursive Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Qdrant Vector Store1": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Embeddings OpenAI1": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store1",
"type": "ai_embedding",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "51ea3862-74de-4605-8a31-fada880dc4fd",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "Q3TsyEPGygLrVWKb",
"tags": []
}
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.
googleDriveOAuth2ApiopenAiApiqdrantApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
simple_vector_db. Uses googleDriveTrigger, googleDrive, vectorStoreQdrant, embeddingsOpenAi. Event-driven trigger; 13 nodes.
Source: https://github.com/aieeiee/fc_nocoderag/blob/main/workflow/2_1_simple_vector_db.json — 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.
Order and Delivery Support. Uses lmChatOpenAi, documentDefaultDataLoader, embeddingsOpenAi, toolVectorStore. Event-driven trigger; 29 nodes.
Supabase RAG AI Agent PDFs & More. Uses lmChatOpenAi, documentDefaultDataLoader, embeddingsOpenAi, toolVectorStore. Event-driven trigger; 29 nodes.
Build a Multi-Agent system with n8n, Qdrant, Gmail & OpenAI. Uses vectorStoreQdrant, toolWorkflow, executeWorkflowTrigger, googleDrive. Event-driven trigger; 29 nodes.
This workflow implements a complete Retrieval-Augmented Generation (RAG) knowledge assistant with built-in document ingestion, conversational AI, and automated analytics using n8n, OpenAI, and Pinecon
This workflow automates the creation and management of a Retrieval-Augmented Generation (RAG) system using Qdrant as a vector store and Google Drive as the document source. It enables full or incremen