Weekly Google Maps review triage to Slack and Linear

Every Monday, pull last week's Google Maps reviews for your locations, post a sentiment digest in Slack, and file Linear tickets for recurring complaints.

Agentic Task
ApifySlack BotLinearCustomer SupportOperationsFeedback TriageDaily DigestsResearch & Monitoring

Build an agent workflow that monitors Google Maps reviews for our business locations every Monday morning, then produces two outputs: a Slack digest summarizing the week, and Linear tickets for recurring complaint themes the ops team needs to fix.

Trigger: cron, every Monday at 8am local time.

Step 1: scrape reviews. Use the Apify integration's 'Run Actor Synchronously and Get Dataset Items' operation to run a Google Maps reviews scraper Actor (default to apify/google-maps-reviews-scraper, but let the user swap it for any equivalent reviews Actor). Pass the configured list of Google Maps location URLs or place IDs and a date range covering the past 7 days. Persist the last successful run timestamp and the set of review IDs already processed in workflow memory, then filter the returned items so we only act on reviews newer than the last run, even if the Actor returns older ones.

Step 2: classify and group. For each new review, classify it as positive, neutral, or negative using both the star rating and the review text. For negative reviews, identify the dominant theme (food quality, wait times, cleanliness, staff behavior, value, service, accuracy, etc.). Do not rely on the scraper's built-in sentiment score, use the agent's own judgment so themes are concrete and actionable. Count theme occurrences across the week's batch and note which locations each theme shows up at.

Step 3: post the Slack digest. Use Slack Bot's 'Send a Message' operation to post to the configured channel. Include: overall sentiment breakdown for the week with counts and percentages; average star rating with a delta versus the prior week if memory has it; the top three complaint themes with mention counts; one or two representative review quotes per top theme; and a short callout for any 1-star review or unusual spike in negative volume. Use Slack mrkdwn formatting.

Step 4: file Linear tickets. For any negative theme that appears more than twice in this week's batch and does not already have an open ticket from a prior run, use Linear's 'Create Issue' operation to open a ticket in the operations team's backlog. Title is the theme phrased as a fix (for example, 'Wait times at the downtown location'). Description should include the mention count, the locations affected, and the supporting review quotes with reviewer names, star ratings, and review URLs. Default priority Medium. Track the set of open theme tickets in workflow memory so recurring themes get a comment with new quotes added to the existing ticket instead of a duplicate.

State to persist between runs: the last successful run timestamp, the set of review IDs already processed, and a map of negative themes to their open Linear ticket IDs.

If the Apify run fails or returns zero new reviews, still post a short Slack message noting the run status so the ops team knows the workflow ran. Make the location list, the Slack channel, the Linear team, the theme dictionary, and the ticket-creation threshold all configurable by the user when they install this.

Additional information

What does this prompt do?
  • Pulls every Google Maps review left for your locations in the past week.
  • Sorts reviews into positive, neutral, and negative, and groups the negative ones by theme like food quality, wait times, cleanliness, or staff.
  • Posts a Monday morning Slack digest with overall sentiment, average rating, top complaint themes, and a few real customer quotes.
  • Opens a Linear ticket in your operations backlog for any new complaint theme that comes up more than twice this week, with the supporting quotes attached.
What do I need to use this?
  • An Apify account with access to a Google Maps reviews scraper.
  • The Google Maps listing links or place IDs for the locations you want to monitor.
  • A Slack workspace and the channel where the weekly digest should land.
  • A Linear workspace and the operations team where new tickets should be filed.
How can I customize it?
  • Change the cron timing (default Monday at 8am) to match your weekly ops review.
  • Edit the theme list (food quality, wait times, cleanliness, staff, value) to match what matters for your business.
  • Raise or lower the 'more than twice this week' threshold that triggers a Linear ticket.
  • Swap the Slack channel or Linear team if a different group owns the response.

Frequently asked questions

Will this work if I only have one location?
Yes. It works for any number of Google Maps listings. One location is fine, and you can add more later by pasting in extra listing links.
How do I add more locations to track?
Open the workflow and add the extra Google Maps listing links or place IDs to the locations list. The digest will roll them all up together and the tickets will note which location each complaint came from.
Can I send the digest somewhere other than Slack?
Yes. You can swap Slack for email or another channel. The agent just needs to know where to send the weekly summary.
Will it open duplicate Linear tickets for the same theme every week?
No. The agent remembers which themes already have an open ticket and rolls new quotes into the existing one instead of filing a fresh duplicate.
Does it process reviews from before this week?
No. Each Monday it only reads reviews left since the last run, so older feedback is never reprocessed and your inbox stays clean.
What if the scraper fails or finds no new reviews?
You still get a short Slack note that the run completed with zero new reviews or that the scraper hit an error, so you always know the workflow is alive.

Stop firefighting bad reviews on Monday morning.

Connect Google Maps reviews, Slack, and Linear once, and Geni runs every Monday with a sentiment digest plus tickets for what to actually fix.