Detect an incident from angry tweets minutes before the support queue floods
https://apidirect.io/mcp?token=YOUR_API_KEY
Watch X and alert me the moment {brand} looks like it's having an outage.
outage-early-warning-siren.
Any agent can also call get_skill(skill_id="outage-early-warning-siren") to pull these steps on demand.
Customers tweet "is X down?" long before they open a ticket. This skill watches real-time complaint volume against a baseline and weights it by complainer reach, so a real outage trips the siren while one-off gripes don't.
Who it's for: Support leads and on-call/reliability teams
| Input | Required | Description | Example |
|---|---|---|---|
brand |
Yes | Brand, app, or service name people would mention when it breaks | Figma |
search_twitter(query='{brand} down OR broken OR "not working" OR outage', sort_by=most_recent, pages=10, get_sentiment=true)
Count fresh complaints; keep only items with polarity==negative or dominant_emotion in anger/fear.
search_twitter(query='{brand} down OR outage', sort_by=relevance, get_sentiment=true)
Establish a typical-volume baseline so the recent spike can be measured against normal background noise.
twitter_user_profile(username=<complainant_username>)
For each recent complainer, pull followers_count and verified to weight blast radius by reach.
twitter_tweet_comments(tweet_id=<loudest_complaint_id>, get_sentiment=true)
Check the pile-on replies on the loudest tweet to confirm a real incident versus an isolated user issue.
This is exactly what the MCP returns to your agent (via the outage-early-warning-siren prompt or get_skill tool), with your inputs filled in.
SKILL: Outage Early-Warning Siren
Customers tweet "is X down?" long before they open a ticket. This skill watches real-time complaint volume against a baseline and weights it by complainer reach, so a real outage trips the siren while one-off gripes don't.
You are running this skill on API Direct via its MCP tools. Execute the steps below yourself by calling the named tools in order — values in <angle brackets> come from a previous step. Then deliver the result described at the end.
INPUTS:
- brand (required): <brand — ASK THE USER>
STEPS:
1. Tool `search_twitter` — search_twitter(query='<brand> down OR broken OR "not working" OR outage', sort_by=most_recent, pages=10, get_sentiment=true)
Count fresh complaints; keep only items with polarity==negative or dominant_emotion in anger/fear.
2. Tool `search_twitter` — search_twitter(query='<brand> down OR outage', sort_by=relevance, get_sentiment=true)
Establish a typical-volume baseline so the recent spike can be measured against normal background noise.
3. Tool `twitter_user_profile` — twitter_user_profile(username=<complainant_username>)
For each recent complainer, pull followers_count and verified to weight blast radius by reach.
4. Tool `twitter_tweet_comments` — twitter_tweet_comments(tweet_id=<loudest_complaint_id>, get_sentiment=true)
Check the pile-on replies on the loudest tweet to confirm a real incident versus an isolated user issue.
DELIVER: A go/no-go outage alert with estimated blast radius (recent-vs-baseline spike weighted by complainer reach) and links to the earliest complaints.
Note: each underlying tool call is billed at its normal endpoint price; get_sentiment adds a small per-page surcharge. Page through results as needed but stop once you have enough to deliver the outcome.
Spot a key B2B account churning from its employees' posts and its reqs for rival tools.
Catch 'I'm cancelling / switching' posts and prioritize the loudest accounts for a save.
Turn scattered "I wish it could" chatter into a ranked, evidence-backed feature backlog