This workflow follows the Documentdefaultdataloader → OpenAI 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 →
{
"name": "crtnvecdb",
"nodes": [
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"value": "16OkWaLCXWH2uynbfLA2vfLndbHcoVW5q",
"mode": "list",
"cachedResultName": "studenthandbook",
"cachedResultUrl": "https://drive.google.com/drive/folders/16OkWaLCXWH2uynbfLA2vfLndbHcoVW5q"
},
"event": "fileCreated",
"options": {}
},
"type": "n8n-nodes-base.googleDriveTrigger",
"typeVersion": 1,
"position": [
400,
48
],
"id": "7cf4dbdc-eaed-4512-8c31-fdd9b800e257",
"name": "Student Handbook Trigger",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "// Map folder IDs to namespace names\nconst folderToNamespace = {\n '16OkWaLCXWH2uynbfLA2vfLndbHcoVW5q': 'studenthandbook',\n '1W3Fnlz0W033AufgXRw4ZP8gUZJJf1ZDY': 'recipes',\n '1d3fw3hCHhk9tiprV6KxgjGbfNqdKTXZZ': 'onboarding'\n};\n\n// Get the parent folder ID from the input\nconst parentFolderId = $input.all()[0].json.parents[0];\n\n// Determine the namespace based on the folder\nconst namespace = folderToNamespace[parentFolderId] || 'unknown';\n\n// Add namespace to the data\nreturn {\n ...($input.all()[0].json),\n namespace: namespace,\n document_type: namespace.replace(/([A-Z])/g, '_$1').toLowerCase()\n};"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
656,
288
],
"id": "7af2f0e6-6c6f-4049-b5d9-cd2925e3cd70",
"name": "Map Folder to Namespace"
},
{
"parameters": {
"operation": "download",
"fileId": {
"__rl": true,
"value": "={{ $json.id }}",
"mode": "id"
},
"options": {}
},
"type": "n8n-nodes-base.googleDrive",
"typeVersion": 3,
"position": [
864,
288
],
"id": "621a263a-eef0-4138-a15a-5770b304193a",
"name": "Download File",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"mode": "insert",
"pineconeIndex": {
"__rl": true,
"value": "icn8n",
"mode": "list",
"cachedResultName": "icn8n"
},
"options": {
"pineconeNamespace": "={{$json.namespace}}"
}
},
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"typeVersion": 1.3,
"position": [
1056,
288
],
"id": "5359630f-1f3c-4a8e-a0ba-c364473aad15",
"name": "Pinecone Vector Store",
"credentials": {
"pineconeApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"options": {
"dimensions": 512
}
},
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"typeVersion": 1.2,
"position": [
1072,
528
],
"id": "5e68d3f0-018b-488a-99d1-e359fa27b3d5",
"name": "Embeddings OpenAI",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"dataType": "binary",
"textSplittingMode": "custom",
"options": {
"metadata": {
"metadataValues": [
{
"name": "file",
"value": "={{ $json.name }}"
},
{
"name": "id",
"value": "={{ $json.id }}"
},
{
"name": "document_type",
"value": "={{ $json.document_type }}"
},
{
"name": "namespace",
"value": "={{ $json.namespace }}"
}
]
}
}
},
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"typeVersion": 1.1,
"position": [
1200,
464
],
"id": "32484aed-1449-41a8-8149-633b9a6aeef1",
"name": "Document Loader"
},
{
"parameters": {
"chunkOverlap": 100,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"typeVersion": 1,
"position": [
1312,
736
],
"id": "53093dc5-0f82-4ebc-b100-f0e32d2bdb51",
"name": "Text Splitter"
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"value": "1W3Fnlz0W033AufgXRw4ZP8gUZJJf1ZDY",
"mode": "list",
"cachedResultName": "Recipes",
"cachedResultUrl": "https://drive.google.com/drive/folders/1W3Fnlz0W033AufgXRw4ZP8gUZJJf1ZDY"
},
"event": "fileCreated",
"options": {}
},
"type": "n8n-nodes-base.googleDriveTrigger",
"typeVersion": 1,
"position": [
384,
272
],
"id": "274690d4-3c56-4297-9612-db388809179e",
"name": "RecipefolderTrigger",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"value": "1d3fw3hCHhk9tiprV6KxgjGbfNqdKTXZZ",
"mode": "list",
"cachedResultName": "Onboarding_Assitant",
"cachedResultUrl": "https://drive.google.com/drive/folders/1d3fw3hCHhk9tiprV6KxgjGbfNqdKTXZZ"
},
"event": "fileCreated",
"options": {}
},
"type": "n8n-nodes-base.googleDriveTrigger",
"typeVersion": 1,
"position": [
400,
512
],
"id": "8884fa79-d8fc-4d62-b288-d8d89a312e8e",
"name": "onboardingTrigger",
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Student Handbook Trigger": {
"main": [
[
{
"node": "Map Folder to Namespace",
"type": "main",
"index": 0
}
]
]
},
"Map Folder to Namespace": {
"main": [
[
{
"node": "Download File",
"type": "main",
"index": 0
}
]
]
},
"Download File": {
"main": [
[
{
"node": "Pinecone Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Document Loader": {
"ai_document": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Document Loader",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"RecipefolderTrigger": {
"main": [
[
{
"node": "Map Folder to Namespace",
"type": "main",
"index": 0
}
]
]
},
"onboardingTrigger": {
"main": [
[
{
"node": "Map Folder to Namespace",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": "ovBKdGFXJaVSy5RN"
},
"versionId": "3e0983e1-9bc5-4651-8be2-7a1b85c26257",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "ovBKdGFXJaVSy5RN",
"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.
googleDriveOAuth2ApiopenAiApipineconeApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
crtnvecdb. Uses googleDriveTrigger, googleDrive, vectorStorePinecone, embeddingsOpenAi. Event-driven trigger; 9 nodes.
Source: https://github.com/viswapani/Blackelephant/blob/f6c06dee5510bea6203c407e704128024adb8802/n8n/crtnvecdb_final.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.
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
Automate Outreach Prospect automates finding, enriching, and messaging potential partners (like restaurants, malls, and bars) using Apify Google Maps scraping, Perplexity enrichment, OpenAI LLMs, Goog
This n8n workflow implements a fully automated Retrieval-Augmented Generation (RAG) pipeline powered by Google Drive, OpenAI embeddings, and Pinecone.
This workflow is built for individuals, teams, and businesses that receive regular inquiries via email and want to automate responses in a way that’s intelligent, brand-aligned, and always up to date.
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