Surface the angriest reviews and public complaints nobody has answered yet, ranked so your team replies in the order that protects your reputation most
https://apidirect.io/mcp?token=YOUR_API_KEY
Use the one-star-review-triage-queue skill: Build me a triage queue of the angriest unanswered reviews for {brand_name} in {location}, including our Facebook page {facebook_page_url}
one-star-review-triage-queue) makes your agent run this exact playbook instead of improvising its own searches.
In clients that support MCP prompts (Claude Desktop, Claude Code, Cursor) it also appears as a prompt named
one-star-review-triage-queue, and any agent can call
get_skill(skill_id="one-star-review-triage-queue") directly.
Negative reviews and complaints with no response do the most lasting damage, yet they hide at the bottom of the pile. This skill pulls the lowest-ranked, angriest, still-unanswered reviews from Google Maps and Facebook — and, when enabled, unanswered negative brand mentions on X and Reddit — into one prioritized response queue. A platforms toggle lets you choose exactly which surfaces to scan, and a depth control sets how far down each source you go.
Who it's for: Reputation and CX managers for local or multi-location brands
| Input | Required | Description | Example |
|---|---|---|---|
brand_name |
Yes | The business name to monitor reviews and mentions for | Bluebird Coffee |
location |
Yes | City/area to disambiguate the Google Maps listing | Austin, Texas |
facebook_page_url |
No | The brand's Facebook page URL to also pull recommendations from (required if platforms includes facebook) | https://www.facebook.com/bluebirdcoffee |
platforms |
No | Comma-separated list of platforms to run — options: places, facebook, twitter, reddit. Omit to run all of them; name specific platforms to limit the run. | facebook, twitter, reddit |
depth |
No | How many pages to pull per source (higher = deeper scan, slower). Maps to the pages param on the review and search tools. Defaults to 4 if unset. | 4 |
search_places(query="{brand_name} {location}")
Always run (Google is the anchor). Match the brand and grab the place_id of the correct listing (verify by name and business_status).
place_reviews(place_id=<place_id>, sort_by=lowest_ranking, get_sentiment=true, pages=4)
Always run. Keep 1-2 star reviews with no owner response whose dominant_emotion is anger or disgust, hardest-hitting first. {depth} defaults to 4 if unset.
facebook_page_details(url={facebook_page_url})
Only run if {platforms} includes facebook and {facebook_page_url} is provided: resolve the page_id needed to read the page's recommendations.
facebook_page_reviews(page_id=<page_id>, get_sentiment=true, pages=4)
Only run if {platforms} includes facebook: keep recommend=false items with negative sentiment and no page reply, then interleave with the Google queue by severity.
search_twitter(query="{brand_name}", get_sentiment=true, sort_by=most_recent, pages=4)
Only run if {platforms} includes twitter: keep negative-sentiment posts mentioning the brand that have no reply from the brand's own handle, newest first; fold into the queue by severity.
search_reddit(query="{brand_name}", get_sentiment=true, sort_by=most_recent)
Only run if {platforms} includes reddit: keep negative-sentiment posts/threads naming the brand that the brand has not responded to, then merge into the single triage queue by sentiment intensity. (search_reddit paginates via single-page `page`, so {depth} is not applied here.)
search_places
place_reviews
facebook_page_details
facebook_page_reviews
search_twitter
search_reddit
This is exactly what the MCP returns to your agent (via the one-star-review-triage-queue prompt or get_skill tool), with your inputs filled in.
SKILL: One-Star Review Triage Queue
Negative reviews and complaints with no response do the most lasting damage, yet they hide at the bottom of the pile. This skill pulls the lowest-ranked, angriest, still-unanswered reviews from Google Maps and Facebook — and, when enabled, unanswered negative brand mentions on X and Reddit — into one prioritized response queue. A platforms toggle lets you choose exactly which surfaces to scan, and a depth control sets how far down each source you go.
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_name (required): <brand_name — ASK THE USER>
The business name to monitor reviews and mentions for
- location (required): <location — ASK THE USER>
City/area to disambiguate the Google Maps listing
- facebook_page_url (optional): (optional — e.g. https://www.facebook.com/bluebirdcoffee)
The brand's Facebook page URL to also pull recommendations from (required if platforms includes facebook)
- platforms (optional): (optional — e.g. facebook, twitter, reddit)
Comma-separated list of platforms to run — options: places, facebook, twitter, reddit. Omit to run all of them; name specific platforms to limit the run.
- depth (optional): 4 (default — override if you like)
How many pages to pull per source (higher = deeper scan, slower). Maps to the pages param on the review and search tools. Defaults to 4 if unset.
PLATFORM SELECTION: some steps are gated with "Only run if {platforms} includes X". If the user supplied a `platforms` value, run only the steps whose platform is listed. If the user did NOT supply `platforms`, run ALL steps — every platform the skill supports.
STEPS:
1. Tool `search_places` — search_places(query="{brand_name} {location}")
Always run (Google is the anchor). Match the brand and grab the place_id of the correct listing (verify by name and business_status).
2. Tool `place_reviews` — place_reviews(place_id=<place_id>, sort_by=lowest_ranking, get_sentiment=true, pages=4)
Always run. Keep 1-2 star reviews with no owner response whose dominant_emotion is anger or disgust, hardest-hitting first. 4 defaults to 4 if unset.
3. Tool `facebook_page_details` — facebook_page_details(url={facebook_page_url})
Only run if {platforms} includes facebook and {facebook_page_url} is provided: resolve the page_id needed to read the page's recommendations.
4. Tool `facebook_page_reviews` — facebook_page_reviews(page_id=<page_id>, get_sentiment=true, pages=4)
Only run if {platforms} includes facebook: keep recommend=false items with negative sentiment and no page reply, then interleave with the Google queue by severity.
5. Tool `search_twitter` — search_twitter(query="{brand_name}", get_sentiment=true, sort_by=most_recent, pages=4)
Only run if {platforms} includes twitter: keep negative-sentiment posts mentioning the brand that have no reply from the brand's own handle, newest first; fold into the queue by severity.
6. Tool `search_reddit` — search_reddit(query="{brand_name}", get_sentiment=true, sort_by=most_recent)
Only run if {platforms} includes reddit: keep negative-sentiment posts/threads naming the brand that the brand has not responded to, then merge into the single triage queue by sentiment intensity. (search_reddit paginates via single-page `page`, so 4 is not applied here.)
DELIVER: A single prioritized triage queue of the angriest unanswered complaints — Google and Facebook reviews plus optional X and Reddit mentions — ordered by sentiment intensity for the fastest reputation-saving replies
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.
See what Google's AI tells the public about your brand — then trace that narrative back to the Reddit, news, and forum sources you can actually fix.
For a damaging tweet, map who's spreading it and how angry the room is — then check if the crisis has jumped to Reddit, the press, and forums.
Measure whether your crisis statement calmed the room or poured gas on it — on X and, optionally, across Reddit, news, and forums