🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Trustpilot to Google Sheets, reviews tagged by OpenAI

Lisa Granqvist Partner Workflow Automation Expert

Review data is supposed to help you make decisions. Instead, it often turns into a weekly ritual of copy-pasting Trustpilot links, losing context, and arguing about “how bad” a complaint really is.

This Trustpilot Sheets automation hits marketing leads and customer ops first, because they’re the ones asked to “pull insights” on demand. A founder feels it too, usually at the worst possible time. The outcome is simple: new reviews flow into a Google Sheet with consistent fields and OpenAI sentiment tags, so you can sort, filter, and report in minutes.

You’ll see how the workflow pulls reviews, extracts the details that matter, labels sentiment, and prevents duplicate rows from creeping in.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Trustpilot to Google Sheets, reviews tagged by OpenAI

The Problem: Tracking Trustpilot Reviews Without Losing Your Mind

Trustpilot is great when you’re reading a few reviews. It gets messy when you’re trying to track patterns over time. Somebody has to open pages, click into individual reviews, copy text, capture star ratings, and then paste everything into a spreadsheet that never quite stays consistent. Then you still have the hardest part: deciding what the review “means” and whether it’s an actual product issue, a delivery complaint, or just one-off frustration. Do that for a few pages of reviews and you’re already behind again next week.

It adds up fast. And the friction compounds when you try to share insights across a team.

  • Pulling reviews manually usually costs about 1–2 hours per refresh, and it’s never “done” because new ones keep coming.
  • Spreadsheets fill with inconsistent rows, which means filtering by rating or theme turns into cleanup work.
  • Sentiment is judged differently by different people, so reporting can feel subjective instead of reliable.
  • Duplicates sneak in when multiple people update the sheet, especially if you’re tracking across pages or weeks.

The Solution: Trustpilot Reviews to Google Sheets With OpenAI Sentiment

This workflow turns Trustpilot reviews into structured, searchable data inside Google Sheets. It starts by fetching the Trustpilot review pages for a specific company ID, then grabs individual review links from the HTML. For each review, it loads the full review page, parses the content, and uses an AI extractor to pull consistent fields like author, rating, date, title, review text, reviewer country, and the reviewer’s total review count. Once the review is structured, OpenAI tags it as Positive, Neutral, or Negative. Finally, n8n syncs the record into your Google Sheet by checking what’s already there and updating or appending so you don’t keep re-importing the same review.

It begins when you run the workflow and set your company_id and max_page. Then the workflow scrapes, extracts, and validates each review before sentiment scoring. Your sheet ends up as a clean dataset you can filter by date, rating, country, and sentiment without extra formatting work.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you check 5 Trustpilot pages each Monday and log about 20 new reviews. Manually, you might spend about 5 minutes per review to open it, copy details, paste into Sheets, and sanity-check formatting, which is roughly 2 hours. With this workflow, you set company_id once, pick max_page (like 5), run it, and wait for processing. Your “work” becomes about 10 minutes of reviewing the sheet and filtering by Negative or by rating.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing and sharing review records
  • OpenAI to label sentiment consistently
  • DeepSeek API key (get it from your DeepSeek dashboard)

Skill level: Intermediate. You’ll connect credentials, set company_id/max_page, and map Sheet columns once.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

You trigger a run with your Trustpilot settings. The workflow starts from a manual trigger, then assigns settings like company_id and max_page so the scrape is scoped to what you actually want.

Trustpilot pages are fetched and links are collected. n8n requests the Trustpilot review listing pages, parses the HTML to grab each review URL, and splits them into individual items so each review can be processed cleanly.

Each review is parsed and turned into structured fields. The workflow loads a single review page, parses the HTML again, and uses an AI extractor (via a DeepSeek chat engine) to return consistent fields like rating, author, date, title, text, and country.

Sentiment is scored and the sheet is synced. OpenAI classifies each review as Positive, Neutral, or Negative, then the Google Sheets nodes check existing rows and update the matching review or append a new row.

You can easily modify the sentiment labels to match your reporting style, or change the page limit based on how frequently you want updates. 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 sets the target company and pagination settings before scraping review pages.

  1. Add and open Manual Execution Start to verify it is the trigger for the workflow.
  2. Open Assign Settings and set company_id to COMPANY and max_page to 2.
  3. Confirm the flow from Manual Execution StartAssign SettingsFetch Review Pages matches the execution order.
  4. In Fetch Review Pages, set URL to =https://it.trustpilot.com/review/{{ $json.company_id }} and confirm pagination uses page = {{ $pageCount + 1 }} with maxRequests = {{ $json.max_page }}.
  5. Set the query parameter sort to recency in Fetch Review Pages.

Step 2: Connect Google Sheets

These nodes check existing rows and sync IDs before writing enriched review data.

  1. Open Retrieve Sheet Rows and select the target documentId (e.g., [YOUR_ID]) and sheetName (e.g., Foglio1).
  2. In Retrieve Sheet Rows, set the filter lookupValue to {{ $('Separate Items').item.json.recensioni.replace('/reviews/','') }} and lookupColumn to Id.
  3. Open Sync Review Row and keep operation set to appendOrUpdate with matchingColumns = Id.
  4. Open Update Review Sheet and confirm operation is appendOrUpdate and the mapping uses the expressions provided for Id, URL, Data, Nome, Testo, Titolo, Località, Sentiment, Valutazione, and N. Recensioni.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve Sheet Rows, Sync Review Row, and Update Review Sheet.

Step 3: Set Up Review Collection and Validation

These nodes extract review links, limit processing, and validate whether a review already exists before fetching the full review page.

  1. In HTML Link Grabber, keep operation set to extractHtmlContent and confirm cssSelector is article section a with attribute set to href returning an array to recensioni.
  2. In Separate Items, set fieldToSplitOut to recensioni.
  3. In Restrict Items, set maxItems to 3 to limit how many reviews are processed per run.
  4. In Validation Gate, keep the condition comparing leftValue {{ $json.Valutazione }} to rightValue {{ $('Separate Items').item.json.recensioni.replace('/reviews/','') }} with operation = empty.
  5. Confirm the execution order Fetch Review PagesHTML Link GrabberSeparate ItemsRestrict ItemsSync Review RowRetrieve Sheet RowsValidation GateFetch Single Review.

If you want to process more reviews per run, increase maxItems in Restrict Items and max_page in Assign Settings.

Step 4: Set Up Parsing and Sentiment Analysis

The workflow parses each review’s HTML and uses LLM tools to extract structured data and sentiment.

  1. In Fetch Single Review, set URL to =https://it.trustpilot.com{{ $('Separate Items').item.json.recensioni }}.
  2. In Parse Review HTML, keep operation set to extractHtmlContent and extract article into the key recensione.
  3. In Review Data Parser, set text to =You need to extract the review from the following HTML: {{ $json.recensione }} and keep the attribute definitions for autore, valutazione, data, titolo, testo, n_recensioni, and nazione.
  4. In Sentiment Scoring, set inputText to {{ $json.output.testo }} and keep categories Positive, Neutral, Negative.
  5. Credential Required: Connect your openAiApi credentials in DeepSeek Chat Engine and OpenAI Chat Engine.
  6. Note that DeepSeek Chat Engine is connected as the language model for Review Data Parser and OpenAI Chat Engine is connected as the language model for Sentiment Scoring; add credentials to these parent nodes, not the sub-nodes.

⚠️ Common Pitfall: If Review Data Parser outputs empty fields, verify the Parse Review HTML selector article returns the full review HTML.

Step 5: Configure Output Updates

The final step appends or updates the review row with extracted data and sentiment.

  1. In Update Review Sheet, confirm Id is set to {{ $('Separate Items').item.json.recensioni.replace('/reviews/','') }}.
  2. Set URL to =https://it.trustpilot.com{{ $('Separate Items').item.json.recensioni }}.
  3. Map fields to parser output: Data = {{ $('Review Data Parser').item.json.output.data }}, Nome = {{ $json.output.autore }}, Testo = {{ $('Review Data Parser').item.json.output.testo }}, Titolo = {{ $('Review Data Parser').item.json.output.titolo }}.
  4. Map remaining fields: Località = {{ $('Review Data Parser').item.json.output.nazione }}, Valutazione = {{ $('Review Data Parser').item.json.output.valutazione }}, N. Recensioni = {{ $('Review Data Parser').item.json.output.n_recensioni }}, Sentiment = {{ $json.sentimentAnalysis.category }}.

Step 6: Test and Activate Your Workflow

Run a manual test to confirm review ingestion, parsing, sentiment scoring, and sheet updates.

  1. Click Execute Workflow on Manual Execution Start to run a test.
  2. Verify that Fetch Review Pages and HTML Link Grabber return review URLs, and Separate Items splits them correctly.
  3. Confirm Review Data Parser outputs structured fields and Sentiment Scoring returns a category.
  4. Check your Google Sheet to ensure Update Review Sheet appended or updated rows with the mapped columns.
  5. When successful, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google connection in n8n’s Credentials page and confirm the sheet is shared with the right Google account first.
  • 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

How long does it take to set up this Trustpilot Sheets automation automation?

About 30 minutes if your API keys and Google Sheet are ready.

Do I need coding skills to automate Trustpilot reviews into Google Sheets?

No. You’ll mostly paste credentials and map columns once in n8n.

Is n8n free to use for this Trustpilot Sheets automation workflow?

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 costs (usually just a few dollars a month at small volumes) and your DeepSeek usage.

Where can I host n8n to run this automation?

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.

Can I customize this Trustpilot Sheets automation workflow for different sentiment labels and extra fields?

Yes, and it’s one of the best reasons to use n8n. You can change the sentiment categories inside the Sentiment Scoring node to match your reporting language (for example, adding “Mixed” or splitting “Negative” into “Delivery” vs “Product”). If you want extra columns, adjust what the Review Data Parser extracts, then map those fields into the Update Review Sheet node. You can also raise or lower max_page in the Assign Settings node to control how much history you pull each run.

Why is my Google Sheets connection failing in this workflow?

Most of the time it’s expired OAuth or the sheet is owned by a different Google account than the one you connected in n8n. Reconnect Google Sheets credentials, then open the sheet and confirm you have edit access. Also check that the documentId and sheet/tab name match what the node expects, because a renamed tab can cause silent failures.

How many reviews can this Trustpilot Sheets automation automation handle?

Practically speaking, hundreds per run is fine for most setups, and the real limit is your n8n plan/server plus Trustpilot page volume. If you self-host, executions aren’t capped by n8n, but your VPS resources still matter. On n8n Cloud, your monthly execution allowance determines how often you can run it at scale, so high-frequency monitoring might push you to a higher tier.

Is this Trustpilot Sheets automation automation better than using Zapier or Make?

Often, yes. Zapier and Make are great for clean APIs, but this workflow depends on scraping pages, parsing HTML, running multi-step enrichment, and then deciding whether to update or append rows, which is the kind of logic n8n handles comfortably. The self-host option is also a big deal if you want volume without paying per task. If you only need a simple “new review alert,” a lighter tool may be enough. Talk to an automation expert if you want help choosing.

Once this is running, reviews stop being a messy inbox item and become a dataset you can actually use. Honestly, that’s the difference between guessing what customers think and knowing.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal