This workflow corresponds to n8n.io template #5145 — we link there as the canonical source.
This workflow follows the Form Trigger → Google Sheets recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "LVt5qJz73ARtrzki",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Trustpilot Insights Scraper: Auto Reviews via Bright Data + Google Sheets Sync",
"tags": [],
"nodes": [
{
"id": "692eb2f7-b579-4df6-b3a0-d98d9ab8981b",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1120,
-100
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f01bd215-c406-493c-a6e4-2b8ec5686b44",
"operator": {
"type": "number",
"operation": "notEquals"
},
"leftValue": "={{ $json.records }}",
"rightValue": "={{ 0 }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f70d4133-f80a-4836-a312-7f5bb0396ad1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-200
],
"parameters": {
"color": 3,
"height": 340,
"content": "1. \ud83d\udcdd **Form Trigger Node**\n - Accepts manual input from the user.\n - Field: `Trustpilot Website URL`"
},
"typeVersion": 1
},
{
"id": "d202eb3f-2807-4678-94d9-3ec456b8f9ef",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
300,
-220
],
"parameters": {
"color": 5,
"width": 260,
"height": 360,
"content": "3. \u231b **Snapshot Progress Check**\n - Receives a `snapshot_id` from Bright Data.\n - Sends a GET request to check if the snapshot (scraped data) is ready."
},
"typeVersion": 1
},
{
"id": "6baef22b-c091-4da0-ad6f-86f6522c2799",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-240
],
"parameters": {
"color": 4,
"width": 320,
"height": 380,
"content": "2. \ud83c\udf10 **HTTP Request (Trigger Scraping on Bright Data)**\n - Sends a POST request to Bright Data's dataset trigger API.\n - Initiates scraping for the given Trustpilot URL using a specific dataset ID."
},
"typeVersion": 1
},
{
"id": "8023a4fa-f019-4fc9-b266-1b549aaf4fc7",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
-240
],
"parameters": {
"color": 6,
"width": 320,
"height": 360,
"content": "5. \u2705 **IF Node (Check Completion)**\n - Checks if the snapshot status is `\"ready\"`.\n - If yes, proceeds to fetch data.\n - If no, loops back to the wait/check cycle."
},
"typeVersion": 1
},
{
"id": "6368fcdb-265f-43da-b35e-a2d222abafe4",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1000,
100
],
"parameters": {
"color": 3,
"width": 340,
"height": 220,
"content": "4. \ud83d\udd52 **Wait Node**\n - If the snapshot is not ready, pauses for 1 minute before re-checking."
},
"typeVersion": 1
},
{
"id": "be4cb244-46b8-418e-b37c-59944429ccb1",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-220
],
"parameters": {
"width": 420,
"height": 300,
"content": "5. \u2705 **IF Node (Check Completion)**\n - Checks if the snapshot status is `\"ready\"`.\n - If yes, proceeds to fetch data.\n - If no, loops back to the wait/check cycle."
},
"typeVersion": 1
},
{
"id": "328afff1-c3a8-4f15-8a97-21f6da451661",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1400,
-220
],
"parameters": {
"color": 2,
"width": 320,
"height": 280,
"content": "6. \ud83d\udce5 **Download Final Snapshot**\n - Once ready, pulls the complete review data using the snapshot ID."
},
"typeVersion": 1
},
{
"id": "f827fd07-db39-41c6-930b-d97a8871f7e5",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
-320
],
"parameters": {
"color": 4,
"width": 440,
"height": 420,
"content": "7. \ud83d\udcca **Google Sheets (Append)**\n - Appends the extracted review data into a connected Google Sheet.\n - Sheet name: `Trustpilot`\n - Fields mapped include: \n - `company_name`, `review_rating`, `review_title`, `review_content`, `review_date`, `reviewer_name`, `company_location`, `company_overall_rating`, etc."
},
"typeVersion": 1
},
{
"id": "d3ec88b4-d50e-4a79-a4d2-64d3d3ba2149",
"name": "Form Trigger",
"type": "n8n-nodes-base.formTrigger",
"position": [
-260,
-80
],
"parameters": {
"options": {},
"formTitle": "Website URL",
"formFields": {
"values": [
{
"fieldLabel": "Trustpilot Website URL"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "168ee4eb-7b55-4f85-9a29-639d46037548",
"name": "POST to Bright Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
20,
-80
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "={\n \"input\": [\n {\n \"url\": \"{{ $json['Trustpilot Website URL'] }}\"\n }\n ],\n \"custom_output_fields\": [\n \"company_name\",\n \"review_id\",\n \"review_date\",\n \"review_rating\",\n \"review_title\",\n \"review_content\",\n \"is_verified_review\",\n \"review_date_of_experience\",\n \"reviewer_location\",\n \"reviews_posted_overall\",\n \"review_replies\",\n \"review_useful_count\",\n \"reviewer_name\",\n \"company_logo\",\n \"url\",\n \"company_rating_name\",\n \"company_overall_rating\",\n \"is_verified_company\",\n \"company_total_reviews\",\n \"5_star\",\n \"4_star\",\n \"3_star\",\n \"2_star\",\n \"1_star\",\n \"company_about\",\n \"company_email\",\n \"company_phone\",\n \"company_location\",\n \"company_country\",\n \"breadcrumbs\",\n \"company_category\",\n \"company_id\",\n \"company_website\",\n \"company_other_categories\",\n \"review_url\",\n \"date_posted\"\n ]\n}\n",
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_lm5zmhwd2sni130p"
},
{
"name": "include_errors",
"value": "true"
},
{
"name": "limit_multiple_results",
"value": "2"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "01ec7dc1-1eb8-40bc-ba3b-17c3d4835a91",
"name": "GET - snapshot status",
"type": "n8n-nodes-base.httpRequest",
"position": [
380,
-80
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "ec1923d4-4db3-4c29-8857-0c833fc3f28d",
"name": "Wait_1_mins",
"type": "n8n-nodes-base.wait",
"position": [
1120,
180
],
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "a0fd1234-8e57-478d-91de-e20d0dab35f4",
"name": "IF snapshot_id not ready than wait",
"type": "n8n-nodes-base.if",
"position": [
660,
-80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b9213a26-9b0d-4742-8b38-5b839da95875",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "ready"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6319106e-d597-46ce-8904-5c91495973b4",
"name": "GET - snapshot download",
"type": "n8n-nodes-base.httpRequest",
"position": [
1520,
-120
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "82343dcd-53bb-47a1-989a-c25854fad4cf",
"name": "Google Sheets (Append)",
"type": "n8n-nodes-base.googleSheets",
"position": [
1820,
-120
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "company_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_rating",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_content",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_content",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_verified_review",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "is_verified_review",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_date_of_experience",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_date_of_experience",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reviewer_location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "reviewer_location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reviews_posted_overall",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "reviews_posted_overall",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_replies",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_replies",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_useful_count",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_useful_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "reviewer_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "reviewer_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_logo",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_logo",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_rating_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_rating_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_overall_rating",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_overall_rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "is_verified_company",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "is_verified_company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_total_reviews",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_total_reviews",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "5_star",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "5_star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "4_star",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "4_star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "3_star",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "3_star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "2_star",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "2_star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "1_star",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "1_star",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_about",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_about",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_phone",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_country",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "breadcrumbs",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "breadcrumbs",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_website",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "review_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "review_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "date_posted",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "date_posted",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 517712189,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1yQ10Q2qSjm-hhafHF2sXu-hohurW5_KD8fIv4IXEA3I/edit#gid=517712189",
"cachedResultName": "Trustpilot "
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1yQ10Q2qSjm-hhafHF2sXu-hohurW5_KD8fIv4IXEA3I",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1yQ10Q2qSjm-hhafHF2sXu-hohurW5_KD8fIv4IXEA3I/edit?usp=drivesdk",
"cachedResultName": "BrightData"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "dd3afc3c-91fc-474e-99e0-1b25e62ab392",
"connections": {
"If": {
"main": [
[
{
"node": "GET - snapshot download",
"type": "main",
"index": 0
}
]
]
},
"Wait_1_mins": {
"main": [
[
{
"node": "GET - snapshot status",
"type": "main",
"index": 0
}
]
]
},
"Form Trigger": {
"main": [
[
{
"node": "POST to Bright Data",
"type": "main",
"index": 0
}
]
]
},
"POST to Bright Data": {
"main": [
[
{
"node": "GET - snapshot status",
"type": "main",
"index": 0
}
]
]
},
"GET - snapshot status": {
"main": [
[
{
"node": "IF snapshot_id not ready than wait",
"type": "main",
"index": 0
}
]
]
},
"GET - snapshot download": {
"main": [
[
{
"node": "Google Sheets (Append)",
"type": "main",
"index": 0
}
]
]
},
"IF snapshot_id not ready than wait": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait_1_mins",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
A comprehensive n8n automation that scrapes Trustpilot business reviews using Bright Data and automatically stores structured data in Google Sheets.
Source: https://n8n.io/workflows/5145/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow acts as a junior finance research analyst for a UK boutique M&A or corporate finance team. It listens for Slack messages, classifies the request, gathers company or market data, and prod
This workflow syncs Toggl Track time entries to Google Sheets and creates monthly tabs automatically.
This template demonstrates how to build a low-code, AI-powered data analysis workflow in n8n. It enables you to connect to various data sources (such as MySQL, Google Sheets, or local files), process
This workflow provides a structured way to extract Meta Ads performance data and store it in Google Sheets for reporting, dashboarding, or further analysis.
AI Money Tracker Chatbot. Uses telegramTrigger, postgres, googleSheets, telegram. Event-driven trigger; 24 nodes.