Triage X brand mentions into Zendesk and Slack

Every 15 minutes, scan X for mentions of your brand, then turn complaints and support questions into Zendesk tickets and ping Slack on anything that looks like a PR risk.

Agentic Task
X (Twitter)ZendeskSlack BotCustomer SupportMarketingFeedback TriageNotifications & AlertsResearch & Monitoring

Build me an agent that watches X (Twitter) for brand mentions and triages them. It should run on a cron schedule, every 15 minutes.

On each run, the agent should use X (Twitter) Search Recent Tweets with a configurable query I provide (my brand handle, my product names, and common misspellings combined with OR) and also call X (Twitter) Get User Mentions for my own handle so we catch anything the keyword search missed. Only pull posts newer than the last time we ran.

For each new post, the agent should classify two things: sentiment (positive, neutral, negative) and intent. The intent buckets are: praise, neutral chatter, complaint, support question, bug report, and PR risk. PR risk is the special bucket for anything that could spread or damage the brand: viral complaints, accusations, safety issues, posts from high-reach accounts, or anything that reads like the start of a pile-on.

Then route the result based on the intent:

1. Positive or neutral mentions: log silently. Do not create a ticket and do not send a Slack message.

2. Complaints or support questions or bug reports: call Zendesk Create Ticket. The subject should be a one-line summary of the post. The description should include the full tweet text, the author handle, a direct URL to the tweet (https://x.com/{author_handle}/status/{tweet_id}), the detected sentiment, and the detected intent. Tag the ticket with 'x-mention' and the intent label so support can filter.

3. Anything flagged PR risk: in addition to whatever ticket got created above, also call Slack Bot Send a Message to a configurable channel (default #pr-alerts). The message should lead with a severity label (low, medium, high), then the tweet text in a quote, then the author handle and follower count if available, then a deep link to the post. Use Slack mrkdwn formatting.

De-dupe by tweet ID. Keep a record of every tweet ID the agent has already processed and skip it if it shows up again, including the case where the same mention is returned by both the keyword search and the direct-mentions endpoint. Persist this across runs so we never ticket or alert the same mention twice.

Inputs I want to be able to configure: the keyword query string, my X handle, the Zendesk tags to apply, the Slack channel for PR alerts, and which intents create tickets versus which only log.

At the end of each run, print a short summary in the run log: how many new posts were seen, how many tickets were created, how many Slack alerts were fired, and how many were logged silently.

Additional information

What does this prompt do?
  • Checks X every 15 minutes for posts that mention your brand, your products, your handle, and common misspellings, plus anything tagging your account directly.
  • Reads each new post and decides whether it is praise, neutral chatter, a complaint, a support question, a bug report, or something that could blow up into a PR problem.
  • Opens a Zendesk ticket for every complaint and support question with the post link, the author handle, and a one-line summary so your support team can pick it up.
  • Posts an urgent alert in Slack the moment something looks like a PR risk, with the severity, the post text, and a direct link to the original tweet.
  • Remembers every post it has already seen so the same mention never gets ticketed or alerted twice.
What do I need to use this?
  • An X (Twitter) account for your brand that the agent can read from.
  • A Zendesk account where the agent can open new support tickets.
  • A Slack workspace and the name of the channel you want PR-risk alerts to go to.
  • Your brand keywords: handles, product names, and the misspellings people actually use.
How can I customize it?
  • Change how often it runs. Fifteen minutes is a sensible default, but you can speed it up during a launch or slow it down on quiet weeks.
  • Edit the watch list. Add new products, retired names, executive handles, or competitor mentions you want pulled in.
  • Tune the routing rules. Decide which intents become Zendesk tickets, which trigger a Slack ping, and which get logged silently.
  • Pick which Slack channel gets alerts and what counts as a PR risk worth waking the team up for.

Frequently asked questions

Why every 15 minutes and not real time?
X only lets you search posts from the last seven days, so the agent needs to check often enough that nothing slips out of that window. Fifteen minutes is frequent enough to catch issues while they are still small without burning through your X quota.
Will the same post get ticketed or alerted twice?
No. The agent keeps a list of every post it has already processed and skips anything it has seen before, even if the same mention shows up in both the keyword search and your direct mentions.
Do positive mentions get a Zendesk ticket?
No. Praise and neutral mentions are logged silently so your support queue stays focused on people who actually need help. You can change which intents create tickets at any time.
What counts as a PR risk?
Anything the agent flags as likely to spread or damage your brand, for example viral complaints, accusations, safety issues, or posts from high-reach accounts. You define the threshold and the agent applies it to every new mention.
Can I point this at more than one brand or product line?
Yes. Give the agent multiple handles, product names, and keyword variants in one list and it will search them all on the same schedule.

Stop missing the X mention that turns into a crisis.

Connect X, Zendesk, and Slack once, and Geni triages every brand mention into the right queue every 15 minutes.