Every unanswered review is a customer watching how you handle it
A new review lands while you're slammed. You mean to reply, but by the time you sit down there are five more, and the angry one from Tuesday is still sitting there with no response. The next customer reads all of it: the glowing ones, the messy one, and whether you bothered to reply.
This kit pulls your recent Google reviews, and for the friendly ones it drafts a reply matched to a short brand-voice file you wrote, so the words sound like you and not like a robot. For the 1 to 2 star or sensitive ones, it does not try to be clever: it flags them for you to handle by hand. You read every draft, edit if you want, and approve before anything posts.
Pull your recent Google reviews
- Open your Google Business Profile and confirm you manage the listing.
- Create a read token in the kit's setup wizard (the README walks you through it line by line).
- Run
npm run pullto fetch your latest reviews into a local file.
Write your brand-voice file: the file you own
data/brand-voice.md) with a few lines: your tone, how you sign off, a couple
of phrases you like, and a short never-say list. The bot drafts every reply through
this file. Edit it any time and the next batch of drafts shifts with it.| Field in brand-voice.md | What it sets | Example |
|---|---|---|
| tone | How the replies sound | Warm, plain-spoken, a little playful. Never corporate. |
| sign_off | How every reply ends | See you soon, the team at Tide & Pine. |
| do_say | Phrases that sound like you | Thanks for taking the time. We'd love to have you back. |
| never_say | The hard no list | No discounts in public replies. Never argue. Never blame staff. |
Give it a brain: connect Claude
- Go to console.anthropic.com and sign in.
- Open API Keys โ Create Key.
- Copy the key (it starts with
sk-ant-). The setup wizard saves it on your machine.
claude-opus-4-8 (sharpest). High volume? Set claude-haiku-4-5 to cut cost.
Try it: draft replies, flag the hard ones, post nothing
Tap a review to run it through the responder:
You approve, then it posts (and never before)
โข Nothing posts without your explicit tap. Every draft waits for approval.
โข Angry and sensitive reviews escalate to a human by design. The bot does not try to defuse a 1-star itself.
โข The brand-voice file is yours. The bot drafts only within it, and honors your never-say list.
For the flagged ones, the kit can drop a quiet heads-up (a Slack or email ping with the review and a suggested talking point) so a real person picks it up fast. It still drafts nothing public for those.
Put it on a rhythm: a daily review sweep
npm run dryrun # draft + flag in your terminal, nothing posts npm run pull # fetch the latest Google reviews npm run queue # build today's draft + flag queue for you to approve npm start # run the responder on a daily schedule npm run mcp # expose it as an MCP server (drive it from Claude)
DRY_RUN on. In dry-run it drafts and flags but the Google poster is gated
off, so you can watch a full sweep before a single real reply ever posts.Run it yourself: it's free and it's the real thing
The kit is a complete, runnable, MIT-licensed repo: pull your Google reviews, draft on-brand replies from a brand-voice file you own, flag the sensitive ones for a human, and post only what you approve. Runs on your machine, nothing crippled.
Get the free kit on GitHub โGo live
With the kit downloaded:
npm install npm run setup # Claude key + Google token + brand voice on YOUR machine npm run pull # fetch your recent reviews npm run queue # draft the easy ones, flag the hard ones
Edit brand-voice.md whenever your tone shifts, and the next batch of drafts
follows. Prefer the command line first? npm run dryrun lets you watch it draft
and flag without posting anything. Pair it with the
Social Repurposer to turn your best new reviews into
posts, and read Lesson on AI safety for why human-in-the-loop
matters here.
Want it watching every platform and tuned to your exact voice?
This kit is the DIY taste. We connect it across Google, Yelp, and Facebook and tune it to your voice, route the flagged reviews to the right person, and keep the whole thing running so no review ever sits unanswered again.
Work with us โ โณ Why we keep a human in the loop