Create RAG-ready knowledge bases from websites using Apify, Gemini & Supabase
Ready for 3.0What this workflow does
This AI workflow has 13 nodes and runs when someone submits an n8n form (“Enter Website URL and Settings”). Along the way it connects Supabase Vector Store and Embeddings Google Gemini. It also calls api.apify.com over HTTP.
How it runs
Trigger: When someone submits an n8n form (“Enter Website URL and Settings”).
- Set Data in Correct Request Format (Edit Fields (Set)): sets 4 fields: url, scrapeAll, maxCrawlPages…
- Prepare Settings for Apify Web Scraper (Switch): routes items into 2 branches
- No Limit to Number of Scraped Pages? (If): checks a condition and branches into true / false
- Run Apify Scraper: Scrape 1 URL Only (HTTP Request): calls api.apify.com (POST)
- Run Apify Scraper: Scrape All - No Limit (HTTP Request): calls api.apify.com (POST)
- Run Apify Scraper: Scrape All - w/Limit (HTTP Request): calls api.apify.com (POST)
- Clean Data (Edit Fields (Set)): sets 2 fields: url, markdown
- Improve Content Structure Quality (Code): runs custom JavaScript code
- Supabase Vector Store: stores documents in the Supabase vector store, with embeddings: Embeddings Google Gemini; document loader: Default Data Loader
Services it uses
HTTP calls to: api.apify.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase - Embeddings Google Gemini
@n8n/n8n-nodes-langchain.embeddingsGoogleGemini - Code
n8n-nodes-base.code - Recursive Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - Edit Fields (Set)
n8n-nodes-base.set - n8n Form Trigger
n8n-nodes-base.formTrigger - Switch
n8n-nodes-base.switch - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if
From the author
Convert any website into a searchable vector database for AI chatbots. Submit a URL, choose scraping scope, and this workflow handles everything: scraping, cleaning, chunking, embedding, and storing in Supabase. What it does - Scrapes websites using Apify (3…