Trustpilot to Google Sheets, review insights ready
You open Trustpilot to “quickly check reviews” and, an hour later, you’re still scrolling. Copying quotes into a doc. Guessing what the real pattern is. Missing the one complaint that keeps showing up.
This is where Trustpilot review automation pays off. Marketing managers need proof for positioning, product leads need a clean list of pain points, and support teams want early warning signals without living in review pages.
This workflow pulls reviews from a Trustpilot company page, uses OpenAI to label sentiment and themes, then drops structured rows into Google Sheets. You’ll see how it works, what you need, and what results to expect.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Trustpilot to Google Sheets, review insights ready
flowchart LR
subgraph sg0["Manual Start Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Trustpilot company URL", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Start", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Agent : Fetch and analyze re..", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Chat Model", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Bright Data MCP Scrapper", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Splits Reviews into separate.."]
n6@{ icon: "mdi:database", form: "rounded", label: "Save Reviews to Google Sheets", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Auto-fixing Output Parser", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n3 -.-> n2
n1 --> n0
n8 -.-> n7
n4 -.-> n2
n9 -.-> n7
n7 -.-> n2
n0 --> n2
n2 --> n5
n5 --> n6
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 trigger
class n2,n7,n9 ai
class n3,n8 aiModel
class n6 database
class n5 code
classDef customIcon fill:none,stroke:none
class n5 customIcon
The Problem: Reviews Are Valuable, but Reading Them Doesn’t Scale
Trustpilot reviews are raw customer voice, which is exactly why they’re useful and exhausting. You’re not just reading one-offs. You’re trying to notice trends across dozens (or hundreds) of comments, each written differently, often with missing context. Then comes the messy part: copying snippets into a spreadsheet, tagging sentiment by gut feel, and trying to summarize it for a meeting without accidentally cherry-picking. After a while, you stop checking as often. That’s when problems linger longer than they should.
The friction compounds. Here’s where it breaks down in day-to-day work.
- Manual review scanning turns into a weekly “someday” task, so you spot patterns late.
- Two people tag the same review differently, which makes trend reports feel shaky.
- Copy-paste loses details like dates, star ratings, and the exact phrasing you need for quotes.
- It’s hard to share insights across teams when feedback lives in screenshots and scattered notes.
The Solution: Scrape Trustpilot, Extract Insights, Store Everything in Sheets
This workflow starts with one simple input: the Trustpilot company page URL you want to monitor. When you run it in n8n, it uses Bright Data to scrape the review content without getting blocked, then hands each review to an AI agent powered by OpenAI. The AI reads the text like a human would, but it does the boring parts consistently. It labels sentiment, pulls out the core complaint or praise, and identifies themes you can aggregate later. Finally, it appends the structured results into Google Sheets as clean rows you can sort, filter, and share.
It begins with a manual trigger (great for testing or running on demand). Next, the scraper collects the latest reviews from the URL you set, and the AI turns unstructured text into consistent fields. Google Sheets becomes the living dataset your team can rely on, instead of yet another “summary doc” that goes stale.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you track 1 Trustpilot page weekly and you want the latest 50 reviews in a spreadsheet. Manually, you might spend about 2 minutes per review to open, skim, paste a quote, and tag sentiment, which is roughly 2 hours (and that’s if you don’t get interrupted). With this workflow, you paste the URL once and run it: about 2 minutes to kick off, then roughly 10 minutes of scraping and AI processing, and your Google Sheet is updated. The work shifts from collecting to acting.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Bright Data for scraping Trustpilot without blocks
- OpenAI to analyze sentiment and themes
- OpenAI API key (get it from the OpenAI API dashboard)
Skill level: Intermediate. You’ll connect accounts, add credentials, and adjust a URL and a few fields in n8n.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
You run the workflow and provide a Trustpilot company URL. In n8n, the manual trigger starts things off, then a “set fields” step locks in the exact page you want to scrape.
Bright Data collects the review content reliably. Instead of scraping directly from your own IP (which can get throttled), the workflow uses Bright Data through an MCP tool connection, which helps it pull pages more consistently.
OpenAI turns messy text into consistent fields. An AI agent reads each review, then structured output parsers clean the response so you get predictable columns like sentiment, key complaints, and themes.
Google Sheets becomes your reporting layer. A code step splits the results into separate review records, then the Sheets node appends rows so your dataset keeps growing as you rerun it.
You can easily modify the target company URLs to track multiple brands, or adjust the analysis fields to match your reporting style. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
This workflow starts on demand and then hands off the URL to the scraping agent.
- Add and open Manual Launch Trigger as the starting node.
- Connect Manual Launch Trigger to Define Company Page URL.
Step 2: Connect Google Sheets
Prepare the output destination for the scraped review records.
- Open Append Reviews to Sheets and select the spreadsheet.
- Set Document to
[YOUR_ID]and Sheet togid=0(Sheet1). - Map columns to JSON fields: date →
{{ $json.date }}, rating →{{ $json.rating }}, reviewer →{{ $json.reviewer }}, mainIssue →{{ $json.mainIssue }}, reviewText →{{ $json.reviewText }}, sentiment →{{ $json.sentiment }}. - Credential Required: Connect your googleSheetsOAuth2Api credentials.
Step 3: Set Up the URL Input
Define the Trustpilot company page to scrape.
- Open Define Company Page URL and add a string field named URL.
- Set the value to
https://www.trustpilot.com/review/hubspot.com(replace with your target page). - Ensure Define Company Page URL connects to AI Review Scraper.
Tip: Use the full Trustpilot company review URL to avoid scraping the wrong page.
Step 4: Configure the AI Scraping Agent and Tools
The AI agent uses Bright Data for scraping and OpenAI for interpretation, with structured output enforcement.
- Open AI Review Scraper and keep the prompt text as defined, including the URL reference
{{ $json.URL }}. - Confirm Bright Data MCP Tool is connected to AI Review Scraper as an AI tool and set Tool Name to
scrape_as_markdownwith Tool Parameters{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}. - Credential Required: Connect your mcpClientApi credentials in Bright Data MCP Tool.
- Open Conversational Model and set the model to
gpt-4.1-mini. - Credential Required: Connect your openAiApi credentials in Conversational Model.
- Keep Auto-Correct Output Parser and Structured JSON Parser connected to AI Review Scraper for output validation. The schema is defined in Structured JSON Parser.
- Open Secondary Chat Model and set the model to
gpt-4.1-mini. - Credential Required: Connect your openAiApi credentials in Secondary Chat Model.
⚠️ Common Pitfall: Auto-Correct Output Parser and Structured JSON Parser are AI sub-nodes. Add credentials on their parent nodes (Secondary Chat Model and Conversational Model), not on the parser nodes.
Step 5: Transform and Append Review Records
Split the JSON array into individual items and append each as a row in Google Sheets.
- Open Separate Review Records and keep the JavaScript that maps the array from
$('AI Review Scraper').first().json.outputinto individual items. - Verify the execution flow: AI Review Scraper → Separate Review Records → Append Reviews to Sheets.
Tip: The field names in Google Sheets include trailing spaces (e.g., date , sentiment , mainIssue ). Keep these as-is or update both the sheet headers and node mappings together.
Step 6: Test and Activate Your Workflow
Run a manual test to confirm scraping, parsing, and sheet updates before enabling the workflow.
- Click Execute Workflow to run Manual Launch Trigger.
- Check that AI Review Scraper outputs a JSON array of 5 reviews with
reviewer,date,rating,sentiment,mainIssue, andreviewText. - Verify Append Reviews to Sheets adds 5 new rows to your Google Sheet.
- When successful, toggle the workflow to Active for production use.
Common Gotchas
- Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account in n8n credentials and confirm it still has access to the target spreadsheet.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 30 minutes if your Bright Data, OpenAI, and Google Sheets accounts are ready.
No. You’ll paste a URL, connect credentials, and tweak a couple of fields in n8n.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage and Bright Data scraping costs, which depend on how many pages you pull.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but you’ll want to be intentional about how you structure the sheet. Most people duplicate the “Define Company Page URL” step for each brand, or feed it a list of URLs and loop through them. You can also adjust what the AI extracts by editing the instructions in the AI Review Scraper step (for example: “return a theme label from our approved list”). If you need stricter formatting, keep the Auto-Correct Output Parser and Structured JSON Parser in place so your columns stay consistent.
Usually it’s credentials or workspace permissions in Bright Data, so start by re-checking the MCP Client tool credentials in n8n. If the credentials are fine, the target Trustpilot page may be returning a different layout than expected, which can confuse scraping. Rate limits can also show up if you run it repeatedly in a short window. One more thing: make sure the URL in the “Define Company Page URL” step is the actual company reviews page, not a redirect.
It depends more on your Bright Data plan and n8n execution limits than the workflow itself.
Often, yes, if you care about structured AI output and repeatability. Zapier and Make are fine for simple “new row in Sheets” style zaps, but scraping plus AI parsing usually needs more control, retries, and data cleanup. n8n also gives you the option to self-host, which matters when you run this on a schedule and volume grows. Frankly, the biggest difference is maintainability: when something changes on the page, you can adjust logic without rebuilding the whole thing. Talk to an automation expert if you want a quick recommendation for your setup.
Once you have a clean review dataset, the conversations change. Less “I think customers are mad about shipping,” more “Here are the top complaints from the last 50 reviews, with examples.”
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.