Document Q&A System with OpenAI GPT, Pinecone Vector DB & Google Drive Integration

Go to Workflow
6 views
Built by Mohan Gopal Mohan Gopal
Created on July 09, 2025

Description

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

๐Ÿค– AI-Powered Document QA System using Webhook, Pinecone + OpenAI + n8n

This project demonstrates how to build a Retrieval-Augmented Generation (RAG) system using n8n, and create a simple Question Answer system using Webhook to connect with User Interface (created using Lovable):

๐Ÿงพ Downloads the pdf file format documents from Google Drive (contract document, user manual, HR policy document etc...)

๐Ÿ“š Converts them into vector embeddings using OpenAI

๐Ÿ” Stores and searches them in Pinecone Vector DB

๐Ÿ’ฌ Allows natural language querying of contracts using AI Agents

๐Ÿ“‚ Flow 1: Document Loading & RAG Setup
This flow automates:

Reading documents from a Google Drive folder

Vectorizing using text-embedding-3-small

Uploading vectors into Pinecone for later semantic search

๐Ÿงฑ Workflow Structure
A [Manual Trigger] --> B[Google Drive Search]
B --> C[Google Drive Download]
C --> D[Pinecone Vector Store]
D --> E[Default Data Loader]
E --> F[Recursive Character Text Splitter]
E --> G[OpenAI Embedding]

๐Ÿชœ Steps
Manual Trigger: Kickstarts the workflow on demand for loading new documents.

Google Drive Search & Download

Node: Google Drive (Search: file/folder)

Downloads PDF documents

Apply Recursive Text Splitter: Breaks long documents into overlapping chunks
Settings:
Chunk Size: 1000
Chunk Overlap: 100

OpenAI Embedding
Model: text-embedding-3-small
Used for creating document vectors

Pinecone Vector Store
Host: url
Index: index
Batch Size: 200

Pinecone Settings:
Type: Dense
Region: us-east-1
Mode: Insert Documents

๐Ÿ’ฌ Flow 2: Chat-Based Q&A Agent
This flow enables chat-style querying of stored documents using OpenAI-powered agents with vector memory.

๐Ÿงฑ Workflow Diagram

A[Webhook (chat message)] --> B[AI Agent]
B --> C[OpenAI Chat Model]
B --> D[Simple Memory]
B --> E[Answer with Vector Store]
E --> F[Pinecone Vector Store]
F --> G[Embeddings OpenAI]

๐Ÿชœ Components
Chat (Trigger): Receives incoming chat queries

AI Agent Node

Handles query flow using:

Chat Model: OpenAI GPT

Memory: Simple Memory

Tool: Question Answer with Vector Store

Pinecone Vector Store: Connected via same embedding index as Flow 1

Embeddings: Ensures document chunks are retrievable using vector similarity

Response Node: Returns final AI response to user via webhook

๐ŸŒ Flow 3: UI-Based Query with Lovable
This flow uses a web UI built using Lovable to query contracts directly from a form interface.

๐Ÿ“ฅ Webhook Setup for Lovable
Webhook Node

Method: POST
URL:url
Response: Using 'Respond to Webhook' Node

๐Ÿงฑ Workflow Logic
A[Webhook (Lovable Form)] --> B[AI Agent]
B --> C[OpenAI Chat Model]
B --> D[Simple Memory]
B --> E[Answer with Vector Store]
E --> F[Pinecone Vector Store]
F --> G[Embeddings OpenAI]
B --> H[Respond to Webhook]

๐Ÿ’ก Lovable UI
Users can submit:

Full Name
Email
Department
Freeform Query: User can enter any freeform query.

Data is sent via webhook to n8n and responded with the answer from contract content.

๐Ÿ” Use Cases
Contract Querying for Legal/HR teams

Procurement & Vendor Agreement QA

Customer Support Automation (based on terms)

RAG Systems for private document knowledge

โš™๏ธ Tools & Tech Stack


๐Ÿ“Œ Final Notes
Pinecone Index: package1536

Dimension: 1536

Chunk Size: 1000, Overlap: 100

Embedding Model: text-embedding-3-small

Feel free to fork the workflow or request the full JSON export.
Looking forward to your suggestions and improvements!

This workflow was created by Mohan Gopal and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

Nodes Used (9)

AI Agent
@n8n/n8n-nodes-langchain.agent
Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader
Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi
Google Drive
n8n-nodes-base.googleDrive
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Pinecone Vector Store
@n8n/n8n-nodes-langchain.vectorStorePinecone
Recursive Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter
Simple Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow
Vector Store Question Answer Tool
@n8n/n8n-nodes-langchain.toolVectorStore