Daily Google Maps review alerts with drafted replies in Slack

By General Input

Every morning at 8am, catch every new Google review across your locations, draft an owner reply tuned to the star rating, and post it to the right Slack channel.

Integrations

  • Local Business Data
  • Google Sheets
  • Slack

Type

Agentic Task

Categories

  • Customer Support
  • Operations

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).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats