1. Opening Problem Statement
Meet Jane, a customer experience manager at a growing software company. Every week, Jane receives dozens of responses from customers through Typeform surveys asking for feedback and suggestions. Sorting through this manual flood of feedback is tedious and time-consuming. Jane spends hours reading each reply, trying to gauge sentiment and prioritize the positive insights for her team’s action. This process often leads to delays in responding to valuable suggestions, lost opportunities to improve products, and frustration on Jane’s part due to inefficient manual handling.
Imagine Jane’s challenge: Sorting and acting on qualitative feedback without automated sentiment analysis, she risks missing out on timely improvements — ultimately costing the company time, money, and customer loyalty.
2. What This Automation Does
This n8n workflow transforms Jane’s manual feedback processing by automating sentiment analysis and categorizing responses for effective team collaboration. Specifically, when the workflow is triggered by a new Typeform submission, it:
- Automatically extracts the free-text feedback from the form.
- Uses Google Cloud Natural Language to analyze the sentiment score of the feedback text.
- If the sentiment score is positive (greater than zero), it logs the feedback with user details into a Notion database for record-keeping and further review.
- Creates a Trello card summarizing the sentiment score and feedback, visually organizing positive insights for the project team.
- Sends a notification to a Slack channel with the feedback snippet and sentiment score, enabling quick awareness and team discussions.
- If the feedback sentiment is negative or neutral, it simply creates a Trello card, ensuring no feedback is lost but highlighting positive comments for specialized follow-up.
This workflow saves Jane several hours each week, eliminates manual sentiment evaluation errors, and ensures all team members promptly receive categorized feedback tailored to their workflow tools.
3. Prerequisites ⚙️
- n8n account (cloud or self-hosted) 🔌
- Typeform account with a form collecting feedback 📧
- Google Cloud account with Natural Language API enabled 🔑
- Notion account with a database set up to store feedback 📁
- Trello account with a board and list to add feedback cards 📋
- Slack workspace with a channel ready to receive feedback notifications 💬
- API credentials for each service properly configured in n8n ⚙️
4. Step-by-Step Guide
Step 1: Set Up the Typeform Trigger Node
In your n8n editor, click + Add Node, then search for and select Typeform Trigger. Configure it by entering your specific formId (e.g., fBYjtY5e) from your Typeform form settings. Authenticate the node using your Typeform API credentials. This node listens for each new form submission to start the workflow.
Tip: After saving, check your n8n webhook URL and paste it into Typeform’s webhook settings to ensure submissions trigger the workflow.
Common mistake: Forgetting to activate the webhook on Typeform side, which will cause your workflow never to trigger.
Step 2: Configure the Google Cloud Natural Language Node
Add the Google Cloud Natural Language node next. Connect it to the Typeform Trigger node’s output. In the parameters, map the content field to your feedback question text from Typeform using an expression like {{$json["Any suggestions for us? "]}}.
Authenticate with your Google Cloud OAuth2 credentials that have permission to access the Natural Language API.
When a submission comes in, this node analyzes the sentiment of the feedback text, generating a sentiment score used downstream.
Common mistake: Not enabling the Natural Language API in your Google Cloud console, which will cause authorization errors.
Step 3: Add the IF Node to Branch Based on Sentiment
Insert an IF node connected to the Natural Language node. Configure it with a condition to check if the sentiment score is greater than 0 (positive sentiment). Use the expression {{$node["Google Cloud Natural Language"].json["documentSentiment"]["score"]}} as value1 and operation larger.
This node splits the workflow into two branches: one for positive sentiment feedback and another for neutral or negative.
Common mistake: Misconfiguring the expression syntax or choosing the wrong data path, which can cause the condition to fail.
Step 4: Configure the Notion Node for Positive Feedback Logging
On the positive branch of the IF node, add a Notion node. Choose the databasePage resource and input your databaseId where you want feedback stored.
Set the properties mapping: the Name property as title with the respondent’s name {{$node["Typeform Trigger"].json["Name"]}}, and the Feedback property for the feedback text {{$node["Typeform Trigger"].json["Any suggestions for us? "]}}.
Authenticate using your Notion API key.
Common mistake: Incorrect property keys in Notion lead to data not saving properly.
Step 5: Configure the Trello Node for All Feedback
Drag a Trello node and connect both IF node output branches to it. This node adds a card to your specified Trello list summarizing the sentiment score, user feedback, and username.
For the card name, use an expression like =Score: {{$json["documentSentiment"]["score"]}}. In the description, add details using multiline text including the feedback and the user’s name.
Authenticate with your Trello API key and select the correct listId for your board.
Outcome: All feedback entries appear as Trello cards, tagged with sentiment scores.
Common mistake: Using a wrong listId or forgetting to authenticate properly will cause card creation failure.
Step 6: Set Up Slack Node for Positive Feedback Alerts
Link the Notion node’s output to a Slack node to notify team members. Configure the Slack node to send a message to your chosen channel, for example, general.
Set the message text and title to include the respondent’s name and the feedback text with sentiment score, using expressions like {{$node["Typeform Trigger"].json["Any suggestions for us? "]}} and {{$node["Google Cloud Natural Language"].json["documentSentiment"]["score"]}}.
Authenticate with your Slack API token.
Result: Your team receives real-time notifications of positively scored feedback for immediate attention.
Common mistake: Not specifying the correct Slack channel or using outdated tokens causes message delivery failure.
5. Customizations ✏️
- Change Sentiment Threshold: In the IF node, adjust the sentiment score condition from > 0 to a custom value (e.g., > 0.5) to filter for only strongly positive feedback.
- Add Negative Feedback Alerts: Add another Slack node on the negative IF branch to notify your support team about critical feedback.
- Store Additional Data: Extend the Notion properties to include email or submission date by mapping extra Typeform fields.
- Different Trello Lists: Create multiple Trello lists and route cards based on sentiment ranges (negative, neutral, positive) via the IF node’s multiple outputs.
6. Troubleshooting 🔧
Problem: “Webhook never triggers after Typeform submission”
Cause: Webhook URL not registered or activated in Typeform.
Solution: Copy the webhook URL from the Typeform Trigger node and paste it exactly into the Typeform form webhook settings. Enable it and test with a sample submission.
Problem: “Google Cloud Natural Language API authorization error”
Cause: API not enabled or expired credentials.
Solution: Go to Google Cloud Console, enable the Natural Language API, and refresh or regenerate OAuth credentials used in n8n.
Problem: “Notion properties not saving data”
Cause: Wrong property keys or data types.
Solution: Double-check your Notion database schema, ensure property names exactly match those configured in the Notion node, and test with simple text inputs.
7. Pre-Production Checklist ✅
- Verify Typeform webhook is active and test submission triggers workflow.
- Confirm Google Cloud Natural Language API call returns sentiment score properly.
- Ensure IF node correctly splits the workflow based on the sentiment condition.
- Test data insertion into Notion database for positive feedback works as intended.
- Check Trello card creation for all feedback branches.
- Validate Slack notifications appear only on positive feedback branch.
- Backup your n8n workflow JSON export before production launch.
8. Deployment Guide
Activate the workflow by toggling it on in n8n. Ensure all credentials remain valid and API quotas are sufficient. Monitor workflow execution via n8n’s executions dashboard. Use logs to catch any errors for fast troubleshooting. This workflow’s automated nature requires minimal manual intervention once live, dramatically improving feedback handling.
9. Conclusion
By following this guide, you’ve built a powerful feedback automation leveraging Typeform, Google Cloud Natural Language, Notion, Trello, and Slack with n8n. Jane’s weeks of manual sorting are now just seconds of automated processing. Your team gains immediate insights via Slack alerts, organized records in Notion, and visual boards in Trello. This saves hours weekly, reduces human error, and boosts customer experience responsiveness.
Next steps: consider expanding to handle negative feedback alerts, integrate with email follow-ups, or enrich sentiment analysis with entity recognition for deeper insights. You’re well on your way to mastering customer feedback automation with n8n!