AutomationFlowsAI & RAG › Knowledge Ingestion

Knowledge Ingestion

Knowledge ingestion. Uses documentDefaultDataLoader, textSplitterRecursiveCharacterTextSplitter, vectorStoreQdrant, embeddingsOpenAi. Event-driven trigger; 6 nodes.

Event trigger★★☆☆☆ complexityAI-powered6 nodesDocument Default Data LoaderText Splitter Recursive Character Text SplitterQdrant Vector StoreOpenAI EmbeddingsGoogle Sheets Trigger
AI & RAG Trigger: Event Nodes: 6 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": "Knowledge ingestion",
  "nodes": [
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "58cd871e-7c2b-45e9-a5f3-4bd1f7531b03",
              "name": "text",
              "value": "=title :  {{ $json.title }} | abstract : {{ $json.abstract }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -160,
        656
      ],
      "id": "47fd7dda-960c-41b9-90fd-573b4deaa83a",
      "name": "[Transform] Format Title & Abstract"
    },
    {
      "parameters": {
        "textSplittingMode": "custom",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1.1,
      "position": [
        200,
        888
      ],
      "id": "608531a3-434c-4349-a2d8-4de42b0e4230",
      "name": "[Load] Convert to Documents"
    },
    {
      "parameters": {
        "chunkSize": 800,
        "chunkOverlap": 100,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        280,
        1096
      ],
      "id": "73ac8109-df45-4e8b-ae56-95cb2edbf82a",
      "name": "[Split] Chunk Text (800/100)"
    },
    {
      "parameters": {
        "mode": "insert",
        "qdrantCollection": {
          "__rl": true,
          "value": "my_rag",
          "mode": "list",
          "cachedResultName": "my_rag"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
      "typeVersion": 1.3,
      "position": [
        96,
        656
      ],
      "id": "b825f9b6-9e20-431e-98b3-a1d4aad745ef",
      "name": "[Store] Insert to Vector DB",
      "credentials": {
        "qdrantApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "typeVersion": 1.2,
      "position": [
        72,
        888
      ],
      "id": "299aa97f-34ce-4b81-a252-0df6b28c3309",
      "name": "[Embed] Generate Vectors",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyHour"
            }
          ]
        },
        "documentId": "={{ $env.GOOGLE_SHEETS_ID }}",
        "sheetName": "={{ $env.GOOGLE_SHEETS_SHEET_NAME || \"Sheet1\" }}",
        "event": "rowAdded",
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "typeVersion": 1,
      "position": [
        -384,
        656
      ],
      "id": "50ed2095-a3c4-48af-8bc2-da0d25f29e81",
      "name": "[Trigger] Watch New Paper",
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "[Transform] Format Title & Abstract": {
      "main": [
        [
          {
            "node": "[Store] Insert to Vector DB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "[Load] Convert to Documents": {
      "ai_document": [
        [
          {
            "node": "[Store] Insert to Vector DB",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "[Split] Chunk Text (800/100)": {
      "ai_textSplitter": [
        [
          {
            "node": "[Load] Convert to Documents",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "[Embed] Generate Vectors": {
      "ai_embedding": [
        [
          {
            "node": "[Store] Insert to Vector DB",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "[Trigger] Watch New Paper": {
      "main": [
        [
          {
            "node": "[Transform] Format Title & Abstract",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": false
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "nodeGroups": [],
  "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

Knowledge ingestion. Uses documentDefaultDataLoader, textSplitterRecursiveCharacterTextSplitter, vectorStoreQdrant, embeddingsOpenAi. Event-driven trigger; 6 nodes.

Source: https://github.com/mryusefi/rag-chatbot-qdrant/blob/main/knowledge-ingestion.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

simple_vector_db. Uses googleDriveTrigger, googleDrive, vectorStoreQdrant, embeddingsOpenAi. Event-driven trigger; 13 nodes.

Google Drive Trigger, Google Drive, Qdrant Vector Store +6
AI & RAG

RAG Agent. Uses vectorStoreQdrant, documentDefaultDataLoader, agent, chatTrigger. Event-driven trigger; 12 nodes.

Qdrant Vector Store, Document Default Data Loader, Agent +5
AI & RAG

Upload Brochures to Qdrant (Manual Trigger). Uses googleDrive, vectorStoreQdrant, embeddingsOpenAi, documentDefaultDataLoader. Event-driven trigger; 8 nodes.

Google Drive, Qdrant Vector Store, OpenAI Embeddings +2
AI & RAG

Agent IA Projet Client. Uses executeWorkflowTrigger, lmChatOpenAi, toolWorkflow, vectorStoreQdrant. Event-driven trigger; 79 nodes.

Execute Workflow Trigger, OpenAI Chat, Tool Workflow +16
AI & RAG

Build a powerful, customizable AI chatbot for your WordPress website that intelligently retrieves posts, answers questions, and engages in natural conversations. This complete solution handles content

Qdrant Vector Store, OpenAI Embeddings, Document Default Data Loader +10