Answer voice queries from a webhook over Google Drive docs using GPT-4o-mini and Supabase
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (13)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Manual Trigger
n8n-nodes-base.manualTrigger - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Google Drive
n8n-nodes-base.googleDrive - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi - Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase - Webhook
n8n-nodes-base.webhook - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Respond to Webhook
n8n-nodes-base.respondToWebhook
What it does
Quick overview Placetel AI – RAG Voice Assistant with Google Drive & Supabase How it works 1. Runs on a daily schedule at 02:00 or via manual start to reindex documents. 2. Lists files from a specified Google Drive folder and iterates through each file. 3. Downloads each Google Drive file, loads its text content, creates embeddings with OpenAI, and stores the resulting chunks in a Supabase vector table. 4. Receives a question via a POST webhook with a JSON body containing chatInput. 5. Generates an answer with GPT-4o-mini by semantically retrieving relevant passages from the Supabase vector store using the same OpenAI embeddings model. 6. Returns the generated, source-cited response to the webhook caller for voice output. Setup 1. Add Google Drive OAuth2 credentials and replace DEINEORDNERID in the Drive query with the folder you want to index. 2. Add an OpenAI API credential and ensure the same embeddings model/settings are used for both indexing and querying. 3. Create/configure a Supabase project with a documents table and the matchdocuments RPC/query used for vector search, then add your Supabase credentials. 4. Copy the webhook URL from the webhook trigger and configure your calling system to POST { "chatInput": "..." } to it.