Triage Tally form feedback into Linear and Slack
When someone fills out your Tally feedback or NPS form, sort it into bugs, feature requests, churn risk, praise, or noise and route each one to the right place.
Build me an agent workflow that triages every new submission from my Tally product-feedback / NPS form into Linear and Slack.
Trigger: a Tally webhook on form submission. When the webhook fires, the agent should call Tally Get Submission to pull the full response (all answers plus the question wording) and any NPS score on the form.
Then the agent should classify the submission into exactly one of these categories:
1. bug — something is broken or behaving wrong.
2. feature-request — a concrete ask for new capability.
3. churn-risk — language suggesting cancellation, switching, frustration, or an NPS score of 0 to 6 paired with negative wording.
4. praise — positive feedback, compliments, high NPS.
5. noise — empty, off-topic, spam, or single-word answers with no signal.
Routing rules:
For bug and feature-request: before filing anything, call Linear Search Issues with the key noun phrase from the submission to look for a near-duplicate filed in the last few weeks. If a close match exists, do NOT create a new issue; instead post a short note in the daily roll-up Slack channel saying "another report of <existing issue title>" with a link to the existing issue and the new quote. If there is no close match, call Linear Create Issue in the configured product team with: a clean, specific title summarizing the request (not the raw quote), the verbatim customer quote in the description along with the form question it answered and any contact info Tally captured, priority 2 (High) for bug + churn-risk overlap or paid-customer signals, priority 3 (Normal) otherwise, and a label matching the category ("bug" or "feature-request").
For churn-risk: still file a Linear issue with the "churn-risk" label and priority 2 (High), AND call Slack Bot Send a Message to the #customer-success channel with the customer's name/email (if Tally captured it), the verbatim quote, the NPS score if present, and a tag for the account owner so they can reach out same-day. Use a short, scannable format.
For praise: do not create a Linear issue. Call Slack Bot Send a Message to the daily roll-up channel (e.g. #product-feedback) with the quote and the submitter's name. These are good for marketing and team morale.
For noise: log a one-line entry to the daily roll-up channel so submissions are accounted for, but do nothing else.
Always include a link back to the underlying Tally submission in any Linear issue description so engineering can see the full context. Keep Slack messages compact (one short header line, one quote block, one line of metadata) so the channels stay readable.
Make the Tally form ID, the Linear team, the customer-success Slack channel, the daily roll-up Slack channel, and the account owner Slack handle configurable inputs on the workflow.
Additional information
What does this prompt do?
- Reads every new Tally form submission as soon as it lands, including the verbatim response and the question it was answering.
- Sorts each piece of feedback into one of five buckets: bug report, feature request, churn risk, praise, or noise.
- Files bugs and concrete feature requests as clean Linear issues in the right team, with the customer quote in the description, a sensible priority, and a category label.
- Pings a customer success Slack channel when someone is at churn risk or leaves a strongly negative NPS score, so an account owner can reach out the same day.
- Drops praise and low-signal feedback into a daily roll-up Slack channel so nothing gets thrown away, and checks recent Linear issues before filing so the same complaint never opens five tickets.
What do I need to use this?
- A Tally account with the feedback or NPS form you want to monitor.
- A Linear workspace where new issues should be filed, with a team to route them into.
- A Slack workspace with a customer success channel for churn alerts and a separate channel for the daily roll-up.
How can I customize it?
- Change the categories. Add buckets like "pricing complaint" or "integration request" if those matter for your product.
- Adjust the routing rules. Send bugs to one Linear team and feature requests to another, or swap the urgent-alert channel for a different group.
- Tune the churn signal. Decide which NPS score counts as a red flag, or add keyword rules like "cancel" and "switching" that should always escalate.
Frequently asked questions
Which Tally form should I connect?
What stops the same complaint from creating five Linear tickets?
Will praise and casual responses get lost?
How fast does this run after someone submits the form?
Can I send churn alerts somewhere other than Slack?
Stop hand-sorting every Tally response.
Connect Tally, Linear, and Slack once, and Geni triages every new submission the moment it lands.