Route and analyze customer feedback with Qwen3-VL, Tally, PostgreSQL
Self-Hosted
This workflow provides a complete end-to-end system for capturing, analyzing, and routing customer feedback. By combining local multimodal AI processing with structured data storage, it allows teams to respond to customer needs in real-time without compromising data privacy.
Who is this for?
This is designed for Customer Success Managers, Product Teams, and Community Leads who need to automate the triage of high-volume feedback. It is particularly useful for organizations that handle sensitive customer data and prefer local AI processing over cloud-based API calls.
š ļø Tech Stack
Tally.so**: For front-end feedback collection. LM Studio**: To host the local AI models (Qwen3-VL). PostgreSQL**: For persistent data storage and reporting. Discord**: For real-time team notifications.
⨠How it works
Form Submission: The workflow triggers when a new submission is received from Tally.so. Multimodal Analysis: The OpenAI node (pointing to LM Studio) processes the input using the Qwen3-VL model across three specific layers: Sentiment Analysis: Evaluates the text to determine if the customer is Positive, Negative, or Neutral. Zero-Shot Classification: Categorizes the feedback into pre-defined labels based on instructions in the prompt. Vision Processing: Analyzes any attached images to extract descriptive keywords or identify UI elements mentioned in the feedback. Data Storage: The PostgreSQL node logs the user's details, the original message, and all AI-generated insights. AI-Driven Routing: The same Qwen3-VL model makes the routing decision by evaluating the classification results and determining the appropriate path for the data to follow. Discord Notification: The Discord node sends a formatted message to the corresponding channel, ensuring the support team sees urgent issues while the marketing team sees positive testimonials.
š Requirements
LM Studio** running a local server on port 1234. Qwen3-VL-4B** (GGUF) model loaded in LM Studio. PostgreSQL** instance with a table configured for feedback data. Discord Bot Token** and specific Channel IDs.
š How to set up
Prepare your Local AI: Open LM Studio and download the Qwen3-VL-4B model. Start the Local Server on port 1234 and ensure CORS is enabled. Disable the Require Authentication setting in the Local Server tab. Configure PostgreSQL: Ensure your database is running. Create a table named customer_feedback with columns for name, email_address, feedback_message, image_url, sentiment, category, and img_keywords. Import the Workflow: Import the JSON file into your n8n instance. Link Services: Update the Webhook node with your Tally.so URL. In the Discord nodes, paste the relevant Channel IDs for your #support, #feedback, and #general channels. Test and Activate: Toggle the workflow to Active. Send a test submission through your Tally form and verify the data appears in PostgreSQL and Discord.
š Credential Setup
To run this workflow, you must configure the following credentials in n8n:
OpenAI API (Local): Create a new OpenAI API credential. API Key: Enter any placeholder text (e.g., lm-studio). Base URL: Set this to your machine's local IP address (e.g., http://192.168.1.10:1234/v1) to ensure n8n can connect to the local AI server, especially if running within a Docker container. PostgreSQL: Create a new PostgreSQL credential. Enter your database Host, Database Name, User, and Password. If using the provided Docker setup, the host is usually db. Discord Bot**: Create a new Discord Bot API credential. Paste your Bot Token obtained from the Discord Developer Portal. Tally**: Create a new Tally API credential. Enter your API Key, which you can find in your Tally.so account settings.
āļø How to customize
Refine AI Logic**: Update the System Message in the AI node to change classification categories or sentiment sensitivity. Switch to Cloud AI: If you prefer not to use a local model, you can swap the local **LM Studio connection for any 3rd party API, such as OpenAI (GPT-4o), Anthropic (Claude), or Google Gemini, by updating the node credentials and Base URL. Expand Destinations: Add more **Discord nodes or integrate Slack to notify different departments based on the AI's routing decision. Custom Triggers: Replace the Tally webhook with a **Typeform, Google Forms, or a custom Webhook trigger if your collection stack differs.
Related Templates
AI Email Classifier & Auto-Delete for Gmail (SPAM/OFFER Cleaner)
This workflow is designed for freelancers, solopreneurs, and business owners who receive a high volume of irrelevant mes...
Generate Food Recipes from Gmail & Form Requests with Ollama & Llama 3.2
This n8n template demonstrates how to create an intelligent food recipe assistant that accepts requests via Gmail and we...
Automatic News Summarization & Email Digest with GPT-4, NewsAPI and Gmail
š° AI News Digest Agent: Auto News Summarizer & Email Newsletter Create an intelligent news curation system that automat...
š Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments