Weekly local competitor intelligence brief in Slack

Every Monday morning, get a Slack brief that benchmarks your competitors' ratings, reviews, and posts on Google Maps and shows what shifted last week.

Agentic Task
Local Business DataSlack BotMarketingOperationsResearch & MonitoringDaily DigestsAI Reports
PromptCreate

Build me a weekly local competitor intelligence brief that runs on a cron, every Monday at 8am in my local time zone, and posts a digest to a Slack channel I configure.

Inputs the workflow needs (expose these as configurable variables): the channel ID for the Slack channel to post in; a list of competitor entries (each entry is either a Google Maps business name plus city, or a Google Maps business_id / place_id); a separate entry for my own business in the same shape; and an optional region (ISO country code, default us) and language (ISO 639-1, default en).

Each Monday, for my business and every competitor, the agent should: (1) call Local Business Data's Business Details Plus to pull current rating, review_count, and the AI-derived keywords_mentioned_in_reviews; (2) call Business Reviews to fetch the most recent 5 to 10 reviews sorted newest first, respecting the cursor pagination if it needs to page; (3) call Business Posts to surface any new owner posts since the prior week, again respecting cursor pagination. Resolve any name-based entries to a business_id first by running a Local Business Data Search and picking the top match in the configured region; cache the resolved id in the run so we do not re-resolve every week.

Use the prior week's posted brief in the same Slack channel as the baseline for comparison. For each competitor, compute and write: rating delta versus last week (if available), review_count delta, two or three recurring complaint themes pulled from the keywords and review text, two or three new positive themes, any promotions or announcements from new owner posts, and a one-line read on whether they appear to be gaining or losing ground.

Then post one Slack message via the Slack Bot Send a Message action to the configured channel. Format with Slack mrkdwn (single-asterisk *bold*, underscores for italic). Structure: a header with the week-of date, a one-paragraph 'what changed this week' summary across the set, a bullet block per competitor (name, rating with delta, review_count with delta, top complaints, top praise, any new promotion), a section for my own business in the same shape, and a 'watch closely' callout at the bottom that names the one or two competitors whose movement most deserves attention this week and why.

Operational notes: respect Local Business Data's 5 requests per second per key limit and the cursor pagination contract on reviews and posts; treat a missing prior brief on the first run as 'no baseline yet' and just publish the snapshot. Keep the message under Slack's practical length (split into a threaded reply if it would exceed it) and make sure the channel id is the one and only place the channel is configured.

Additional information

What does this prompt do?
  • Pulls fresh Google Maps data each week for your business and a list of named competitors, including star rating, review count, recent reviews, themes mentioned across reviews, and any new owner posts.
  • Compares this week to last week's brief and calls out movement: rating changes, recurring complaints, new positive themes, fresh promotions, and which competitor is gaining ground.
  • Posts a clean, scannable digest in a Slack channel of your choice every Monday at 8am, with a bullet list per competitor and a 'watch closely' callout.
  • Replaces the manual habit of opening every competitor's listing yourself with one synthesized brief that mixes raw data and what it means.
What do I need to use this?
  • A Local Business Data account (a free tier is available) so the agent can pull live Google Maps data.
  • A Slack workspace where you can install the General Input bot in the channel that should receive the brief.
  • The Google Maps names or listing IDs for your own business plus the competitors you want to track.
How can I customize it?
  • Change the schedule. Daily, every other Monday, or a different time of day all work just as well.
  • Swap the channel, add multiple channels for different teams, or send to a DM instead.
  • Add or remove competitors at any time, or group them into tiers like 'primary' and 'watchlist' so the brief weights them differently.

Frequently asked questions

How many competitors can I track?
There is no hard limit. Most teams track between three and ten competitors so the brief stays scannable in Slack. If you need more, group them into tiers and ask the agent to summarize lower-tier movement in one paragraph.
What if a competitor has no new reviews or posts this week?
The brief notes that explicitly. A quiet week is itself a useful signal, especially when paired with rating drift or themes that keep recurring.
Do I need to keep last week's brief somewhere for the comparison?
No. The agent uses each week's prior brief that it posted to Slack as the baseline, so the comparison improves automatically after the first run.
Can it post somewhere other than Slack?
Yes. You can adapt the same brief to land in email, a Google Doc, or a Notion page. Slack is the default because most teams want it next to their workday.
Will this work for service-area businesses without a storefront?
Yes, as long as the competitor has a Google Maps Business Profile that you can identify by name or listing ID. The agent uses the same data Google Maps shows to the public.

Stop opening every competitor's Google Maps page by hand.

Connect Local Business Data and Slack once, then Geni delivers a synthesized competitor brief to your channel every Monday at 8am.