Skip to main content

PDF proposal knowledge base with S3, OpenAI GPT-4o & Qdrant RAG agent

Workflow preview

Workflow preview
100%
PDF proposal knowledge base with S3, OpenAI GPT-4o & Qdrant RAG agent preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This template has a two part setup: 1. Ingest PDF files from S3, extract text, chunk, embed with OpenAI embeddings, and index into a Qdrant collection with metadata. 2. Provide a chat entry point t...

Best for

  • AI RAG automation workflows
  • Multimodal AI automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.manualtrigger, n8n-nodes-base.splitinbatches, n8n-nodes-base.extractfromfile, @n8n/n8n-nodes-langchain.vectorstoreqdrant, n8n-nodes-base.awss3, @n8n/n8n-nodes-langchain.embeddingsopenai, @n8n/n8n-nodes-langchain.documentdefaultdataloader, @n8n/n8n-nodes-langchain.textsplitterrecursivecharactertextsplitter

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Joe Swink.

Original n8n.io source

1.1 Workflow description

Title
PDF proposal knowledge base with S3, OpenAI GPT-4o & Qdrant RAG agent
Workflow name
PDF proposal knowledge base with S3, OpenAI GPT-4o & Qdrant RAG agent

This template has a two part setup:

  1. Ingest PDF files from S3, extract text, chunk, embed with OpenAI embeddings, and index into a Qdrant collection with metadata.
  2. Provide a chat entry point that uses an Agent with OpenAI to retrieve from the same Qdrant collection as a tool and answer proposal knowledge questions.

What it does

  • Lists objects in an S3 bucket, loops through keys, downloads each file, and extracts text from PDFs.
  • Chunks text and loads it into Qdrant with metadata for retrieval.
  • Exposes a chat trigger wired to an Agent using an OpenAI chat model.
  • Adds a retrieve as tool Qdrant node so the Agent can ground answers in the indexed corpus.

Why it is useful

  • Simple pattern for building a proposal or knowledge base from PDFs stored in S3.
  • End to end path from ingestion to retrieval augmented answers.
  • Easy to swap models or collections, and to extend with more tools.

Setup notes

  • Attach your own AWS credentials to the two S3 nodes and set your bucket name.
  • Attach your Qdrant credentials to both Qdrant nodes and set your collection.
  • Attach your OpenAI credentials to the embedding and chat nodes.
  • The sanitized template uses placeholders for bucket and collection names.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - When clicking ‘Test workflow’

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 2 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 3 - Extract from File

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 4 - Qdrant Vector Store

Type / Role
@n8n/n8n-nodes-langchain.vectorStoreQdrant - vectorStoreQdrant
Config choices
Version 1.1

Block 5 - Download Files from AWS

Type / Role
n8n-nodes-base.awsS3 - awsS3
Config choices
Version 2

Block 6 - Get Files from S3

Type / Role
n8n-nodes-base.awsS3 - awsS3
Config choices
Version 2

Block 7 - Embeddings OpenAI

Type / Role
@n8n/n8n-nodes-langchain.embeddingsOpenAi - embeddingsOpenAi
Config choices
Version 1.2

Block 8 - Default Data Loader

Type / Role
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - documentDefaultDataLoader
Config choices
Version 1

Block 9 - Recursive Character Text Splitter

Type / Role
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter - textSplitterRecursiveCharacterTextSplitter
Config choices
Version 1

Block 10 - When chat message received

Type / Role
@n8n/n8n-nodes-langchain.chatTrigger - chatTrigger
Config choices
Version 1.1

Block 11 - AI Agent

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 12 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 13 - Qdrant Vector Store1

Type / Role
@n8n/n8n-nodes-langchain.vectorStoreQdrant - vectorStoreQdrant
Config choices
Version 1.1

Block 14 - Embeddings OpenAI1

Type / Role
@n8n/n8n-nodes-langchain.embeddingsOpenAi - embeddingsOpenAi
Config choices
Version 1.2

3. Summary Table

Workflow PDF proposal knowledge base with S3, OpenAI GPT-4o & Qdrant RAG agent
Complexity intermediate
Nodes 14
Categories AI RAG, Multimodal AI
Author Joe Swink
Published 20 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/7667/7667.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does PDF proposal knowledge base with S3, OpenAI GPT-4o & Qdrant RAG agent do?

This template has a two part setup: 1. Ingest PDF files from S3, extract text, chunk, embed with OpenAI embeddings, and index into a Qdrant collection with metadata. 2. Provide a chat entry point t...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your AI RAG, Multimodal AI use case.