RAG Chatbot with Supabase + TogetherAI + OpenRouter
## RUN the FIRST WORKFLOW ONLY ONCE (as it will convert your content into Embedding format and save it in DB and is ready for the RAG Chat) ## Telegram Trigger * **Type:** `telegramTrigger` * **Purpose:** Waits for new Telegram messages to trigger the workflow. * **Note:** Currently disabled. --- ## Content for the Training * **Type:** `googleDocs` * **Purpose:** Fetches document content from Google Docs using its URL. * **Details:** Uses Service Account authentication. --- ## Splitting into Chunks * **Type:** `code` * **Purpose:** Splits the fetched document text into smaller chunks (1000 chars each) for processing. * **Logic:** Loops over text and slices it. --- ## Embedding Uploaded Document * **Type:** `httpRequest` * **Purpose:** Calls Together AI embedding API to get vector embeddings for each text chunk. * **Details:** Sends JSON with model name and chunk as input. --- ## Save the embedding in DB * **Type:** `supabase` * **Purpose:** Saves each text chunk and its embedding vector into the Supabase `embed` table. ## SECOND WORKFLOW EXPLANATION: ## When chat message received * **Type:** `chatTrigger` * **Purpose:** Starts the workflow when a user sends a chat message. * **Details:** Sends an initial greeting message to the user. --- ## Embed User Message * **Type:** `httpRequest` * **Purpose:** Generates embedding for the user's input message. * **Details:** Calls Together AI embeddings API. --- ## Search Embeddings * **Type:** `httpRequest` * **Purpose:** Searches Supabase DB for the top 5 most similar text chunks based on the generated embedding. * **Details:** Calls Supabase RPC function `matchembeddings1`. --- ## Aggregate * **Type:** `aggregate` * **Purpose:** Combines all retrieved text chunks into a single aggregated context for the LLM. --- ## Basic LLM Chain * **Type:** `chainLlm` * **Purpose:** Passes the user's question + aggregated context to the LLM to generate a detailed answer. * **Details:** Contains prompt instructing the LLM to answer only based on context. --- ## OpenRouter Chat Model * **Type:** `lmChatOpenRouter` * **Purpose:** Provides the actual AI language model that processes the prompt. * **Details:** Uses `qwen/qwen3-8b:free` model via OpenRouter and you can use any of your choice.
- Platform
- n8n
- Category
- AI
- Price
- $9.99
- Creator
- iamvaar
- code
- supabase
- aggregate
- googleDocs
- stickyNote
- httpRequest
- telegramTrigger
- chainLlm
- chatTrigger
- lmChatOpenRouter
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related AI workflows
- Launch Your First AI-Powered Chatbot with Actionable Tools$9.99
- Automate AI Video Creation and YouTube Upload with Google Sheets$14.99
- Build a WhatsApp Assistant with Memory, Google Suite, Multi-AI, Research, and Imaging$24.99
- Automate Blog Post Creation and Publishing with GPT, Leonardo AI, and WordPress$14.99
- Email Agent$500.99
- Automate SEO Keyword Generation with ChatGPT from Google Sheets$3.99
More from iamvaar
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.