Route and analyze customer feedback with Qwen3-VL, Tally, PostgreSQL
UnknownUnknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.
Community nodes
These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
n8n-nodes-tallyforms(Tally Trigger)
Nodes used (13)
- Tally Trigger
n8n-nodes-tallyforms.tallyTrigger - Edit Fields (Set)
n8n-nodes-base.set - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - If
n8n-nodes-base.if - HTTP Request
n8n-nodes-base.httpRequest - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Discord
n8n-nodes-base.discord - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Code
n8n-nodes-base.code - Merge
n8n-nodes-base.merge - Aggregate
n8n-nodes-base.aggregate - Postgres
n8n-nodes-base.postgres - Switch
n8n-nodes-base.switch
What it does
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 1. Form Submission: The workflow triggers when a new submission is received from Tally.so. 2. 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. 3. Data Storage: The PostgreSQL node logs the user's details, the original message, and all AI-generated insights. 4. 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. 5. 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 1. 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. 2. Configure PostgreSQL: - Ensure your database is running. Create a table named customerfeedback with columns for name, emailaddress, feedbackmessage, imageurl, sentiment, category, and imgkeywords. 3. Import the Workflow: - Import the JSON file into your n8n instance. 4. 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. 5. 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 St