Build a product catalog chatbot with Mistral AI, Google Drive & Supabase RAG
Needs changesNeeds changes. This template uses 1 thing(s) that n8n 3.0 removes: AI Agent v1 (old agent modes). 1 breaking item(s) found. Static check, last run 2026-10-19.
What to replace before upgrading
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) product catalog agent (v1.7) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (16)
- Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Edit Fields (Set)
n8n-nodes-base.set - Google Drive
n8n-nodes-base.googleDrive - Extract from File
n8n-nodes-base.extractFromFile - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter - Embeddings Mistral Cloud
@n8n/n8n-nodes-langchain.embeddingsMistralCloud - Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase - Wait
n8n-nodes-base.wait - Manual Trigger
n8n-nodes-base.manualTrigger - Mistral Cloud Chat Model
@n8n/n8n-nodes-langchain.lmChatMistralCloud - Simple Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow - Webhook
n8n-nodes-base.webhook - Code
n8n-nodes-base.code - Chat Trigger
@n8n/n8n-nodes-langchain.chatTrigger - AI Agent
@n8n/n8n-nodes-langchain.agent
What it does
AI Product Catalog Chatbot with Google Drive Ingestion & Supabase RAG Overview This workflow builds a dual-system that connects automated document ingestion with a live product catalog chatbot powered by Mistral AI and Supabase. It includes: - Ingestion Pipeline: Automatically fetches JSON files from Google Drive, processes their content, and stores vector embeddings in Supabase. - Chatbot: An AI agent that queries the Supabase vector store (RAG) to answer user questions about the product catalog. It uses Mistral AI for chat intelligence and embeddings, and Supabase for vector storage and semantic product search. --- Chatbot Flow - Trigger: When chat message received or Webhook (from live website) - Model: Mistral Cloud Chat Model (mistral-medium-latest) - Memory: Simple Memory (Buffer Window) — keeps last 15 messages for conversational context - Vector Search Tool: Supabase Vector Store - Embeddings: Mistral Cloud - Agent: product catalog agent - Responds to user queries using the products table in Supabase. - Searches vectors for relevant items and returns structured product details (name, specs, images, and links). - Maintains chat session history for natural follow-up questions. --- Document → Knowledge Base Pipeline Triggered manually (Execute workflow) to populate or refresh the Supabase vector store. Steps 1. Google Drive (List Files) → Fetch all files from the configured Google Drive folder. 2. Loop Over Items → For each file: - Google Drive (Get File) → Download the JSON document. - Extract from File → Parse and read raw JSON content. - Map Data into Fields (Set node) → Clean and normalize JSON keys (e.g., pagetitle, comprehensivesummary, keytopics). - Convert Data into Chunks (Code node) → Merge text fields like summary and markdown. → Split content into overlapping 2,000-character chunks. → Add metadata such as title, URL, and chunk index. - Embeddings (Mistral Cloud) → Generate vector embeddings for each text chunk. - Insert into Supabase Vectorstore → Save chunks + embeddings into the websitemark table. - Wait → Pause for 30 seconds before the next file to respect rate limits. --- Integrations Used | Service | Purpose | Credential | |----------|----------|------------| | Google Drive | File source for catalog JSON documents | Google Drive account dbt | | Mistral AI | Chat model & embeddings | Mistral Cloud account dbt | | Supabase | Vector storage & RAG search | Supabase DB account dbt | | Webhook / Chat | User-facing interface for chatbot | Website or Webhook | --- Sample JSON Data Format (for Ingestion) The ingestion pipeline expects structured JSON product files, which can include different categories such as Apparel or Tools. Apparel Example (T-Shirts) json { "Name": "Classic Crewneck T-Shirt", "Item Number": "A-TSH-NVY-M", "Image URL": "https://www.example.com/images/tshirt-navy.jpg", "Image Markdown": "!Classic Crewneck T-Shirt", "Size Chart URL": "https://www.example.com/charts/tshirt-sizing", "Materials": "100% Pima Cotton", "Color": "Navy Blue", "Size": "M", "Fit": "Regular Fit", "Collection": "Core Essentials" } Tools Example (Drill Bits) json { "Name": "Titanium Drill Bit, 1/4\"", "Item Number": "T-DB-TIN-250", "Image URL": "https://www.example.com/images/drill-bit-1-4.jpg", "Image Markdown": "!Titanium Drill Bit, 1/4\"", "Spec Sheet URL": "https://www.example.com/specs/T-DB-TIN-250", "Materials": "HSS with Titanium Coating", "Type": "Twist Drill Bit", "Size (in)": "1/4", "Shank Type": "Hex", "Application": "Metal, Wood, Plastic" } --- Agent System Prompt Summary > “You are an AI product catalog assistant. Use only the Supabase vector database as your knowledge base. Provide accurate, structured responses with clear formatting — including product names, attributes, and URLs. If data is unavailable, reply politely: ‘I couldn’t find that product in the catalog.’” --- Key Features - Automated JSON ingestion from Google Drive → Supabase - Intelligent text chunking and metadata mapping - Dual-workflow arc