Feature Request Feedback Loop with Semantic Search and AI Drafting - n8n Workflow

Automate closing the loop on user feedback. This advanced n8n workflow uses semantic search, Supabase, and AI to draft personalized Gmail messages when features ship, leveraging RAG functionality.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Product Managers and Owners who want to improve customer retention and engagement.

  • SaaS teams looking to close the loop on user feedback submitted via forms like Tally.

  • Technical users interested in implementing advanced RAG and semantic search using n8n, Supabase, and AI.

Overview

Keeping users informed when you ship a feature they specifically requested is crucial for building loyalty. However, manually matching new features to hundreds of past requests is impossible. This sophisticated n8n workflow provides a scalable solution by leveraging semantic search capabilities.

This n8n template operates in two phases: first, it ingests feature requests, generating embeddings and storing them in Supabase, effectively building a knowledge base. Second, when a new feature is launched (triggered by RSS or manually), the new feature description is embedded and used to query Supabase for semantically similar historical requests. For every match, an AI agent connected via an n8n node drafts a hyper-personalized email, ensuring the user feels heard and valued. This specific n8n workflow utilizes several advanced components to deliver a powerful automation solution.

How it Works

This n8n workflow is divided into two distinct logical paths:

1. Request Ingestion and Storage (Tally Trigger)


  1. Tally Trigger: The n8n trigger initiates upon a new feature request submission from Tally Forms.

  2. Data Cleaner: The data is processed using an n8n node to map the generic Tally fields (like questionxxx) into clean variables (username, useremail, originaltext).

  3. Embedding: The originaltext is embedded (vectorized) using the Embeddings OpenAI n8n node (configured for nomic-embed-text:latest).

  4. Supabase Vector Store: The request text, user metadata, and its corresponding vector are stored in the Supabase database, forming the searchable knowledge base.

2. Feature Launch and Notification (RSS/Manual Trigger)


  1. Dual Trigger: The second path starts either via the RSS Feed Trigger (monitoring a changelog) or the When clicking ‘Execute workflow’ manual n8n trigger for testing.

  2. Input Manager (Code): A Code n8n node extracts the feature launch description, prioritizing manual input or RSS content/title.

  3. Generate Embedding (Ollama): The feature description is converted into a vector via an HTTP Request n8n node targeting a local Ollama service (nomic-embed-text).

  4. Supabase Search: A second HTTP Request n8n node calls the Supabase rpc/matchfeature_requests endpoint, using the feature embedding to find the top 10 semantically similar user requests.

  5. Loop Matches: The Split in Batches n8n node iterates over each matching user found by the semantic search.

  6. AI Agent Drafting: The AI Agent - Draft text maker n8n node, connected to the OpenAI Chat Model3 (e.g., Command-R), crafts a personalized email draft based on the user's specific past request and the new feature launch.

  7. Structured Output Parser: Ensures the AI response is correctly formatted into a JSON structure ({ "subject": "...", "body": "..." }).

  8. Create Draft (Gmail): The final n8n node uses the Gmail service to create a draft email for the matched user, ready for a final human review before sending.

Installation Guide


  1. Import the n8n workflow: Copy the provided JSON and import it into your n8n instance.

  2. Supabase Setup: Before running, you must run the required SQL script in your Supabase project to create the featurerequests table and the necessary matchfeaturerequests RPC function for vector search.

  3. Credential Setup:

- Tally: Set up credentials for the Tally Trigger n8n node and configure it to your specific form ID.
- Supabase: Add the Supabase API credential (used by the Vector Store and the HTTP Request nodes).
- Gmail: Set up the Gmail credential for the Create Draft n8n node.

  1. Node Configuration:

- Data Cleaner: Open this n8n node and map your actual Tally form fields (Name, Email, Request content) to the user
name, useremail, and originaltext variables.
- HTTP Request - Supabase Search: Update the URL to point to your specific Supabase project URL (https://yourlinkto.supabase.co/rest/v1/rpc/matchfeaturerequests).
- Generate Embedding (Ollama): Ensure your Ollama service is accessible via the specified URL (e.g., http://host.docker.internal:11434/api/embeddings).

  1. Activation: Activate the n8n workflow. The Tally section will immediately start recording requests. Use the Manual Trigger path to test the feature matching.

Node Details

Tally Trigger (n8n trigger): Listens for new form submissions, initializing the ingestion path.
Function: Captures raw feature requests.
Data Cleaner (Set n8n node): Essential for mapping dynamic form variables to standardized internal names (username, useremail, originaltext) before storage.
Supabase Vector Store (n8n node): Stores the vectorized feature request data, ensuring it is indexed for high-speed semantic queries.
Embeddings OpenAI (n8n node): Configured to use the nomic-embed-text:latest model for generating 768-dimensional vectors from the input text.
RSS Feed Trigger (n8n trigger): Polls a specified URL (e.g., a product changelog) on a set schedule (weekly) to automatically detect new features.
HTTP Request - Supabase Search (n8n node): Performs the core semantic search. It sends the feature launch embedding to Supabase, asking for requests with a similarity threshold of 0.70.
AI Agent - Draft text maker (n8n node): This crucial step uses an AI model (command-r7b:7b-12-2024-q8
0) to take the context of the user's old request and the new feature to write a personalized, contextualized email draft.
Structured Output Parser (n8n node): Forces the AI's output into a reliable JSON format for the subject and body, making the subsequent steps in the n8n workflow robust.
Create Draft (Gmail n8n node): The final action, creating a draft email in Gmail addressed to the matched user, ensuring a human can review the AI-generated message before deployment.

Related n8n Workflows

Free

Nodes: 16 Nodes
Updated: December 26 2025
View all
Created by

Hi! 👋 I'm Ehsan , a BI & Data Analyst and AI Specialist with a passion for automation! 🤖 I use n8n , Python , and SQL to build powerful data pipelines and turn complex data into real-world insights.

Featured*