Turn X complaints about your product into Linear tickets
Every 15 minutes, scan X for fresh complaints about your product, classify each one, and file a clean Linear ticket so nothing slips by.
Build an agent that turns customer complaints about my product on X (Twitter) into actionable Linear tickets. Trigger it on a cron schedule every 15 minutes.
On every run, the agent should do the following:
1. Use TwitterAPI.io's Advanced Search to find new tweets that mention my product handle alongside complaint signals. The query should combine my product handle and aliases (e.g. @myproduct, my product name) with keywords like "broken", "doesn't work", "bug", "crash", "feature request", and "wish [product] could". Restrict the search to the last 15 minutes using sinceTime so the agent only sees fresh posts each run and doesn't refile old ones.
2. For every matching tweet, call TwitterAPI.io's Get Tweet Thread Context so the agent has the full conversation, not just the surface tweet. A vague-looking complaint often becomes clear once you can see the reply chain.
3. Classify each thread as one of: bug, feature-request, how-to, or non-actionable. Drop the how-to and non-actionable items immediately. Do not file anything for those.
4. For each remaining bug or feature request, use Linear's Create Issue to file a ticket. Route bugs to a configurable Bugs team and feature requests to a configurable Product team. Write a clean, descriptive title that captures what the user is actually hitting, not marketing language. In the description, include the original tweet quote, the relevant context from the thread, the author's @ handle, a direct link to the tweet, and a short paragraph with the agent's interpretation of what is actually being asked for or broken. Tag every issue with a "from-twitter" label (configurable). Set priority based on engagement: mark it high priority if the tweet has more than N likes (configurable, default 10) or if the author is verified. Otherwise leave priority at normal.
5. After all tickets for the run are filed, use Slack's Send a Message to post one summary to a configurable support channel. The summary should list how many tickets were filed, a link to each new Linear issue, and the original X author handle and tweet link for each, so the support team can reply on X with an acknowledgement. If nothing was filed in the run, do not post anything.
Configurable inputs the user should be able to set when installing the workflow: the product handle and any aliases, the complaint keyword list, the Linear Bugs team and Product team, the label to apply (default "from-twitter"), the likes threshold for high priority, and the Slack channel for the run summary.
Additional information
What does this prompt do?
- Sweeps X every 15 minutes for new posts mentioning your product alongside complaint signals like broken, bug, crash, or feature request.
- Reads the full conversation thread before deciding what to do, so context is not lost when the real complaint is buried in a reply.
- Files clean Linear tickets in the right team, bugs separate from feature requests, with the original quote, author handle, link, and a plain-English read on what is actually being asked for.
- Posts a single Slack summary to your support channel so the team can reply to the user on X with an acknowledgement.
What do I need to use this?
- A TwitterAPI.io account and API key so the agent can search X for mentions of your product.
- A Linear workspace with at least one team for bugs and one for feature requests, plus permission to create issues.
- A Slack workspace and the channel where your support team tracks incoming customer feedback.
- Your product's X handle (or aliases) and the complaint keywords you want the agent to watch for.
How can I customize it?
- Edit the X handle, product aliases, and complaint keywords the agent searches for.
- Pick which Linear team receives bug reports versus feature requests, and what label gets applied to every ticket.
- Tune the priority rule so highly engaged or verified complaints jump the queue, while quieter ones stay at normal priority.
- Change the Slack channel that receives the run summary, or change the cadence from every 15 minutes to whatever fits your team.
Frequently asked questions
Won't this fill Linear with noise from every random tweet?
What if the same person keeps tweeting about the same issue?
Does it reply to the customer on X for me?
Can I run it less often than every 15 minutes?
Do I need a paid X or Twitter developer account?
Stop missing product complaints on X.
Connect TwitterAPI.io, Linear, and Slack once, and Geni triages every new complaint into the right ticket in under 15 minutes.