This workflow corresponds to n8n.io template #4501 — 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": "xOFhKr29kjrBDnlw",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Instant RaG Builder",
"tags": [],
"nodes": [
{
"id": "71812204-ccca-4757-a52f-0cd30c7ef393",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-440,
-80
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1uf6zZN51rgAuQgid4-Oi314f6mJIQdiB",
"cachedResultUrl": "https://drive.google.com/drive/folders/1uf6zZN51rgAuQgid4-Oi314f6mJIQdiB",
"cachedResultName": "ETOO power"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "e4302b23-c964-421e-a8fd-3e84935a1fea",
"name": "Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
-220,
-80
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "9990d9d8-3c56-49af-beb9-d9a335ed7874",
"name": "Pinecone Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
40,
-80
],
"parameters": {
"mode": "insert",
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "ragfile",
"cachedResultName": "ragfile"
}
},
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.1
},
{
"id": "ee09de71-4146-4f51-a036-5eeb0d72044a",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-40,
140
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "b1edcf2c-4b19-43dc-9985-dad03a0e6df2",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
180,
140
],
"parameters": {
"options": {},
"dataType": "binary"
},
"typeVersion": 1
},
{
"id": "1db4c053-9953-4a63-91cc-676fc59d434d",
"name": "Recursive Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
200,
260
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "80e69d74-18ca-4d47-8900-9fa070fd2b22",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-440,
440
],
"parameters": {
"options": {}
},
"typeVersion": 2
},
{
"id": "9679f79a-cbee-4d6e-9633-76c96e5c7ffc",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-720,
440
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "3ea509ac-f5dd-410f-b310-587382770773",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-440,
620
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "6bbee514-a4c6-4ea9-97fb-02d0343c93a9",
"name": "Pinecone Vector Store1",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-140,
600
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"toolName": "knowledge_base",
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "ragfile",
"cachedResultName": "ragfile"
},
"toolDescription": "call this tool to access the database"
},
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "37fd9772-35c6-4310-b449-f1b07b729f6d",
"name": "Embeddings OpenAI1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
60,
760
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "51c6804d-6b49-4a5f-a475-26abef7925b0",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1220,
80
],
"parameters": {
"width": 460,
"height": 620,
"content": "## Instant RaG Builder: Drive to Pinecone\n\n**Author** **David Olusola**\n\n**Set Up** :\u2705 Connect credentials:\n\u00a0\u00a0\u00a0\u00a0Google Drive, OpenAI, Pinecone\n\n\ud83d\udcc1 Upload file to:\n\u00a0\u00a0\u00a0\u00a0Google Drive folder (auto-watched)\n\n\ud83d\udd04 Workflow does the rest:\n\u00a0\u00a0\u00a0\u00a0- Downloads file\n\u00a0\u00a0\u00a0\u00a0- Splits text\n\u00a0\u00a0\u00a0\u00a0- Creates embeddings\n\u00a0\u00a0\u00a0\u00a0- Stores in Pinecone\n\n\ud83d\udcac Send a chat message to the Agent\n\u00a0\u00a0\u00a0\u00a0\u2192 Query stored knowledge instantly!"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "f8ed5291-ab8f-428a-9728-8db5b3c04122",
"connections": {
"Google Drive": {
"main": [
[
{
"node": "Pinecone Vector Store",
"type": "main",
"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": "Pinecone Vector Store1",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Google Drive Trigger": {
"main": [
[
{
"node": "Google Drive",
"type": "main",
"index": 0
}
]
]
},
"Pinecone 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.
googleDriveOAuth2ApiopenAiApipineconeApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
🔍 What This Workflow Does
Source: https://n8n.io/workflows/4501/ — 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.
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 powerful AI automation add-on upgrades your Telegram Bot Starter Template by integrating a fully functional AI chatbot and a context-aware AI agent that answers user questions using your internal
Deploy a personal AI assistant that answers recruiter questions about your skills and projects, then automatically emails your CV as a PDF attachment when requested. Upload your portfolio documents (r