Scrape and ingest web content into Supabase pgvector with Firecrawl
UnknownWhat this workflow does
This AI workflow has 18 nodes and runs when an HTTP POST request hits its webhook URL (plus 1 other trigger). Along the way it connects Supabase, Embeddings OpenAI, OpenRouter Chat Model and Reranker Cohere and 2 more.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 1 other trigger).
- Validate and normalize URL (Code): runs custom JavaScript code
- Answer query from enriched leads (AI Agent): runs an AI agent, with model: OpenRouter LLM; 1 tool (Retrieve documents from Supabase); memory: Chat memory
- Check for duplicate in Supabase (Supabase): get
- Return URL validation error (Respond to Webhook): sends the response back to the webhook caller
- Skip if already ingested (If): checks a condition and branches into true / false
- Return duplicate notice (Respond to Webhook): sends the response back to the webhook caller
- Scrape company website with Firecrawl (Firecrawl): scrape
- Store embeddings in Supabase (Supabase Vector Store): stores documents in the Supabase vector store, with embeddings: Generate OpenAI embeddings; document loader: Load scraped content
- Return ingestion result (Respond to Webhook): sends the response back to the webhook caller
Services it uses
Uses Firecrawl. New users get 10% off with our link.
Before you upgrade to n8n 3.0
We can't fully verify this one: it relies on 1 community package, and n8n 3.0 turns unverified community packages off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
- Check that @mendable/n8n-nodes-firecrawl is verified or supports 3.0 (used in Scrape company website with Firecrawl).
Nodes used (14)
- Webhook
n8n-nodes-base.webhook - Code
n8n-nodes-base.code - Supabase
n8n-nodes-base.supabase - Respond to Webhook
n8n-nodes-base.respondToWebhook - Firecrawl
@mendable/n8n-nodes-firecrawl.firecrawl - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi - Chat Trigger
@n8n/n8n-nodes-langchain.chatTrigger - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter - Simple Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow - Reranker Cohere
@n8n/n8n-nodes-langchain.rerankerCohere - If
n8n-nodes-base.if - Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase
From the author
What this does Receives a URL via webhook, uses Firecrawl to scrape the page into clean markdown, and stores it as vector embeddings in Supabase pgvector. A visual, self-hosted ingestion pipeline for RAG knowledge bases. Adding a new source is as simple as…