Daily competitor review monitor for G2, Trustpilot, and Capterra

By General Input

Every day at 8am, surface new G2, Trustpilot, and Capterra reviews of your competitors and post a Slack digest with the harshest takes and what they imply.

Integrations

  • ScrapingBee
  • Google Sheets
  • Slack

Type

Agentic Task

Categories

  • Marketing
  • Product

Every day at 8am, monitor my competitors' public review pages on G2, Trustpilot, and Capterra and post a Slack digest of any new reviews.

Trigger: a cron schedule that fires once per day at 8am in my local timezone.

Inputs from Google Sheets. Use Get Values on a tab called 'competitors' that lists the competitor name in column A and the review page URL in column B (one row per competitor per review site, so a single competitor can have up to three rows: G2, Trustpilot, Capterra). Use Get Values again on a tab called 'seen' that holds a running log with columns for review ID, competitor, source site, posted date, title, rating, reviewer role, body, and the agent's take.

For each competitor review URL, call ScrapingBee's Extract Data with AI to pull the most recent reviews on the page. For each review extract: a stable review ID (the URL fragment, anchor, or a hash of source + competitor + posted date + reviewer + title if no native ID is exposed), review title, star rating, body text, reviewer role or job title, and posted date. Render JavaScript and use premium proxy when needed so G2 and Capterra don't block the request.

Dedupe the scraped reviews against the IDs already in the 'seen' tab. Only the reviews whose IDs are not already logged should move forward.

For each genuinely new review, write a one to two sentence agent take that classifies the sentiment (positive, mixed, or negative) and names the single biggest praise or complaint theme (for example: onboarding friction, pricing surprise, integrations gap, support quality, performance, missing feature). Keep the take grounded in the review body, do not invent details.

Append the new reviews to the 'seen' tab with Append Values so they are not reported again tomorrow. One row per new review with all the fields above plus the agent's take.

If there is at least one new review, send a Slack message to the configured channel using Slack's Send a Message. The digest should:

  • Lead with a one-line summary of how many new reviews landed and across which competitors.

  • Highlight the most critical reviews first (lowest ratings or harshest sentiment), with competitor name, source site, star rating, a short quote, and a link to the review.

  • List notable positive reviews after the critical ones, kept brief.

  • End with a one-paragraph 'what this implies' read per competitor that ties the new reviews together into a working theory about that rival's current weaknesses.

If no genuinely new reviews are found across any competitor that day, skip the Slack post entirely. Do not send an 'all quiet today' message.

Make competitor list, source URLs, the Google Sheet ID, the Slack channel, and the run time easy to change without editing the agent instructions.

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