This workflow corresponds to n8n.io template #10659 — we link there as the canonical source.
This workflow follows the Google Sheets → Informationextractor 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": "iHsB0BGpJVAsox6F",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Analyze & Summarize Amazon Product Reviews with Decodo, OpenAI and Google Sheets",
"tags": [
{
"id": "Kujft2FOjmOVQAmJ",
"name": "Engineering",
"createdAt": "2025-04-09T01:31:00.558Z",
"updatedAt": "2025-04-09T01:31:00.558Z"
},
{
"id": "ZOwtAMLepQaGW76t",
"name": "Building Blocks",
"createdAt": "2025-04-13T15:23:40.462Z",
"updatedAt": "2025-04-13T15:23:40.462Z"
},
{
"id": "ddPkw7Hg5dZhQu2w",
"name": "AI",
"createdAt": "2025-04-13T05:38:08.053Z",
"updatedAt": "2025-04-13T05:38:08.053Z"
}
],
"nodes": [
{
"id": "a29b7fb0-3ed7-44c2-b11b-7a17d69537db",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-720,
-64
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5d2e9f86-bd81-4313-aa7b-0bf6b9f01d32",
"name": "Set the Input Fields",
"type": "n8n-nodes-base.set",
"position": [
-512,
-64
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a9346a9a-cc65-4505-8e47-4c15a3073c61",
"name": "amazon_url",
"type": "string",
"value": "https://www.amazon.com/Amazon-Basics-Bluetooth-Wireless-Headphones/dp/B0BVM1PSYN"
},
{
"id": "6dd23c79-7c19-49c7-85b8-c36ae5d7257d",
"name": "geo",
"type": "string",
"value": "India"
},
{
"id": "8c969d62-7b25-49c6-a1c4-2d6141536e50",
"name": "file_name",
"type": "string",
"value": "Amazon-Basics-Bluetooth-Wireless-Headphones-B0BVM1PSYN.json"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "28371bb1-f1f6-4bd1-b424-708882d083ac",
"name": "Decodo Amazon Scraper",
"type": "@decodo/n8n-nodes-decodo.decodo",
"position": [
-208,
-64
],
"parameters": {
"geo": "={{ $json.geo }}",
"url": "={{ $json.amazon_url }}",
"operation": "amazon"
},
"credentials": {
"decodoApi": {
"name": "<your credential>"
}
},
"retryOnFail": true,
"typeVersion": 1
},
{
"id": "7752d0a8-39bd-4746-ac4f-08d5985f74e8",
"name": "Extract the Reviews",
"type": "n8n-nodes-base.code",
"position": [
128,
-64
],
"parameters": {
"jsCode": "return {\n \"reviews\": $input.first().json.results[0].content.results.reviews,\n \"reviews_ai_summary\": $input.first().json.results[0].content.results.review_ai_summary\n}"
},
"typeVersion": 2
},
{
"id": "396506b9-28af-41e6-86ac-d43ed1b37867",
"name": "Perform Review Analysis",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
336,
-64
],
"parameters": {
"text": "=Analyze and provide me the comprehensive and abstract reviews for the following\n\n {{ $json.reviews.toJsonString() }}",
"options": {},
"schemaType": "manual",
"inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"comprehensive_review\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n \"abstract_review\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t}\n}"
},
"retryOnFail": true,
"typeVersion": 1.2
},
{
"id": "36603325-e772-4fec-8bc4-89cc87a1e27d",
"name": "Create a Binary Response",
"type": "n8n-nodes-base.function",
"position": [
128,
-352
],
"parameters": {
"functionCode": "\n\nitems[0].binary = {\n data: {\n data: new Buffer(JSON.stringify(items[0].json, null, 2)).toString('base64')\n }\n};\nreturn items;"
},
"typeVersion": 1
},
{
"id": "17f5028f-66af-48c8-8274-624e3135fa36",
"name": "Write the Structured JSON to Disk",
"type": "n8n-nodes-base.readWriteFile",
"position": [
304,
-352
],
"parameters": {
"options": {},
"fileName": "=C:\\\\{{ $('Set the Input Fields').item.json.file_name }}",
"operation": "write"
},
"typeVersion": 1
},
{
"id": "9115fd05-7d8a-468a-8ef0-9d14cf6b8a32",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
-464
],
"parameters": {
"color": 7,
"width": 832,
"height": 288,
"content": "## 2. Export Data Handling\n\nPersist the Amazon Scraped Response to Disk"
},
"typeVersion": 1
},
{
"id": "e03e2a33-1049-4cf7-9258-33d43396368a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
-160
],
"parameters": {
"color": 7,
"width": 832,
"height": 400,
"content": "## 3. Amazon Review Analysis\n\nComprehensive and Abstract Review Analysis of the Amazon Scraped Content\n"
},
"typeVersion": 1
},
{
"id": "b2666d86-2fe3-4412-abf8-7a101461b972",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-336,
-176
],
"parameters": {
"color": 7,
"width": 352,
"height": 304,
"content": "## 1. Amazon URL Scraper\n\nWeb Scrape the Amazon URL via the Decode"
},
"typeVersion": 1
},
{
"id": "2ef973af-687a-44f8-98cb-fdea180d489c",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1600,
-768
],
"parameters": {
"width": 768,
"height": 1072,
"content": "## How It Works\n\nThis workflow automates **Amazon product review analysis** using **Decodo**, **OpenAI GPT-4.1-mini**, and **Google Sheets**.\n\n* **Trigger & Input:** Manually start with `amazon_url`, `geo`, and `file_name`.\n* **Scrape Reviews:** Decodo fetches real-time product reviews.\n* **Extract & Clean:** Review text is structured into a clean JSON format.\n* **AI Analysis (GPT-4.1-mini):**\n\n * **Comprehensive Summary:** Detailed insights on pros, cons, and opinions.\n * **Abstract Summary:** Concise sentiment overview.\n* **Store Output:** Saves results as `.json` for reference.\n* **Sync to Google Sheets:** Updates or adds rows for tracking and reporting.\n\n## Setup\n\n* [ ] **Import & Configure Credentials**\n\n1. Import the JSON workflow into n8n.\n2. Add credentials:\n\n * **Decodo API** \u2013 Scrape Amazon product reviews.\n * **OpenAI API** \u2013 Generate summaries.\n * **Google Sheets OAuth2** \u2013 Store results.\n\n* [ ] **Set Input Parameters**\n In the **\u201cSet Input Fields\u201d** node:\n\n- `amazon_url` \u2192 Target product link.\n- `geo` \u2192 Region code (e.g., `US`, `IN`).\n- `file_name` \u2192 Output JSON name.\n\n## Customize\n\n* **Multi-Product Automation**\n Replace the **Manual Trigger** with a **Spreadsheet Trigger** or **Webhook** to process multiple product URLs automatically.\n\n* **Sentiment Scoring**\n Add an OpenAI node to classify each review as *positive*, *neutral*, or *negative*.\n\n* **Database Integration**\n Swap Google Sheets for **MySQL**, **PostgreSQL**, or **Notion** to build scalable data pipelines.\n\n* **Prompt Optimization**\n Refine the **OpenAI node prompt** to highlight tone, key features, or recurring complaints for deeper insights.\n"
},
"typeVersion": 1
},
{
"id": "3a9941dc-3e5b-4651-8c8b-3ef5f640c031",
"name": "Append or update row in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
688,
-64
],
"parameters": {
"columns": {
"value": {
"all_reviews": "={{ $('Extract the Reviews').item.json.reviews.toJsonString() }}",
"product_reviews": "={{ $json.output.toJsonString() }}"
},
"schema": [
{
"id": "product_reviews",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "product_reviews",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "all_reviews",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "all_reviews",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"product_reviews"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16IZ8QSrMVnN_oddv_ltGWm6-nAS5d53boJmbN_czLpc/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "16IZ8QSrMVnN_oddv_ltGWm6-nAS5d53boJmbN_czLpc",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16IZ8QSrMVnN_oddv_ltGWm6-nAS5d53boJmbN_czLpc/edit?usp=drivesdk",
"cachedResultName": "Amazon Product Reviews Decodo"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "c7b744bd-5f42-499a-8fab-c052b195d765",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
80,
-768
],
"parameters": {
"color": 3,
"width": 448,
"height": 288,
"content": "## Disclaimer\n\n\n\nThis workflow is only available on n8n self-hosted as it's making use of the community node for the Decodo Web Scraping"
},
"typeVersion": 1
},
{
"id": "fc1080c8-e4b4-42ef-879b-7e0d075a2f82",
"name": "OpenAI Chat Model for Review Analysis",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
336,
96
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {
"temperature": 0
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "9c0ac605-89eb-4a34-9bfa-1978871a1fc6",
"connections": {
"Extract the Reviews": {
"main": [
[
{
"node": "Perform Review Analysis",
"type": "main",
"index": 0
}
]
]
},
"Set the Input Fields": {
"main": [
[
{
"node": "Decodo Amazon Scraper",
"type": "main",
"index": 0
}
]
]
},
"Decodo Amazon Scraper": {
"main": [
[
{
"node": "Extract the Reviews",
"type": "main",
"index": 0
},
{
"node": "Create a Binary Response",
"type": "main",
"index": 0
}
]
]
},
"Perform Review Analysis": {
"main": [
[
{
"node": "Append or update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Create a Binary Response": {
"main": [
[
{
"node": "Write the Structured JSON to Disk",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Set the Input Fields",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model for Review Analysis": {
"ai_languageModel": [
[
{
"node": "Perform Review Analysis",
"type": "ai_languageModel",
"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.
decodoApigoogleSheetsOAuth2ApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Please note - This workflow is only available on n8n self-hosted as it’s making use of the community node for the Decodo Web Scraping
Source: https://n8n.io/workflows/10659/ — 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.
Community nodes can only be installed on self-hosted instances of n8n.
Please note - This workflow is only available on n8n self-hosted as it's making use of the community node for the Decodo Web Scraping
This workflow is designed for: Recruiters, Talent Intelligence Teams, and HR tech builders automating resume ingestion. Developers and data engineers building ATS (Applicant Tracking Systems) or CRM d
Eliminate 90% of manual work in procurement by automating quote requests, response tracking, price extraction, and supplier follow-ups. This complete automation handles everything from sending persona
Transform your Gmail sent folder into a comprehensive, enriched contact database automatically. This workflow processes hundreds or thousands of sent emails, extracting and enriching contact informati