Adaptive RAG with Google Gemini & Qdrant: context-aware query answering
Description This workflow automatically classifies user queries and retrieves the most relevant information based on the query type. π It uses adaptive strategies like; Factual, Analytical, Opinion, and Contextual to deliver more precise and meaningful responses by leveraging n8n's flexibility. Integrated with Qdrant vector store and Google Gemini, it processes each query faster and more effectively. π
How It Works? Query Reception: A user query is triggered (e.g., through a chatbot interface). π¬
Classification: The query is classified into one of four categories:
Factual: Queries seeking verifiable information.
Analytical: Queries that require in-depth analysis or explanation.
Opinion: Queries looking for different perspectives or subjective viewpoints.
Contextual: Queries specific to the user or certain contextual conditions.
Adaptive Strategy Application: Based on classification, the query is restructured using the relevant strategy for better results.
Response Generation**: The most relevant documents and context are used to generate a tailored response. π―
Set Up Steps
Estimated Time: β³ 10-15 minutes Prerequisites: You need an n8n account and a Qdrant vector store connection. Steps:
Import the n8n workflow: Load the workflow into your n8n instance.
Connect Google Gemini and Qdrant: Link these tools for query processing and data retrieval.
Connect the Trigger Interface: Integrate with a chatbot or API to trigger the workflow.
Customize: Adjust settings based on the query types you want to handle and the output format. π§
For more detailed instructions, please check the sticky notes inside the workflow. π
Adaptive RAG with Google Gemini & Qdrant: Context-Aware Query Answering
This n8n workflow demonstrates an advanced Retrieval Augmented Generation (RAG) system that uses Google Gemini for language modeling and Qdrant for vector storage to provide context-aware answers to user queries. It dynamically adapts its response based on the presence of relevant context.
The workflow is designed to enhance the quality and relevance of AI-generated responses by retrieving pertinent information from a vector database before generating a reply.
What it does
- Listens for Chat Messages: The workflow is triggered by an incoming chat message, acting as the user's query.
- Initial Query Processing: The incoming chat message is prepared for further processing.
- Adaptive Logic: A
Switchnode determines the next course of action based on a predefined condition (e.g., whether a specific context is available or a certain query type is detected). - Contextual AI Agent (Path 1 - If context is available):
- An
AI Agent(LangChain Agent) is initialized with aSimple Memoryto maintain conversational context. - It utilizes a
Qdrant Vector Storeto retrieve relevant documents based on the user's query. Embeddings Google Geminiis used to convert text into vector embeddings for similarity search in Qdrant.Google Gemini Chat Modelis employed as the large language model (LLM) for generating responses, leveraging the retrieved context.- The agent processes the query, retrieves context, and generates a context-aware answer.
- An
- Direct AI Agent (Path 2 - If no specific context is required/available):
- A separate
AI Agentis initialized with aSimple Memory. - It directly uses the
Google Gemini Chat Modelto generate a response without explicit vector store retrieval, suitable for general queries or when no specific context is found.
- A separate
- Summarize Response: The final response from either AI agent path is summarized.
- Responds to Webhook: The summarized AI-generated answer is sent back as a response to the original chat message trigger.
Prerequisites/Requirements
- n8n Instance: A running n8n instance.
- Google Gemini API Key: For the
Embeddings Google GeminiandGoogle Gemini Chat Modelnodes. - Qdrant Instance: Access to a Qdrant vector database instance (either self-hosted or cloud-based).
- Qdrant Collection: A pre-populated Qdrant collection with relevant data, indexed using Google Gemini embeddings, for the
Qdrant Vector Storenode to function effectively. - Chat Platform: A chat platform configured to send messages to n8n via a webhook (e.g., Slack, Telegram, custom frontend).
Setup/Usage
- Import the Workflow:
- Download the provided JSON file.
- In your n8n instance, go to "Workflows" and click "New".
- Click the three dots next to "Save" and select "Import from JSON".
- Paste the workflow JSON content or upload the file.
- Configure Credentials:
- Locate the
Embeddings Google GeminiandGoogle Gemini Chat Modelnodes. - Set up a new credential for Google Gemini by providing your API Key.
- Locate the
Qdrant Vector Storenode. - Set up a new credential for Qdrant by providing your Qdrant API Key and Host.
- Locate the
- Configure Qdrant Collection:
- In the
Qdrant Vector Storenode, specify the name of your Qdrant collection. Ensure this collection exists and contains the data you want to use for RAG.
- In the
- Configure Chat Trigger:
- The
When chat message receivednode acts as the entry point. After activating the workflow, n8n will provide a webhook URL. Configure your chat platform to send messages to this URL.
- The
- Customize Adaptive Logic (Optional):
- Adjust the condition in the
Switchnode (e.g.,{{ $json.query.includes('context') }}) to define when the workflow should use the Qdrant-backed RAG path versus the direct LLM path.
- Adjust the condition in the
- Activate the Workflow: Once all credentials and configurations are set, activate the workflow.
Now, when a chat message is received, the workflow will intelligently decide whether to retrieve context from Qdrant before generating a response with Google Gemini, providing a more adaptive and informed answering system.
Related Templates
Auto-create TikTok videos with VEED.io AI avatars, ElevenLabs & GPT-4
π₯ Viral TikTok Video Machine: Auto-Create Videos with Your AI Avatar --- π― Who is this for? This workflow is for content creators, marketers, and agencies who want to use Veed.ioβs AI avatar technology to produce short, engaging TikTok videos automatically. Itβs ideal for creators who want to appear on camera without recording themselves, and for teams managing multiple brands who need to generate videos at scale. --- βοΈ What problem this workflow solves Manually creating videos for TikTok can take hours β finding trends, writing scripts, recording, and editing. By combining Veed.io, ElevenLabs, and GPT-4, this workflow transforms a simple Telegram input into a ready-to-post TikTok video featuring your AI avatar powered by Veed.io β speaking naturally with your cloned voice. --- π What this workflow does This automation links Veed.ioβs video-generation API with multiple AI tools: Analyzes TikTok trends via Perplexity AI Writes a 10-second viral script using GPT-4 Generates your voiceover via ElevenLabs Uses Veed.io (Fabric 1.0 via FAL.ai) to animate your avatar and sync the lips to the voice Creates an engaging caption + hashtags for TikTok virality Publishes the video automatically via Blotato TikTok API Logs all results to Google Sheets for tracking --- π§© Setup Telegram Bot Create your bot via @BotFather Configure it as the trigger for sending your photo and theme Connect Veed.io Create an account on Veed.io Get your FAL.ai API key (Veed Fabric 1.0 model) Use HTTPS image/audio URLs compatible with Veed Fabric Other APIs Add Perplexity, ElevenLabs, and Blotato TikTok keys Connect your Google Sheet for logging results --- π οΈ How to customize this workflow Change your Avatar: Upload a new image through Telegram, and Veed.io will generate a new talking version automatically. Modify the Script Style: Adjust the GPT prompt for tone (educational, funny, storytelling). Adjust Voice Tone: Tweak ElevenLabs stability and similarity settings. Expand Platforms: Add Instagram, YouTube Shorts, or X (Twitter) posting nodes. Track Performance: Customize your Google Sheet to measure your most successful Veed.io-based videos. --- π§ Expected Outcome In just a few seconds after sending your photo and theme, this workflow β powered by Veed.io β creates a fully automated TikTok video featuring your AI avatar with natural lip-sync and voice. The result is a continuous stream of viral short videos, made without cameras, editing, or effort. --- β Import the JSON file in n8n, add your API keys (including Veed.io via FAL.ai), and start generating viral TikTok videos starring your AI avatar today! π₯ Watch This Tutorial --- π Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
Two-way property repair management system with Google Sheets & Drive
This workflow automates the repair request process between tenants and building managers, keeping all updates organized in a single spreadsheet. It is composed of two coordinated workflows, as two separate triggers are required β one for new repair submissions and another for repair updates. A Unique Unit ID that corresponds to individual units is attributed to each request, and timestamps are used to coordinate repair updates with specific requests. General use cases include: Property managers who manage multiple buildings or units. Building owners looking to centralize tenant repair communication. Automation builders who want to learn multi-trigger workflow design in n8n. --- βοΈ How It Works Workflow 1 β New Repair Requests Behind the Scenes: A tenant fills out a Google Form (βRepair Request Formβ), which automatically adds a new row to a linked Google Sheet. Steps: Trigger: Google Sheets rowAdded β runs when a new form entry appears. Extract & Format: Collects all relevant form data (address, unit, urgency, contacts). Generate Unit ID: Creates a standardized identifier (e.g., BUILDING-UNIT) for tracking. Email Notification: Sends the building manager a formatted email summarizing the repair details and including a link to a Repair Update Form (which activates Workflow 2). --- Workflow 2 β Repair Updates Behind the Scenes:\ Triggered when the building manager submits a follow-up form (βRepair Update Formβ). Steps: Lookup by UUID: Uses the Unit ID from Workflow 1 to find the existing row in the Google Sheet. Conditional Logic: If photos are uploaded: Saves each image to a Google Drive folder, renames files consistently, and adds URLs to the sheet. If no photos: Skips the upload step and processes textual updates only. Merge & Update: Combines new data with existing repair info in the same spreadsheet row β enabling a full repair history in one place. --- π§© Requirements Google Account (for Forms, Sheets, and Drive) Gmail/email node connected for sending notifications n8n credentials configured for Google API access --- β‘ Setup Instructions (see more detail in workflow) Import both workflows into n8n, then copy one into a second workflow. Change manual trigger in workflow 2 to a n8n Form node. Connect Google credentials to all nodes. Update spreadsheet and folder IDs in the corresponding nodes. Customize email text, sender name, and form links for your organization. Test each workflow with a sample repair request and a repair update submission. --- π οΈ Customization Ideas Add Slack or Telegram notifications for urgent repairs. Auto-create folders per building or unit for photo uploads. Generate monthly repair summaries using Google Sheets triggers. Add an AI node to create summaries/extract relevant repair data from repair request that include long submissions.
Automate Dutch Public Procurement Data Collection with TenderNed
TenderNed Public Procurement What This Workflow Does This workflow automates the collection of public procurement data from TenderNed (the official Dutch tender platform). It: Fetches the latest tender publications from the TenderNed API Retrieves detailed information in both XML and JSON formats for each tender Parses and extracts key information like organization names, titles, descriptions, and reference numbers Filters results based on your custom criteria Stores the data in a database for easy querying and analysis Setup Instructions This template comes with sticky notes providing step-by-step instructions in Dutch and various query options you can customize. Prerequisites TenderNed API Access - Register at TenderNed for API credentials Configuration Steps Set up TenderNed credentials: Add HTTP Basic Auth credentials with your TenderNed API username and password Apply these credentials to the three HTTP Request nodes: "Tenderned Publicaties" "Haal XML Details" "Haal JSON Details" Customize filters: Modify the "Filter op ..." node to match your specific requirements Examples: specific organizations, contract values, regions, etc. How It Works Step 1: Trigger The workflow can be triggered either manually for testing or automatically on a daily schedule. Step 2: Fetch Publications Makes an API call to TenderNed to retrieve a list of recent publications (up to 100 per request). Step 3: Process & Split Extracts the tender array from the response and splits it into individual items for processing. Step 4: Fetch Details For each tender, the workflow makes two parallel API calls: XML endpoint - Retrieves the complete tender documentation in XML format JSON endpoint - Fetches metadata including reference numbers and keywords Step 5: Parse & Merge Parses the XML data and merges it with the JSON metadata and batch information into a single data structure. Step 6: Extract Fields Maps the raw API data to clean, structured fields including: Publication ID and date Organization name Tender title and description Reference numbers (kenmerk, TED number) Step 7: Filter Applies your custom filter criteria to focus on relevant tenders only. Step 8: Store Inserts the processed data into your database for storage and future analysis. Customization Tips Modify API Parameters In the "Tenderned Publicaties" node, you can adjust: offset: Starting position for pagination size: Number of results per request (max 100) Add query parameters for date ranges, status filters, etc. Add More Fields Extend the "Splits Alle Velden" node to extract additional fields from the XML/JSON data, such as: Contract value estimates Deadline dates CPV codes (procurement classification) Contact information Integrate Notifications Add a Slack, Email, or Discord node after the filter to get notified about new matching tenders. Incremental Updates Modify the workflow to only fetch new tenders by: Storing the last execution timestamp Adding date filters to the API query Only processing publications newer than the last run Troubleshooting No data returned? Verify your TenderNed API credentials are correct Check that you have setup youre filter proper Need help setting this up or interested in a complete tender analysis solution? Get in touch π LinkedIn β Wessel Bulte