by Afigo Sam
đ Overview Transform your Telegram channel or group into a fully functional, automated e-commerce storefront. This n8n workflow template allows you to sell both physical and digital products directly within Telegram, utilizing Paystack for secure checkout and Google Sheets as a lightweight, free database for inventory and order management. Say goodbye to complex website builders and monthly subscription fees. With this serverless setup, you can launch a store in minutes and manage everything from a simple spreadsheet. ⨠Key Features đ Interactive Shopping Cart:** Users can browse products, select quantities, and manage their cart entirely through seamless Telegram inline buttons. đł Secure Payments:** Direct integration with the Paystack API generates unique, secure checkout links for every order. đŚ Smart Fulfillment:** Automatically detects if an order is digital or physical. Digital goods (e.g., PDFs, E-books via Google Drive) are delivered instantly upon payment confirmation. Physical orders are marked as "Paid" and queued for shipping. đ Free Database (Google Sheets):** No SQL required! Manage your product catalog, track active user sessions, and view order history entirely within Google Sheets. đ Order Tracking System:** Customers can use the /orders command or search by their unique ORD- ID to view their purchase history, resume pending payments, or track shipped items. âď¸ Built-in Validation:** Includes robust data validation for email addresses (catching common typos like .con) and physical delivery addresses. đ Prerequisites To run this template, you will need the following accounts: Telegram: A free Telegram Bot Token (obtained via BotFather). Paystack: A Paystack account to receive payments (you will need your Secret Key). Google Workspace: A Google account to host the Google Sheets database and Google Drive (if selling digital files). đ Setup Instructions 1. Database Setup Create a new Google Sheet (Template; https://docs.google.com/spreadsheets/d/1x58FYmsdo2K2dKNm81LgCSrGvHwhenkJTtjDIxc8-2w/edit?gid=187299608#gid=187299608 with three tabs: Products, Orders, and Session. Products Tab Headers: id, name, price, type (physical/digital), stock, description, file_url (optional, for digital goods). Orders Tab Headers: order_id, reference, user_id, email, address, items_json, total, status, payment_link, tracking, created_at. Session Tab Headers: user_id, chat_id, state, cart_json, selected_product_id, selected_product_name, selected_product_price, selected_product_type, input_quantity, input_email, input_address. 2. n8n Node Configuration Import this template into your n8n workspace. Update the Google Sheets credentials and replace the Document ID in all sheet nodes with your specific spreadsheet ID. Add your Telegram Bot Token via n8n's credential manager to activate the Telegram Trigger and messaging nodes. Locate the nodes containing the YOUR_PAYSTACK_SECRET_KEY placeholder (e.g., Paystack Init Transaction) and insert your actual Paystack Secret Key. 3. Webhook Activation Double-click the Paystack Webhook node. Copy the "Production URL" provided by n8n. Log into your Paystack Dashboard, navigate to Settings > Webhooks, and paste the URL. This ensures your bot receives real-time payment confirmations. đĄ Use Cases Digital Creators:** Sell e-books, courses, templates, or software directly to your Telegram audience with instant file delivery. Local Businesses:** Automate orders for physical goods, food delivery, or merchandise without needing a dedicated website. Dropshipping:** Seamlessly collect orders and addresses before forwarding them to suppliers. đ Apps Integrated Telegram Paystack Google Sheets Google Drive (Optional) You can also test the workflow live on Telegram: @sellvia_paystack_bot or https://t.me/sellvia_paystack_bot) đ Need help or want to customize this workflow? đş Contact: Fiverr đŠ Consultation: Book Appointment
by Daniel Shashko
How it Works This workflow automates competitive price intelligence using Bright Data's enterprise web scraping API. On a scheduled basis (default: daily at 9 AM), the system loops through configured competitor product URLs, triggers Bright Data's web scraper to extract real-time pricing data from each site, and intelligently compares competitor prices against your current pricing. The workflow handles the full scraping lifecycle: it sends scraping requests to Bright Data, waits for completion, fetches the scraped product data, and parses prices from various formats and website structures. All pricing data is automatically logged to Google Sheets for historical tracking and trend analysis. When a competitor's price drops below yours by more than the configured threshold (e.g., 10% cheaper), the system immediately sends detailed alerts via Slack and email to your pricing team with actionable intelligence. At the end of each monitoring run, the workflow generates a comprehensive daily summary report that aggregates all competitor data, calculates average price differences, identifies the lowest and highest competitors, and provides a complete competitive landscape view. This eliminates hours of manual competitor research and enables data-driven pricing decisions in real-time. Who is this for? E-commerce businesses and online retailers needing automated competitive price monitoring Product managers and pricing strategists requiring real-time competitive intelligence Revenue operations teams managing dynamic pricing strategies across multiple products Marketplaces competing in price-sensitive categories where margins matter Any business that needs to track competitor pricing without manual daily checks Setup Steps Setup time: Approx. 30-40 minutes (Bright Data configuration, credential setup, competitor URL configuration) Requirements: Bright Data account with Web Scraper API access Bright Data API token (from dashboard) Google account with a spreadsheet for price tracking Slack workspace with pricing channels SMTP email provider for alerts Sign up for Bright Data and create a web scraping dataset (use e-commerce template for product data) Obtain your Bright Data API token and dataset ID from the dashboard Configure these nodes: Schedule Daily Check: Set monitoring frequency using cron expression (default: 9 AM daily) Load Competitor URLs: Add competitor product URLs array, configure your current price, set alert threshold percentage Loop Through Competitors: Automatically handles multiple URLs (no configuration needed) Scrape with Bright Data: Add Bright Data
by Avkash Kakdiya
How it works This workflow captures new subscribers from a Mailchimp list and extracts their key details. It then enriches the subscriber data using AI, predicting professional attributes and assigning a lead score. Based on the score, high-value leads are identified, and all leads are synced into HubSpot and Pipedrive. For top-priority leads, the workflow automatically creates new deals in Pipedrive for sales follow-up. Step-by-step Step-by-step 1. Capture subscriber data Mailchimp Subscriber Trigger** â Detects new signups in a Mailchimp list. Extract Subscriber Data** â Normalizes payload into clean fields like name, email, and timestamp. 2. Enrich with AI Lead Enrichment AI** â Uses AI to infer company, role, industry, intent, LinkedIn, and lead score. Parse & Merge Enrichment** â Merges AI output with subscriber info and sets defaults if parsing fails. 3. Qualify leads High-Value Lead Check** â Filters leads with a score âĽ70 to flag them as priority. Create High-Value Deal** â Opens a new deal in Pipedrive for high-value leads. 4. Sync to CRMs HubSpot Contact Sync** â Updates enriched lead data in HubSpot CRM. Pipedrive Person Create** â Adds lead as a person in Pipedrive. Why use this? Automatically enrich raw Mailchimp subscribers with valuable professional insights. Score and qualify leads instantly for prioritization. Keep HubSpot and Pipedrive updated with enriched lead records. Automate deal creation for high-value opportunities, saving sales team effort. Build a seamless pipeline from marketing signups to CRM-ready opportunities.
by MUHAMMAD SHAHEER
Whoâs it for This template is designed for creators, researchers, freelance writers, founders, and automation professionals who want a reliable way to generate structured, citation-backed research content without doing manual data collection. Anyone creating blog posts, reports, briefs, or research summaries will benefit from this system. What it does This workflow turns a simple form submission into a complete research pipeline. It accepts a topic, determines what needs to be researched, gathers information from the web, writes content, fact-checks it against the collected sources, edits the draft for clarity, and compiles a final report. It behaves like a small agentic research team inside n8n. How it works A form collects the research topic, depth, and desired output format. A research agent generates focused search queries. SERP API retrieves real-time results for each query. The workflow aggregates and structures all findings. A writing agent creates the first draft based on the data. A fact-checking agent verifies statements against the sources. An editor agent improves tone, flow, and structure. A final review agent produces the completed research document with citations. This workflow includes annotated sticky notes to explain each step and guide configuration. Requirements Groq API key for running the Llama 3.3 model. SERP API key for performing web searches. An n8n instance (cloud or self-hosted). No additional dependencies are required. How to set up Add your Groq and SERP API credentials using n8nâs credential manager. Update the form fields if you want custom depth or output formats. Follow the sticky notes for detailed configuration. Run the workflow and submit a topic through the form to generate your first research report. How to customize Replace the writer agent with a different model if you prefer a specific writing style. Adjust the number of search queries or SERP results for deeper research. Add additional steps such as PDF generation, sending outputs to Notion, or publishing to WordPress. Modify the form to suit industry-specific content needs.
by Zakwan
đ Overview This template automates the process of researching a keyword, scraping top-ranking articles, cleaning their content, and generating a high-quality SEO-optimized blog post. It uses Google Search via RapidAPI, Ollama with Mistral AI, and Google Drive to deliver an end-to-end automated content workflow. Ideal for content creators, SEO specialists, bloggers, and marketers who need to quickly gather and summarize insights from multiple sources to create superior content. âď¸ Prerequisites Before using this workflow, make sure you have: n8n installed (Desktop, Docker, or Cloud). Ollama installed with the mistral:7b model: ollama pull mistral:7b RapidAPI account (for Google Search API). Google Drive account (with a target folder where articles will be saved). đ Credentials Required RapidAPI (Google Search API) Header authentication with your API key. Example headers: x-rapidapi-key: YOUR_API_KEY x-rapidapi-host: google-search74.p.rapidapi.com Google Drive OAuth2 Allow read/write permissions. Update the folderId with your Drive folder where articles should be stored. Ollama API Base URL: http://localhost:11434 (local n8n) http://host.docker.internal:11434 (inside Docker) Ensure the mistral:7b model is available. đ Setup Instructions Configure RapidAPI Sign up at RapidAPI . Subscribe to the Google Search API. Create an HTTP Header Auth credential in n8n with your API key. Configure Google Drive In n8n, add a Google Drive OAuth2 credential. Select the Drive folder ID where output files should be saved. Configure Ollama Install Ollama locally. Pull the required model (mistral:7b). Create an Ollama API credential in n8n. Run the Workflow Trigger by sending a chat message with your target keyword. The workflow searches Google, extracts the top 3 results, scrapes the articles, cleans the content, and generates a structured blog post. Final output is stored in Google Drive as a .docx file. đ¨ Customization Options Search Engine â Swap out RapidAPI with Bing or SerpAPI. Number of Articles â Change limit: 3 in the Google Search node. Content Cleaning â Modify the regex in the âClean Body Textâ node to capture or tags. AI Model â Replace mistral:7b with llama3, mixtral, or any other Ollama-supported model. Storage â Save output to a different Google Drive folder or export to Notion/Slack. đ Workflow Highlights Google Search (RapidAPI) â Fetch top 3 results for your keyword. HTTP Request + Code Nodes â Extract and clean article body text. Mistral AI via Ollama â Summarize, optimize, and refine the content. Google Drive â Save the final blog-ready article automatically.
by Pawel
Description Very straightforward workflow. It checks the Epic Games website if the HTML container with free games has changed. If it did then it will send a notification to Discord with a list of embeds containing those games. Requirements You will need to install n8n-nodes-puppeteer community node Setup There are two nodes that notify Discord. One at the very end and one in the loop in case of error. Configure them with a webhook or a bot, whatever suits you. That's all.
by Rahi
n8n Workflow: AI-Personalized Email Outreach (Smartlead) đ Purpose This workflow automates cold email campaigns by: Fetching leads Generating hyper-personalized email content using AI Sending emails via Smartlead API Logging campaign activity into Google Sheets đ§Š Workflow Structure Schedule Trigger Starts the workflow automatically at scheduled intervals. Ensures continuous campaign execution. Get Leads Fetches lead data (name, email, company, role, industry). Serves as the input for personalization. Loop Over Leads Processes each lead one by one. Maintains individualized email generation. Aggregate Lead Data Collects and formats lead attributes. Prepares structured input for the AI model. Basic LLM Chain #1 Generates personalized snippets/openers using AI. Tailored based on company, role, and industry. Update Row (Google Sheets) Saves AI outputs (snippets) for tracking and QA. Basic LLM Chain #2 Expands snippet into a full personalized email draft. Includes subject line + email body. Information Extractor Extracts structured fields from AI output: Subject Greeting Call-to-Action (CTA) Closing Update Row (Google Sheets) Stores finalized draft in Google Sheets. Provides visibility and audit trail. Code Formats email into Smartlead-compatible payload. Maps fields like subject, body, and recipient details. Smartlead API Request Sends the personalized email through Smartlead. Returns message ID and delivery status. Basic LLM Chain #3 (Optional) Generates follow-up versions for multi-step campaigns. Ensures varied engagement over time. Information Extractor (Follow-ups) Structures follow-up emails into ready-to-send format. Update Row (Google Sheets) Updates campaign logs with: Smartlead send status Message IDs AI personalization notes âď¸ Data Flow Summary Trigger** â Runs workflow Get Leads** â Fetch lead records LLM Personalization** â Create openers + full emails Google Sheets** â Save drafts & logs Smartlead API** â Send personalized email Follow-ups** â Generate and log structured follow-up messages đ Use Case Automates hyper-personalized cold email outreach at scale. Uses AI to improve response rates with contextual personalization. Provides full visibility by saving drafts and send logs in Google Sheets. Integrates seamlessly with Smartlead for sending and tracking.
by A Z
⥠Quick Setup Import this workflow into your n8n instance. Add your Apify, Google Sheets, and Firecrawl credentials. Activate the workflow to start your automated lead enrichment system. Copy the webhook URL from the MCP trigger node. Connect AI agents using the MCP URL. đ§ How it Works This solution combines two powerful workflows to deliver fully enriched, AI-ready business leads from Google Maps: Apify Google Maps Scraper Node: Collects business data and, if enabled, enriches each lead with contact details and social profiles. Leads Missing Enrichment: Any leads without contact or social info are automatically saved to a Google Sheet. Firecrawl & Code Node Workflow: A second workflow monitors the Google Sheet, crawls each businessâs website using Firecrawl, and extracts additional social media profiles or contact info using a Code node. Personalization Logic: AI-powered nodes generate tailored outreach content for each enriched lead. Native Integration: The entire process is exposed as an MCP-compatible interface, returning enriched and personalized lead data directly to the AI agent. đ Available Operations Business Search: Find businesses on Google Maps by location, category, or keyword. Lead Enrichment: Automatically append contact details, social profiles, and other business info using Apify and Firecrawl. Personalized Outreach Generation: Create custom messages or emails for each lead. Batch Processing: Handle multiple leads in a single request. Status & Error Reporting: Get real-time feedback on processing, enrichment, and crawling. đ¤ AI Integration Parameter Handling: AI agents automatically provide values for: Search queries (location, keywords, categories) Enrichment options (contact, social, etc.) Personalization variables (name, business type, etc.) Response Format: Returns fully enriched lead data and personalized outreach content in a structured format.
by Khairul Muhtadin
This automated TLDW (Too Long; Didn't Watch) generator using Decodo's scraping API to extract complete video transcripts and metadata, then uses Google Gemini 3 to create intelligent summaries with key points, chapters breakdown, tools mentioned, and actionable takeawaysâeliminating hours of manual note-taking and video watching. Why Use This Workflow? Time Savings: Convert a 2-hour video into a readable 5-minute summary, reducing research time by 95% Comprehensive Coverage: Captures key points, chapters, tools, quotes, and actionable steps that manual notes often miss Instant Accessibility: Receive structured summaries directly in Telegram within 30-60 seconds of sharing a link Multi-Language Support: Process transcripts in multiple languages supported by YouTube's auto-caption system Ideal For Content Creators & Researchers:** Quickly extract insights from competitor videos, educational content, or industry talks without watching hours of footage Students & Educators:** Generate study notes from lecture recordings, online courses, or tutorial videos with chapter-based breakdowns Marketing Teams:** Analyze competitor content strategies, extract tools and techniques mentioned, and identify trending topics across multiple videos Busy Professionals:** Stay updated with conference talks, webinars, or industry updates by reading summaries instead of watching full recordings How It Works Trigger: User sends any YouTube URL (youtube.com or youtu.be) to a configured Telegram bot Data Collection: Workflow extracts video ID and simultaneously fetches full transcript and metadata (title, channel, views, duration, chapters, tags) via Decodo API Processing: Raw transcript data is extracted and cleaned, while metadata is parsed into structured fields including formatted statistics and chapter timestamps AI Processing: Google Gemini Flash analyzes the transcript to generate a structured summary covering one-line overview, key points, main topics by chapter, tools mentioned, target audience, practical takeaways, and notable quotes Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Workflow execution platform | | Telegram Bot API | Essential | Receives video links and delivers summaries | | Decodo Scraper API | Essential | Extracts YouTube transcripts and metadata | | Google Gemini API | Essential | AI-powered summary generation | Installation Steps Import the JSON file to your n8n instance Configure credentials: Telegram Bot API: Create a bot via @BotFather on Telegram, obtain the API token, and configure in n8n Telegram credentials Decodo API: Sign up at Decodo Dashboard, get your API key, create HTTP Header Auth credential with header name "Authorization" and value "Basic [YOUR_API_KEY]" Google Gemini API: Obtain API key from Google AI Studio, configure in n8n Google Palm API credentials Update environment-specific values: In the "Alert Admin" node, replace YOUR_CHAT_ID with your personal Telegram user ID for error notifications Optionally adjust the languageCode in "Set: Video ID & Config" node (default: "en") Customize settings: Modify the AI prompt in "Generate TLDR" node to adjust summary structure and depth Test execution: Send a YouTube link to your Telegram bot Verify you receive the "Processing..." notification, video info card, and formatted summary chunks Technical Details Workflow Logic The workflow employs parallel processing for efficiency. Transcript and metadata are fetched simultaneously after video ID extraction. Once both API calls complete, the transcript feeds directly into Gemini AI while metadata is parsed separately. The merge node combines AI output with structured metadata before splitting into Telegram-friendly chunks. Error handling is isolated on a separate branch triggered by any node failure, formatting error details and alerting admins without disrupting the main flow. Customization Options Basic Adjustments: Language Selection**: Change languageCode from "en" to "id", "es", "fr", etc. to fetch transcripts in different languages (YouTube must have captions available) Summary Style**: Edit the prompt in "Generate TLDR" to focus on specific aspects (e.g., "focus only on technical tools mentioned" or "create a summary for beginners") Message Length**: Adjust maxCharsPerChunk (currently 4000) to create longer or shorter message splits based on preference Advanced Enhancements: Database Storage**: Add a Postgres/Airtable node after "Merge: Data + Summary" to archive all summaries with timestamps and user IDs for searchable knowledge base (medium complexity) Multi-Model Comparison**: Duplicate the "Generate TLDR" chain and connect GPT-4 or Claude, merge results to show different AI perspectives on the same video (high complexity) Auto-Translation**: Insert a translation node after summary generation to deliver summaries in user's preferred language automatically (medium complexity) Troubleshooting Common Issues: | Problem | Cause | Solution | |---------|-------|----------| | "Not a YouTube URL" error | URL format not recognized | Ensure UR sent contains youtube.com or youtu.be | | No transcript available | Video lacks captions or wrong language | Check video has auto-generated or manual captions change languageCode to match available options | | Decodo API 401/403 error | Invalid or expired API key | Verify API key in HTTP Header Auth credential. regenerate if needed from Decodo dashboard || | Error notifications not received | Wrong chat ID in Alert Admin node | Get your Telegram user ID from @userinfobot and update the node | Use Case Examples Scenario 1: Marketing Agency Competitive Analysis Challenge: Agency needs to analyze 50+ competitor YouTube videos monthly to identify content strategies, tools used, and messaging anglesâwatching all videos would require 80+ hours Solution: Drop youtube links into a shared Telegram group with the bot. Summaries are generated instantly, highlighting tools mentioned, key talking points, and target audience insights Result: Research time reduced from 80 hours to 6 hours monthly (93% time savings), with searchable archive of all competitor content strategies Created by: Khaisa Studio Category: AI-Powered Automation Tags: YouTube, AI, Telegram, Summarization, Content Analysis, Decodo, Gemini Need custom workflows? Contact us Connect with the creator: Portfolio ⢠Workflows ⢠LinkedIn ⢠Medium ⢠Threads
by n8n Team
This workflow provides a simple example of how to use itemMatching(itemIndex: Number) in the Code node to retrieve linked items from earlier in the workflow.
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works This workflow connects an MCP Server with the KlickTipp contact management platform and integrates it with an LLM (e.g. Claude etc.) to enable intelligent querying and segmentation of contact data. It covers all major KlickTipp API endpoints, providing a comprehensive toolkit for automated contact handling and campaign targeting. Key Features MCP Server Trigger: Initiates the workflow via the MCP server, listening for incoming requests related to contact queries or segmentation actions. LLM Interaction Setup: Interacts with an OpenAI or Claude model to handle natural language queries such as contact lookups, tagging, and segmentation tasks. KlickTipp Integration: Complete set of KlickTipp API endpoints included: Contact Management: Add, update, get, list, delete, and unsubscribe contacts. Contact Tagging: Tag, untag, list tagged contacts. Tag Operations: Create, get, update, delete, list tags. Opt-In Processes: List and retrieve opt-in process details. Data Fields: List and get custom data fields. Redirects: Retrieve redirect URLs. Use Cases Supported: Query contact information via email or name. Identify and segment contacts by city, region, or behavior. Create or update contacts from the provided data. Dynamically apply or remove tags to initiate campaigns. Automate targeted outreach based on contact attributes. Setup Instructions Install and Configure Nodes: Set up MCP Server. Configure the LLM connection (e.g., Claude Desktop configuration). Add and authenticate all KlickTipp nodes using valid API credentials. Define Tagging and Field Mapping: Identify which fields and tags are relevant to your use cases. Ensure necessary tags and custom fields are already created in KlickTipp. Workflow Logic: Trigger via MCP Server: A prompt or webhook call activates the server listener. Query Handling via LLM Agent: AI interprets the natural language input and determines the action. Contact Search & Segmentation: Searches contacts using identifiers (email, address) or criteria. Data Operations: Retrieves, updates, or manages contact and tag data based on interpreted command. Campaign Preparation: Applies tags or sends campaign triggers depending on query results. Benefits: AI-Powered Automation:** Reduces manual contact search and tagging efforts through intelligent processing. Scalable Integration:** Built-in support for full range of KlickTipp operations allows diverse use-case handling. Data Consistency:** Ensures structured data flows between MCP, AI, and KlickTipp, minimizing errors. Testing and Deployment: Use defined prompts such as: âTell me something about the contact with email address Xâ âTag all contacts from region Yâ âSend campaign Z to customers in area Aâ Validate expected actions in KlickTipp after prompt execution. Notes: Customization:** Adjust tag logic, AI prompts, and contact field mappings based on project needs. Extensibility:** The template can be expanded with further logic for Google Sheets input or campaign feedback loops Resources: Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by Anirudh Aeran
This template creates a comprehensive, production-ready Retrieval-Augmented Generation (RAG) system. It builds a sophisticated AI agent that can answer questions based on documents stored in a specific Google Drive folder, and it automatically keeps its knowledge base up-to-date as you add, update, or remove files. Whoâs it for? This workflow is perfect for developers, businesses, and AI agencies looking to: Create an internal knowledge base chatbot for employees (e.g., for HR policies, technical documentation, or project information). Build an intelligent support agent that uses your company's official documents as its source of truth. Develop advanced AI solutions for clients that require a self-maintaining knowledge base. How it works? This workflow is divided into three distinct, powerful systems: The RAG Agent: This is the core chatbot. It receives a user's question, uses a Supabase Vector Store to find the most relevant document snippets, leverages a Cohere Reranker to improve accuracy, and uses a Postgres database to maintain conversation history (memory). It then uses Google Gemini to generate a final, context-aware answer. The Ingestion Pipeline: This system automates the process of learning new information. It triggers whenever a file is created or updated in your designated Google Drive folder. It intelligently detects the file type (Google Doc or PDF), extracts the text, splits it into manageable chunks, generates embeddings using Gemini, and stores them in your Supabase vector database. The Cleanup System: To ensure your knowledge base remains accurate, a scheduled process runs periodically to find and remove data from Supabase that corresponds to files that have been deleted from the Google Drive folder. This prevents the agent from using outdated information. How to set up To get this workflow running, you will need to configure the following: Credentials: Connect your accounts in the n8n credential manager for: Google Drive (OAuth2) Supabase (API Key) Postgres Google Gemini (API Key from Google AI Studio) Cohere (API Key) Google Drive Folder: In the Search files and folders node, replace the placeholder folder ID with the ID of the Google Drive folder you want to monitor. Database Setup: Ensure your Supabase and Postgres instances are set up with the necessary tables. You'll need a documents table in Supabase for the vectors and a document_metadata table in Postgres. How to customize the workflow This template is a powerful starting point. You can easily customize it by: Swapping out the LLM (e.g., use OpenAI or Anthropic instead of Gemini). Changing the vector database (e.g., Pinecone, Weaviate). Adding more data sources, such as Notion, Slack, or websites.