Monitor G2 Reviews with n8n, Slack & Google Sheets Automation

This workflow automates monitoring of G2 reviews for competitors, sending Slack alerts and logging new reviews in Google Sheets effortlessly. Save time and never miss new customer feedback on key products.
code
slack
googleSheets
+7
Workflow Identifier: 2022
NODES in Use: Code, Sticky Note, Schedule Trigger, HTTP Request, HTML Extract, Item Lists, Merge, Slack, Google Sheets, Markdown

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

1. Opening Problem Statement

Meet Sarah, a Product Manager at a SaaS company competing with big players like Zendesk and Intercom. Every morning, Sarah spends hours manually checking G2 review pages to see if any new customer reviews have been posted about her company and its competitors. She then copies the content into spreadsheets and alerts her team via Slack. This process is tedious, error-prone, and often causes delayed responses to critical customer feedback—resulting in missed opportunities and inefficient team collaboration.

Sarah’s company loses valuable time daily that could be spent improving their product based on timely insights from reviews. What if she could automate this entire process? That’s where this n8n workflow steps in.

2. What This Automation Does

When you run this workflow, it automatically fetches the latest reviews for multiple competitors from G2, processes new reviews, and delivers actionable notifications and records. Specifically, it:

  • Monitors specified competitor G2 review pages daily at 8 AM using a schedule trigger.
  • Scrapes review sections from G2 product pages using the ScrapingBee API, bypassing roadblocks like proxies.
  • Extracts and converts review content into readable Markdown format for cleaner notifications and records.
  • Checks against past recorded reviews in Google Sheets to filter only new reviews, avoiding duplicates.
  • Appends new reviews with details like date, rating, user profile, and review URL to a Google Sheet for tracking and analysis.
  • Sends Slack notifications to alert teams instantly about new reviews with useful links and formatted content.

By automating these steps, you save hours of manual review monitoring, reduce human error, and improve responsiveness to customer sentiment.

3. Prerequisites ⚙️

  • n8n account for workflow automation (self-hosting possible via Hostinger link)
  • Slack workspace and channel (e.g., g2_reviews) where alerts will be posted 💬
  • Google Sheets access with an existing spreadsheet ready to log reviews 📊
  • ScrapingBee API account for web scraping with proxy and stealth support 🔑

4. Step-by-Step Guide

Step 1: Setup Competitors List in Code Node

Navigate to the Add your competitors here Code node. Replace the sample competitors with your target product slugs from G2, for example:

return [
  {"competitor":"zendesk"},
  {"competitor":"intercom"},
  {"competitor":"dixa"}
]

This array determines which competitor review pages will be scraped. Confirm by clicking Execute node to see the list output.

Common Mistake: Ensure competitors are exactly the URL slugs used on G2 (all lowercase, no spaces).

Step 2: Configure ScrapingBee API Key

Open the Sticky Note named “Add your API key here” for instructions. Sign up at ScrapingBee and copy your API key.

In the Get G2 data with ScrapingBee HTTP Request node, replace YOUR_API_KEY in the api_key query parameter with your actual API key.

Visual: You should see your API key in the node’s parameters, confirming the connection.

Common Mistake: Leaving the default placeholder will cause the request to fail.

Step 3: Set the Trigger Schedule

In the Execute workflow every day Schedule Trigger node, the workflow is set to run at 8:00 AM daily. Adjust the hour if desired by clicking the node and modifying the triggerAtHour field.

After scheduling, the workflow will automatically start fetching new reviews on the set interval.

Step 4: Retrieve Past Reviews from Google Sheets

Configure the Get all past reviews Google Sheets node. Connect your Google sheets account and specify the spreadsheet URL that stores your past reviews. The node reads previous review URLs for duplicate checking.

Expected outcome: Node should retrieve all existing review data without errors.

Common Mistake: Ensure your Sheets document has a sheet named exactly “Sheet1” or modify the node’s sheetName.

Step 5: Send API Requests to ScrapingBee

The Get G2 data with ScrapingBee HTTP Request node calls the ScrapingBee API, fetching each competitor’s G2 review page HTML with batching enabled (batch size of 3 for the three competitors).

URL example: https://www.g2.com/products/zendesk/reviews?utf8=✓&order=most_recent

This ensures you retrieve the latest reviews ordered by recency for each competitor.

Step 6: Extract Reviews Section HTML

The Get review section HTML HTML Extract node uses the CSS selector div.paper.paper--white.paper--box.mb-2.position-relative.border-bottom to isolate individual review blocks as raw HTML snippets for each competitor’s page.

Step 7: Iterate Through Each Review

The Iterate on reviews Item Lists node splits the review blocks array, processing each review independently downstream.

Step 8: Extract Structured Data per Review

The next Extract structured data HTML Extract node pulls specific details per review:

  • date (from div.d-f.mb-1)
  • reviewHtml (full review content in HTML)
  • user_profile (reviewer profile link)
  • rating (star rating value)
  • reviewUrl (direct URL to the review)

Step 9: Convert Review HTML to Markdown

The Convert Review HTML to Markdown Markdown node transforms the review HTML content into clean Markdown-formatted text for easier reading and Slack preview.

Step 10: Filter Only New Reviews

The Continue only if review is new Merge node performs a “keepNonMatches” join on reviewUrl against the historical reviews from the Google Sheet. This ensures only completely new reviews proceed further.

Step 11: Append New Reviews to Google Sheets

The Add new review to Google Sheets Google Sheets node appends new review data fields:

  • Date
  • Rating
  • Markdown review text
  • Review URL
  • User profile link

This keeps a constantly updated record database for your team to track reviews over time remotely.

Step 12: Send Slack Notification for New Reviews

The last Send new review to Slack Slack node delivers a rich formatted message to the specified channel g2_reviews:

🚨 New review in G2

Rating: {{ rating }}
See user profile: {{ user_profile }}
See review: {{ reviewUrl }}

Review Content:
{{ review }}

Team members can act quickly on new feedback without manual checking.

5. Customizations ✏️

Customize Competitors List: Add or remove competitors in the Add your competitors here Code node as needed.

Change Slack Channel: In the Send new review to Slack node, adjust the channelId to your desired Slack channel where alerts should post.

Adjust Schedule Time: Modify the hour in the Execute workflow every day Schedule Trigger node to run the workflow at a different time.

Expand Extracted Info: Update the CSS selectors in Extract structured data to gather more review details if G2 changes their HTML layout.

6. Troubleshooting 🔧

Problem: “HTTP Request failed with 403 or no review data”

Cause: Invalid or missing ScrapingBee API key, or G2 blocking crawler.

Solution: Check your API key in the HTTP node. Confirm proxy settings enabled and test API connectivity in ScrapingBee dashboard.

Problem: “Google Sheets node not reading data correctly”

Cause: Incorrect spreadsheet URL or sheet name mismatch.

Solution: Verify sheet URL and sheetName input in the Google Sheets node matches your actual sheet and tab name.

7. Pre-Production Checklist ✅

  • Verify your ScrapingBee API key is valid and active.
  • Confirm Google Sheets document has a “Sheet1” tab or adjust node accordingly.
  • Ensure Slack channel g2_reviews exists and your bot has permissions.
  • Test the workflow manually and check for new reviews saved and posted correctly.
  • Backup your Google Sheet data regularly in case of accidental overwrites.

8. Deployment Guide

Activate the workflow by enabling it in n8n. Set to active to trigger automatically daily at the scheduled time. Monitor logs for errors and review Slack and Google Sheets outputs periodically.

If you self-host n8n, ensure your server has stable internet access and API credentials are stored securely under credentials settings.

10. Conclusion

By completing this tutorial, you have built a powerful automation that monitors your competitors’ G2 reviews effortlessly. You save several hours each week by automating data collection, reducing manual errors, and enhancing team responsiveness with timely Slack alerts.

Next, you could extend this automation to:

  • Track your own G2 product reviews for customer service improvement.
  • Analyze review sentiment using AI nodes to prioritize feature requests.
  • Integrate other channels like email notifications or dashboards for comprehensive insights.

With this solid foundation, you are now ready to keep a keen eye on your competitors and adapt faster to user feedback.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free