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.
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?
What if a competitor has no new reviews or posts this week?
Do I need to keep last week's brief somewhere for the comparison?
Can it post somewhere other than Slack?
Will this work for service-area businesses without a storefront?
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.