Trustpilot to Google Sheets, clearer sentiment summaries
You open Trustpilot, then Sitejabber, then a spreadsheet. Copy, paste, clean formatting, realize you missed a review, repeat. That’s not “research.” It’s busywork that quietly steals your week.
Marketing managers feel it when weekly reporting is due. Founders feel it when a bad review thread pops up and nobody can explain why. And for agency teams, review sentiment automation is the difference between a neat client snapshot and an awkward “we’ll get back to you.”
This workflow pulls public reviews from Trustpilot and Sitejabber, turns them into clean spreadsheet-ready data, and adds a Gemini-written summary so you can spot themes fast. You’ll see how it works, what you need, and how to tailor it.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Trustpilot to Google Sheets, clearer sentiment summaries
flowchart LR
subgraph sg0["Trigger: Business Review Form Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Decodo Review Scraper", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Parse: Structured JSON Output", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "LLM: Summarize & Recommendat..", pos: "b", h: 48 }
n3["<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/merge.svg' width='40' height='40' /></div><br/>Merge: Business Data + Revie.."]
n4["<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/form.svg' width='40' height='40' /></div><br/>Trigger: Business Review Form"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set: Config Variables", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Agent: Business Review Scanner", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Google Sheets: Append Results", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "AI Model: Google Gemini (Age..", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set: Output Fields", pos: "b", h: 48 }
n9 --> n2
n9 --> n3
n0 -.-> n6
n5 --> n6
n1 -.-> n6
n4 --> n5
n6 --> n9
n8 -.-> n6
n2 --> n3
n3 --> n7
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 n4 trigger
class n1,n2,n6 ai
class n8 aiModel
class n7 database
classDef customIcon fill:none,stroke:none
class n3,n4 customIcon
Why This Matters: Review tracking gets messy fast
Reviews are public, but the insights are buried. One day you’re checking a handful of comments for a reputation snapshot. Next week it turns into “can we pull everything for the last month,” then “can we compare competitors too,” and suddenly you’re juggling tabs, exporting CSVs that don’t match, and pasting text into a sheet that breaks every time a reviewer uses emojis or line breaks. The worst part is the mental load. You spend your focus on formatting instead of finding what customers actually keep complaining about.
It adds up quickly. Here’s where it usually breaks down.
- Manual copy/paste makes it easy to miss reviews, especially when you’re switching between multiple sites and brand pages.
- Raw exports aren’t consistent, which means you end up cleaning fields before you can even analyze sentiment.
- Summaries get rewritten every week, and they never sound the same (so trends feel “subjective” in meetings).
- When a source has no data, teams still waste time checking it repeatedly instead of logging “nothing found” and moving on.
What You’ll Build: Reviews to Sheets with a Gemini summary
This workflow gives you a repeatable way to collect reviews and turn them into something you can actually use. It starts with a simple form submission where you enter a business name or URL. From there, an AI-driven agent orchestrates the review extraction using a Decodo scraping tool, pulling up to 10 recent reviews per source (Trustpilot and Sitejabber) and forcing the output into a strict, flat JSON structure. Next, Gemini reads that structured data and generates a concise sentiment summary plus practical recommendations. Finally, the workflow merges the business details with the narrative and appends one clean row into Google Sheets, ready for reporting, comparisons, or dashboards.
The workflow begins when you submit the business through the form. Then it extracts and normalizes reviews from both sources into spreadsheet-friendly fields. Gemini produces a short “what’s going on” summary (and explicitly calls out missing sources), and Google Sheets receives everything in one appended row.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you track 5 brands (yours plus competitors) each week across Trustpilot and Sitejabber. Manually, it’s usually about 10 minutes per site to find the right page, copy reviews, clean formatting, and write a quick summary, which lands around 2 hours total. With this workflow: you submit 5 form entries in maybe 10 minutes, let extraction + Gemini run in the background, and you’re done once the rows appear in Google Sheets. The “work” becomes checking insights, not collecting them.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for storing rows and reporting.
- Decodo to extract Trustpilot and Sitejabber reviews.
- Google Gemini API access (get it from Google AI Studio / your Google Cloud project).
Skill level: Beginner. You will connect accounts, paste a spreadsheet ID, and map columns once.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A form submission kicks it off. You enter a business name or a URL in the n8n Form Trigger. This keeps the workflow usable for non-technical teammates because it feels like filling out a quick request.
Input values are standardized. A configuration step stores the business name plus the destination spreadsheet ID and sheet/tab ID. That small detail matters because it prevents “where did we save this one?” chaos later.
The agent extracts and structures reviews. The Business Review Agent calls the Decodo review extractor and pushes the results through a structured JSON parser. The output is intentionally flat (spreadsheet-friendly) and capped at 10 reviews per source, so you get signal without bloating your sheet.
Gemini writes the narrative and Sheets stores it. The summary node produces a concise sentiment summary and recommendations, including a clear note when a source has no data (“There’s no data in this website.”). Then a Merge combines business details and the summary, and Google Sheets appends a new row.
You can easily modify the review cap, summary style, or target spreadsheet based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the form that collects the business name or URL and starts the workflow.
- Add and open Review Form Trigger.
- Set Form Title to
Business Review Lookup. - Under Form Fields, keep Business Name or URL as a required field.
- Connect Review Form Trigger to Configure Input Values.
Step 2: Connect Google Sheets
Prepare the spreadsheet destination so the workflow can append results.
- Open Configure Input Values and set spreadsheet_id to your Sheet file ID, replacing
(YOUR_SPREADSHEET_ID). - Set sheet_id to your target tab ID, replacing
(YOUR_SHEET_ID). - Open Append Results to Sheets and set Operation to
append. - Set Sheet Name to
{{ $('Configure Input Values').item.json.sheet_id }}. - Set Document ID to
{{ $('Configure Input Values').item.json.spreadsheet_id }}. - Credential Required: Connect your Google Sheets credentials.
(YOUR_SPREADSHEET_ID) or (YOUR_SHEET_ID) unchanged, Append Results to Sheets will fail to write any data.Step 3: Set Up Business Review Agent
Configure the inputs, AI agent, tools, and parsing structure that generate structured business review data.
- In Configure Input Values, set business_name to
{{ $json['Business Name or URL'] }}. - Set =chatInput to
I’d like to know more about the business reputation of {{ $json['Business Name'] }}. Please summarize the company profile and collect recent customer reviews. - Open Business Review Agent and keep Has Output Parser enabled.
- Confirm Structured JSON Parser contains the JSON schema example for fields like
business_name,trustpilot_reviews, andsource_links. - Ensure Decodo Review Extractor is connected as the tool for scraping review sources.
- Open Gemini Chat Model and set Model Name to
models/gemini-2.5-pro. - Credential Required: Connect your Google Gemini credentials in Gemini Chat Model.
Step 4: Configure Output Mapping, Summary, and Merge
Map the agent output, generate a summary with Gemini, and merge both branches before appending to Sheets.
- Open Map Output Fields and map each field using expressions like
{{ $json.output.business_name }},{{ $json.output.company_summary }}, and{{ $json.output.source_links }}. - Note the parallel execution: Map Output Fields outputs to both Summary & Suggestions LLM and Combine Business + Summary in parallel.
- In Summary & Suggestions LLM, keep the message content that references review arrays via
{{ $json.output.trustpilot_reviews.toJsonString() }}and{{ $json.output.sitejabber_reviews.toJsonString() }}. - Credential Required: Connect your Google Gemini credentials in Summary & Suggestions LLM.
- Open Combine Business + Summary and set Mode to
combineand Combine By tocombineByPosition. - Confirm Combine Business + Summary connects to Append Results to Sheets.
Step 5: Test and Activate Your Workflow
Run a live test to confirm the form input, AI processing, and Sheet append work end-to-end.
- Click Test workflow and open Review Form Trigger to generate the form URL.
- Submit a test business name or URL.
- Verify that Map Output Fields produces structured fields and Summary & Suggestions LLM returns a conclusion.
- Check your Google Sheet to confirm a new row was added by Append Results to Sheets.
- When everything looks correct, switch the workflow to Active for production use.
Troubleshooting Tips
- Google Sheets credentials can expire or need specific permissions. If things break, check n8n’s Credential Manager and confirm the connected Google account can edit the target sheet.
- 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.
Quick Answers
About 30 minutes if your credentials are ready.
No. You’ll connect accounts, paste IDs, and map columns once in Google Sheets.
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 Decodo usage plus Gemini API costs (usually pennies per run for short summaries).
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, and it’s the main reason this template is useful. You can change the review limit (it’s capped at 10 per source by default), tweak the Gemini prompt in the “Summary & Suggestions” step to match your voice, and point the “Append Results to Sheets” node at a different spreadsheet/tab. Some teams also duplicate the workflow and run it per brand, so each client or competitor set stays clean. If you keep the structured JSON parser and the agent connections intact, the Sheet mapping stays stable.
Usually it’s permissions or an expired Google credential in n8n. Reconnect Google Sheets in Credential Manager, then confirm the same Google account can edit the exact spreadsheet you’re targeting. Also double-check your spreadsheet ID and sheet ID in the configuration step, because a valid spreadsheet with the wrong tab will still fail. If you recently changed column names, remap fields in the Google Sheets node so it’s not trying to write to columns that no longer exist.
If you’re running it manually from the form, most teams process dozens of businesses per week without thinking about it. On n8n Cloud, your limit depends on your plan’s monthly executions, since each submission triggers a run. If you self-host, there’s no execution cap from n8n, but you’re still limited by your server and by external tools like Decodo and Gemini. Practically, expect a short queue if you submit many businesses at once, because scraping and AI calls take time.
Often, yes, because this workflow leans on an agent + structured JSON parsing, and n8n handles that kind of branching and validation without awkward workarounds. You also get a self-hosting option, which can matter if you run lots of executions or want tighter control. Zapier or Make can be fine for simpler “new row → send message” automations, but scraping + schema enforcement tends to get expensive and brittle there. If you want, Talk to an automation expert and we’ll point you to the simplest stack for your situation.
Once this is running, review collection becomes a background task, not a weekly fire drill. You get clean rows, consistent summaries, and more time to act on what customers are actually saying.
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.