Turn negative Yotpo reviews into ready-to-work Gorgias tickets
Every hour we catch new 1 to 3 star Yotpo reviews, open a Gorgias ticket with the customer's order history and a drafted reply, and rank the batch in Slack.
Every hour, check Yotpo for new reviews and give my support team a head start on the unhappy ones. Run this on a cron schedule, hourly.
Start by pulling recent reviews with the Yotpo Retrieve All Reviews operation. That API uses page plus count offset pagination, so page through results until you reach reviews older than the previous run. Keep only reviews scoring 3 stars or below that arrived since the last run, and record the timestamp of the newest review you processed so the next run picks up exactly where this one stopped and nothing is handled twice.
Skip mild feedback. If a low scoring review is just a lukewarm opinion and the reviewer is not actually asking for anything, do not open a ticket for it. Only act on reviews where there is a real problem or an implied request for help.
For each review that qualifies, look up the reviewer with Yotpo Retrieve Customers using the email on the review, then pull their purchase history with Yotpo Retrieve Orders so the team can see order value and what was actually bought. Yotpo writes customer records asynchronously and a reviewer email will not always resolve to a customer record, so degrade gracefully: if no customer or no orders come back, carry on and open the ticket with just the review content.
Judge the likely root cause from the review text and classify each one as product defect, shipping delay, or mismatched expectations.
Open a Gorgias ticket for each qualifying review using Gorgias Create Ticket. The ticket should contain the review text, the star score, the product reviewed, the reviewer's order history when it was found (order dates, order values and items bought), your read on the root cause, and a drafted apology and resolution reply. Label the ticket with the root cause, using Gorgias Add Ticket Tags if the tags cannot be set at creation time. Leave the drafted reply inside the ticket as a draft for a human agent to review, edit and send. Never reply to the customer automatically.
Finally, post one Slack message to my support channel with Slack Send a Message summarizing the batch, ranked by severity so the worst ones get seen first. Weigh star score, the customer's total order value and how upset the reviewer sounds when ranking. For each review include the star rating, the product, a one line summary, the root cause label and a link to the Gorgias ticket. If no reviews qualified this hour, post nothing at all.
Example output
What does this prompt do?
- Checks Yotpo every hour for new reviews scoring 3 stars or below, and skips the mild ones where the reviewer is not actually asking for anything.
- Looks up the reviewer's past orders so your team sees what they bought and what it was worth before they reply.
- Opens a Gorgias ticket holding the review, the star score, the product, the order history, a likely root cause label (faulty product, late delivery, or wrong expectations) and a drafted apology and resolution.
- Posts one Slack message to your support channel with the whole batch ranked worst first, so the angriest customers get seen first.
What do I need to use this?
- A Yotpo account with reviews collected for your store
- A Gorgias helpdesk where the tickets should be created
- A Slack workspace and the channel your support team watches
- Customer and order data synced into Yotpo if you want purchase history on the ticket. The workflow still runs without it.
How can I customize it?
- Change the star threshold: 2 stars and below if you only want the worst, or 4 and below to catch lukewarm reviews too.
- Run it more or less often, for example every 15 minutes in peak season and once a day in quiet periods.
- Point the tickets and the Slack summary at a different team or channel, and set the tone of the drafted reply to match your brand voice.
FAQs
Does this reply to the customer automatically?
What happens if the reviewer does not match a customer record?
Will this flood my helpdesk with tickets for every bad review?
How does it decide which reviews are most urgent?
What happens in an hour with no bad reviews?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.
Every weekday morning, unfulfilled orders get an address check: harmless typos fixed automatically, risky addresses held with a note to the customer.
Stop finding out about angry reviews too late.
Every bad Yotpo review reaches your support team as a ready-to-work ticket, with the customer's history attached and a reply already drafted.