Build a Placetel RAG voice assistant with Google Drive, Supabase and Groq

Go to Workflow
0 views
Built by Placetel Placetel
Created on June 16, 2026

Description

Quick Overview
This workflow indexes text files from Google Drive into a Supabase vector store using OpenAI embeddings, then answers Placetel webhook questions with a Groq-hosted Llama model using retrieval-augmented generation.

How it works
Runs a daily schedule at 02:00 or starts manually to reindex documents.
Lists files in a specified Google Drive folder and iterates through each file.
Downloads each file, loads its text content, generates embeddings with OpenAI, and stores the resulting chunks in a Supabase vector table.
Receives a POST request from Placetel with a question in body.chatInput.
Embeds the question with OpenAI, retrieves the top 3 matching chunks from the Supabase vector store, and composes an answer with Groq (Llama 3.1 8B).
Returns the generated answer to the webhook caller for use in voice output.

Setup
Add Google Drive OAuth2 credentials and replace DEINE_ORDNER_ID in the Drive query with the folder ID you want to index.
Set up Supabase (project, database, and documents table) and add Supabase credentials, ensuring the match_documents query/function is available.
Add an OpenAI API key for both embedding steps and keep the same embedding model/settings for indexing and querying.
Add a Groq API key and confirm the selected chat model (e.g., llama-3.1-8b-instant) is available in your Groq account.
Copy the Placetel webhook URL (/rag-knowledge-webhook) and configure the calling system to send POST { "chatInput": "..." }.

Nodes Used (9)

Code
n8n-nodes-base.code
Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader
Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi
Google Drive
n8n-nodes-base.googleDrive
Groq Chat Model
@n8n/n8n-nodes-langchain.lmChatGroq
HTTP Request
n8n-nodes-base.httpRequest
Question and Answer Chain
@n8n/n8n-nodes-langchain.chainRetrievalQa
Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase
Vector Store Retriever
@n8n/n8n-nodes-langchain.retrieverVectorStore