AutomationFlowsAI & RAG › Data Ingestion Internal V2

Data Ingestion Internal V2

Data_Ingestion_Internal_v2. Uses formTrigger, googleDrive, embeddingsOpenAi, vectorStorePinecone. Event-driven trigger; 11 nodes.

Event trigger★★★★☆ complexityAI-powered11 nodesForm TriggerGoogle DriveOpenAI EmbeddingsPinecone Vector StoreDocument Default Data LoaderText Splitter Recursive Character Text Splitter
AI & RAG Trigger: Event Nodes: 11 Complexity: ★★★★☆ AI nodes: yes Added:

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 →

Download .json
{
  "name": "Data_Ingestion_Internal_v2",
  "nodes": [
    {
      "parameters": {
        "formTitle": "RAG Data Ingestion",
        "formDescription": "RAG Data Ingestion for the knowledge store",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Select Files to be uploaded",
              "fieldType": "file"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.3,
      "position": [
        -592,
        544
      ],
      "id": "c7ffc09a-9089-4c54-8881-18b3aa45a4a0",
      "name": "On form submission"
    },
    {
      "parameters": {
        "content": "## Ingestion Pipeline (Offline/Retrieval)\n",
        "height": 1008,
        "width": 2176
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        80
      ],
      "typeVersion": 1,
      "id": "1135fc03-a13d-4b88-a32c-579a69a05db4",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        160,
        272
      ],
      "id": "919d04df-c5c1-4b75-8c88-7f22e7f09794",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "operation": "download",
        "fileId": {
          "__rl": true,
          "value": "={{ $json.id }}",
          "mode": "id"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        704,
        256
      ],
      "id": "53e589b9-2bc0-4a12-b351-f7ac1afd67ad",
      "name": "Download file",
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "text-embedding-3-large",
        "options": {
          "dimensions": 1024
        }
      },
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.2,
      "position": [
        1008,
        592
      ],
      "id": "dd3e8f80-d971-441b-9180-28ab01702ca0",
      "name": "Embeddings OpenAI",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "pineconeIndex": {
          "__rl": true,
          "value": "novacart",
          "mode": "list",
          "cachedResultName": "novacart"
        },
        "options": {
          "pineconeNamespace": "int-finance-data"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "typeVersion": 1.3,
      "position": [
        1152,
        240
      ],
      "id": "28039f5f-b747-4db9-b76c-f86411146769",
      "name": "Pinecone Vector Store1",
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "dataType": "binary",
        "textSplittingMode": "custom",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1.1,
      "position": [
        1392,
        480
      ],
      "id": "a8c96720-8f00-4d62-bee5-c83c5fbffbbf",
      "name": "Default Data Loader1"
    },
    {
      "parameters": {
        "chunkSize": 500,
        "chunkOverlap": 50,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        1632,
        784
      ],
      "id": "f24d7383-b498-486a-a0df-5841475d2a8d",
      "name": "Recursive Character Text Splitter"
    },
    {
      "parameters": {
        "jsCode": "let results = [];\n\nfor (const item of $input.all()) {\n    for (key of Object.keys(item.binary)) {\n        results.push({\n            json: {\n                fileName: item.binary[key].fileName\n            },\n            binary: {\n                data: item.binary[key],\n            }\n        });\n    }\n}\n\nreturn results;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -336,
        544
      ],
      "id": "b93401a6-8687-4f20-b258-8d7d3fa29856",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "content": "Alternate option: Manual Trigger\nConnect the code Element to Switch Element",
        "height": 400,
        "width": 576,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -656,
        368
      ],
      "id": "8b83191c-c977-4d53-9f78-30c6053e2d4f",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "resource": "fileFolder",
        "filter": {
          "folderId": {
            "__rl": true,
            "value": "1elLqxBydD_tHpt-4mjgV1WNrCZPR7dY7",
            "mode": "list",
            "cachedResultName": "Novacart_n8n_Internal",
            "cachedResultUrl": "https://drive.google.com/drive/folders/1elLqxBydD_tHpt-4mjgV1WNrCZPR7dY7"
          }
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        432,
        256
      ],
      "id": "b9810755-7e56-44e8-8f94-b6671b7a9003",
      "name": "Search files and folders",
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Search files and folders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download file": {
      "main": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader1": {
      "ai_document": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader1",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search files and folders": {
      "main": [
        [
          {
            "node": "Download file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate"
  },
  "versionId": "f834d369-0b27-4cff-aa54-9a6520b2e797",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "QX3FUCNadEHK21UO",
  "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Data_Ingestion_Internal_v2. Uses formTrigger, googleDrive, embeddingsOpenAi, vectorStorePinecone. Event-driven trigger; 11 nodes.

Source: https://github.com/praveenjatta/novaCart-n8n-finance-agent/blob/main/Data_Ingestion_Internal_v2.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

The IngestionDocs workflow is a fully automated **document ingestion and knowledge management system built with n8n**. Its purpose is to continuously ingest organizational documents from Google Drive,

Pinecone Vector Store, OpenAI Embeddings, Document Default Data Loader +9
AI & RAG

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

OpenAI, Gmail, Text Classifier +16
AI & RAG

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

@Devlikeapro/N8N Nodes Waha, Google Drive Trigger, @Apify/N8N Nodes Apify +14
AI & RAG

This workflow automates the early-stage job application process using AI.

Pinecone Vector Store, Document Default Data Loader, Google Drive +9
AI & RAG

Every company has documents sitting in Google Drive that nobody reads. HR policies, sales playbooks, product FAQs, financial guidelines — all written once, never found again. This workflow turns all o

Google Sheets, Gmail, Google Drive +5