This workflow corresponds to n8n.io template #3184 — we link there as the canonical source.
This workflow follows the Airtable → HTTP Request 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": "Vlyhg8yXcCMMVq7k",
"name": "YT RAG Agent Backend Transcript-format-pineconeUpsert",
"tags": [],
"nodes": [
{
"id": "308ee339-14ae-4920-8830-0756440f06b3",
"name": "Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
40,
260
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "4a0324d8-27a0-468b-9a37-d7297c419cc0",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
240,
260
],
"parameters": {},
"typeVersion": 3
},
{
"id": "14e43ff8-16fd-45f6-b7d9-5ac7e4f10dfe",
"name": "Airtable1",
"type": "n8n-nodes-base.airtable",
"onError": "continueErrorOutput",
"position": [
1180,
340
],
"parameters": {},
"typeVersion": 2.1,
"alwaysOutputData": true
},
{
"id": "f1e16621-7642-42df-baff-fa943f5ec7f9",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
540,
340
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "2a17f4a3-91be-465d-9318-f889b87b47ca",
"name": "Apify NinjaPost",
"type": "n8n-nodes-base.httpRequest",
"position": [
400,
340
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "a3071928-a592-4f26-a548-ac52cfb18ca6",
"name": "Get JSON TS",
"type": "n8n-nodes-base.httpRequest",
"position": [
680,
340
],
"parameters": {},
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "9216991d-e5de-4681-bab0-c20ddd00c77c",
"name": "JSON Stringifier",
"type": "n8n-nodes-base.code",
"position": [
820,
340
],
"parameters": {},
"typeVersion": 2
},
{
"id": "90db5c4e-e23e-4101-8465-10bbb686b658",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
980,
340
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "c04e0167-8104-4149-8b81-09ebe7957e91",
"name": "Airtable2",
"type": "n8n-nodes-base.airtable",
"position": [
100,
740
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "b5132329-2385-4fb9-8d8a-ce838974c189",
"name": "Pinecone Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
420,
740
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4c68d784-d86e-4f87-ad72-b2085cb998a1",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
420,
920
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "6f641b5d-5716-4283-bd09-2bb746e41939",
"name": "When clicking \u2018Test workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-40,
740
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6ed623e3-0256-44ba-b3d2-c74ea7f38399",
"name": "Transcript Processor",
"type": "n8n-nodes-base.code",
"position": [
260,
740
],
"parameters": {},
"typeVersion": 2
},
{
"id": "5f77e165-4288-4e40-a381-23d2ef409752",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
540,
900
],
"parameters": {},
"typeVersion": 1
},
{
"id": "50495550-405a-4ab5-aa1c-dbd5731fa3f1",
"name": "Recursive Character Text Splitter1",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
540,
1060
],
"parameters": {},
"typeVersion": 1
},
{
"id": "aafb300a-7311-43a2-8bbe-67dfabfec313",
"name": "Installation Tutorial",
"type": "n8n-nodes-base.stickyNote",
"position": [
-260,
-760
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "89526f4d-4135-4cc1-87bc-4fcbf0bc213e",
"connections": {
"Wait": {
"main": [
[
{
"node": "Get JSON TS",
"type": "main",
"index": 0
}
]
]
},
"Airtable": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Airtable1": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Airtable2": {
"main": [
[
{
"node": "Transcript Processor",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields": {
"main": [
[
{
"node": "Airtable1",
"type": "main",
"index": 0
}
]
]
},
"Get JSON TS": {
"main": [
[
{
"node": "JSON Stringifier",
"type": "main",
"index": 0
}
]
]
},
"Apify NinjaPost": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Apify NinjaPost",
"type": "main",
"index": 0
}
]
]
},
"JSON Stringifier": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Transcript Processor": {
"main": [
[
{
"node": "Pinecone Vector Store",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "Airtable2",
"type": "main",
"index": 0
}
]
]
},
"Recursive Character Text Splitter1": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This tutorial explains how to build the backend workflow in n8n that indexes YouTube video transcripts into a Pinecone vector database. Note: This workflow handles the processing and indexing of transcripts only—the retrieval agent (which searches these embeddings) is…
Source: https://n8n.io/workflows/3184/ — 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
Code Extractfromfile. Uses manualTrigger, sort, httpRequest, compression. Event-driven trigger; 50 nodes.
2464. Uses httpRequest, compression, editImage, documentDefaultDataLoader. Event-driven trigger; 50 nodes.
Workflow 2464. Uses httpRequest, compression, editImage, documentDefaultDataLoader. Event-driven trigger; 50 nodes.