What it does
- Watches your Google Maps listings every morning and surfaces reviews posted since the last run, across as many locations as you list.
- Drafts a professional owner reply tuned to the star rating, apologetic and specific for 1 to 3 stars, warm and thankful for 4 to 5 stars, using the reviewer's name and the detail they mentioned.
- Routes critical reviews to a reputation alerts channel with the manager tagged and the draft reply ready to copy, and routes glowing reviews to a wins channel in a lighter format.
- Logs every review it has already alerted on so it never pings you twice, even across weeks of daily runs.
The prompt
Paste it into a new chat in General Input, and a specialist builds it with you.
Every morning at 8am, watch my own Google Maps listings for new reviews and turn each one into a Slack alert with a ready-to-post owner reply. The trigger is a daily cron.
Config is stored in a Google Sheet. Use the google-sheets Get Values operation to read two tabs from that sheet at the start of every run: a config tab with one row per location containing business_id (Google Maps place_id or hex id), location_name, and a short brand_voice note; and a seen_reviews log tab that holds the review ids we have already alerted on.
For each location row, call the local-business-data Business Reviews operation sorted by newest to pull the most recent reviews for that business_id. Diff the returned review ids against the seen_reviews log and keep only the ones that are new since the last run.
For every new review, draft a professional owner reply that references the reviewer's name and the concrete detail they mentioned. Tune the tone to the star rating: apologetic, specific, and offering to make it right for anything under 4 stars, and warm and thankful for 4 or 5 stars. Follow the brand_voice note from the config row.
Then route the alert with the slack Send a Message operation. If the review is 1 to 3 stars, post it to a #reputation-alerts channel, @-mention the manager, include location, rating, reviewer, and review text, and put the drafted reply in a code block so it is easy to copy. If the review is 4 or 5 stars, post to a #wins channel in a lighter format (location, rating, reviewer, one-line quote, drafted reply) with no @-mention.
After Slack has been notified, use the google-sheets Append Values operation to write a new row to the seen_reviews log tab with review_id, business/location, rating, reviewer, review text, drafted reply, and timestamp. This is what prevents re-alerting on the same review on future runs.
Multi-location behavior: loop over every business_id row in the config tab so a brand with many storefronts is handled in a single run. Never alert on a review whose id is already in the seen_reviews log. If a location has no new reviews on a given day, skip it silently and move on.
The setup guide should walk the user through creating the two-tab Google Sheet (config with headers business_id, location_name, brand_voice, manager_slack_id, and seen_reviews with headers review_id, location, rating, reviewer, text, drafted_reply, timestamp) and show how to grab a business_id from a Google Maps URL (either the place_id or the hex id works).
What you'll need
- A Local Business Data account for pulling Google Maps reviews.
- A Google account with access to a sheet that lists your business locations and holds the alert log tab.
- A Slack workspace with a reputation alerts channel for low ratings and a wins channel for high ratings.
- The Google Maps place ids for each location you want monitored, plus a short brand voice note so replies sound like you.
Make it yours
- Change the schedule from 8am daily to whatever cadence fits your team, like twice a day or weekdays only.
- Adjust the star rating thresholds and swap the two Slack channels, or route everything to a single channel if you prefer one queue.
- Tune the brand voice notes in the config tab to make replies more formal, more casual, or bilingual for locations in different markets.
- Add more locations by dropping new rows into the config tab, no code changes required.