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": "L9nteAq0NLYqIGxH",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "RAG Pipeline",
"tags": [],
"nodes": [
{
"id": "a00e5b5b-1cc1-4272-9790-8ffde3c92efb",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"parameters": {
"options": {},
"formTitle": "Add your file here",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "File",
"requiredField": true,
"acceptFileTypes": ".pdf"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "1218186e-a93e-4e05-b47e-a395f28cf5f9",
"name": "Qdrant Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
220,
0
],
"parameters": {
"mode": "insert",
"options": {},
"qdrantCollection": {
"__rl": true,
"mode": "id",
"value": "rag_collection"
}
},
"credentials": {
"qdrantApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "9c7fb858-b571-4626-b976-d3e1995c464b",
"name": "Embeddings Ollama",
"type": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"position": [
60,
220
],
"parameters": {
"model": "mxbai-embed-large:latest"
},
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "af14443b-ae01-48dc-8552-5ded7a27fce2",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
360,
220
],
"parameters": {
"options": {},
"dataType": "binary"
},
"typeVersion": 1
},
{
"id": "660380c5-63da-4404-98e6-f9c0ee9aaa90",
"name": "Recursive Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
460,
440
],
"parameters": {
"options": {},
"chunkSize": 200,
"chunkOverlap": 50
},
"typeVersion": 1
},
{
"id": "49dbe387-751f-4a2e-8803-290bc2c06ec5",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-140,
-100
],
"parameters": {
"color": 3,
"width": 840,
"height": 700,
"content": "## Data Ingestion\n**Add data to the semantic database"
},
"typeVersion": 1
},
{
"id": "45683271-af59-41d0-9e69-af721d566661",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
940,
-20
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "af562588-2e8c-4c0b-b041-d6fc8c0affd0",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1220,
-20
],
"parameters": {
"options": {
"systemMessage": "You are a helpful assistant. You have access to a tool to retrieve data from a semantic database to answer questions. Always provide arguments when you execute the tool"
}
},
"typeVersion": 2
},
{
"id": "4d924b4a-fe07-4606-8385-613d6ea14991",
"name": "Ollama Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOllama",
"position": [
1060,
220
],
"parameters": {
"options": {}
},
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "de87b7bb-6fec-4d8f-a77a-25bc3a30a038",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1260,
220
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "16261539-5218-4df1-8b14-915dd3377167",
"name": "Qdrant Vector Store1",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
1540,
240
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"toolName": "retriever",
"toolDescription": "Retrieve data from a semantic database to answer questions",
"qdrantCollection": {
"__rl": true,
"mode": "id",
"value": "rag_collection"
}
},
"credentials": {
"qdrantApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "57d3be1d-73cd-4464-a3f3-7dd4a3157cdf",
"name": "Embeddings Ollama1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"position": [
1460,
440
],
"parameters": {
"model": "mxbai-embed-large:latest"
},
"credentials": {
"ollamaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "5919cc58-05f4-42c8-aada-3782a16574d9",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
740,
-100
],
"parameters": {
"color": 4,
"width": 1200,
"height": 700,
"content": "## RAG Chatbot\n**Chat with your data"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "895c0261-fbf5-4bb6-9581-4cea3c4d20bd",
"connections": {
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Embeddings Ollama": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Ollama Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Embeddings Ollama1": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store1",
"type": "ai_embedding",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Qdrant Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Qdrant Vector Store1": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"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.
ollamaApiqdrantApi
About this workflow
RAG Pipeline. Uses formTrigger, vectorStoreQdrant, embeddingsOllama, documentDefaultDataLoader. Event-driven trigger; 13 nodes.
Source: https://github.com/Codimart/n8n-ai-agents-starter-kit/blob/main/workflows/ai-agent-rag.json — original creator credit. Request a take-down →