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
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...
Auto-classify Gmail emails with AI and apply labels for inbox organization
Who is this for? Professionals and individuals who receive high volumes of emails, those who want to automatically organ...
Generate Product Ad Copy & CTAs with GPT-4 for Slack and Airtable
ā” AI Copywriter Pro: Instant Ad Copy & CTA Generator Transform product details into compelling marketing copy in second...
š Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments