This workflow corresponds to n8n.io template #5961 — we link there as the canonical source.
This workflow follows the Agent → 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": "FtPQQBuZOQRWsWkH",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "18 Analyze Purchase Trends",
"tags": [],
"nodes": [
{
"id": "1ab29609-739c-4f42-b398-d40e275d2531",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "a4117e05-67bc-42be-ba31-4b75be46ef9f",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
480,
260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "99c92ba4-9af0-4808-8f5a-5729ab7c922b",
"name": "Fetch Amazon URLs from Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
220,
0
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/12ouaPrMp5HEKKctEhVmjmIBVSFu75P4NFFe20XKH9mM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "12ouaPrMp5HEKKctEhVmjmIBVSFu75P4NFFe20XKH9mM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/12ouaPrMp5HEKKctEhVmjmIBVSFu75P4NFFe20XKH9mM/edit?usp=drivesdk",
"cachedResultName": "Product purchase trends"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "a9a77a78-e60c-4329-ba4a-697c806bbf5c",
"name": "Amazon Product Analyzer (AI Agent)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
500,
0
],
"parameters": {
"text": "=extract the unit sold, current price, stock availability, review count & rating, sales rank and based on it's purchasing performance give it rating out of 10.\nBelow is the url of the amazon product:\n{{ $json.url }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "353646b6-e2cb-42fd-aa8d-9d3c1693ef25",
"name": "Tool: MCP Client (Bright Data)",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
660,
260
],
"parameters": {
"toolName": "web_data_amazon_product",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
},
"credentials": {
"mcpClientApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "8ef0d68c-c9f6-4fda-8421-318da2875715",
"name": "Update Sheet with Product Insights",
"type": "n8n-nodes-base.googleSheets",
"position": [
1040,
0
],
"parameters": {
"columns": {
"value": {
"Ranking": "={{ $json.output[0].performance_rating }}",
"Sales rank": "={{ $json.output[0].sales_rank }}",
"Units sold": "={{ $json.output[0].units_sold_last_month }}",
"row_number": "={{ $('Fetch Amazon URLs from Google Sheets').item.json.row_number }}",
"Current price": "={{ $json.output[0].current_price }}",
"Stock availability": "={{ $json.output[0].stock_status }}",
"Review count & rating": "={{ $json.output[0].review_count }} & {{ $json.output[0].rating }}"
},
"schema": [
{
"id": "url",
"type": "string",
"display": true,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Units sold",
"type": "string",
"display": true,
"required": false,
"displayName": "Units sold",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Current price",
"type": "string",
"display": true,
"required": false,
"displayName": "Current price",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Stock availability",
"type": "string",
"display": true,
"required": false,
"displayName": "Stock availability",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Review count & rating",
"type": "string",
"display": true,
"required": false,
"displayName": "Review count & rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Sales rank",
"type": "string",
"display": true,
"required": false,
"displayName": "Sales rank",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Ranking",
"type": "string",
"display": true,
"required": false,
"displayName": "Ranking",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/12ouaPrMp5HEKKctEhVmjmIBVSFu75P4NFFe20XKH9mM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "12ouaPrMp5HEKKctEhVmjmIBVSFu75P4NFFe20XKH9mM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/12ouaPrMp5HEKKctEhVmjmIBVSFu75P4NFFe20XKH9mM/edit?usp=drivesdk",
"cachedResultName": "Product purchase trends"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "f2b27f36-4860-4b98-8dac-1ca89192d7a4",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-620
],
"parameters": {
"color": 5,
"width": 420,
"height": 820,
"content": "### \ud83d\udd39 **SECTION 1: Trigger & Read Product URLs**\n\n**Nodes Combined:**\n\n* `Start Workflow (Manual Trigger)`\n* `Fetch Amazon URLs from Google Sheets`\n\n\ud83d\udccc **What Happens Here:**\nWhen you click **\"Execute workflow\"**, the automation kicks off. It reads a list of Amazon product URLs from a connected **Google Sheet** \u2014 each URL representing a product you want to analyze.\n\n\ud83e\udde0 **Why This Is Useful:**\nYou don't have to input product links manually every time. Just **paste your URLs in the Google Sheet**, and this step will automatically fetch them all. Perfect for monitoring dozens (or hundreds) of products.\n\n\ud83d\udccb **Fields Expected in Google Sheet:**\n\n* `URL` (Amazon product link)\n* *(Other columns will be auto-filled later)*\n\n\ud83d\udd27 **Icons Involved:**\n\n* \u26a1 `Trigger`\n* \ud83d\udcc4 `Google Sheets`\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "20d538a0-6bec-4e2f-9d53-55a10c7f2236",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-1120
],
"parameters": {
"color": 3,
"width": 340,
"height": 1320,
"content": "### \ud83e\udd16 **SECTION 2: AI Agent + Scraper + Parser**\n\n**Node: `Amazon Product Analyzer (AI Agent)` + Sub-nodes:**\n\n* `OpenAI Chat Model`\n* `MCP Client (Bright Data)`\n* `Structured Output Parser`\n\n\ud83d\udccc **What Happens Here:**\n\n1. \ud83d\udd0d The **AI Agent** passes each product URL to:\n\n * \ud83d\udef0\ufe0f The **MCP Client**, which uses **Bright Data's Mobile Carrier Proxy** to scrape data safely from Amazon (bypassing detection).\n * \ud83d\udcca The **data collected** includes:\n\n * Units sold last month\n * Current price\n * Stock availability\n * Review count\n * Average rating\n * Sales rank\n\n2. \ud83d\udcac Then, the **OpenAI Chat Model** intelligently evaluates this data and gives a **performance rating out of 10**, simulating a product analyst's decision-making.\n\n3. \ud83d\udce6 Finally, the **Structured Output Parser** transforms the AI\u2019s natural language response into **clean JSON fields** that n8n can write back to your Google Sheet.\n\n\ud83e\udde0 **Why This Is Useful:**\nThis section automates **competitive product research**, letting you know which products are worth stocking, promoting, or avoiding \u2014 without manually checking every listing.\n\n\ud83d\udee0\ufe0f **Icons Involved:**\n\n* \ud83e\udd16 AI Agent\n* \ud83e\udde0 OpenAI Chat\n* \ud83c\udf10 MCP Scraper (Bright Data)\n* \ud83d\udce4 JSON Parser\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "d6bd1b54-2b77-490f-acf8-001c94affccd",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-720
],
"parameters": {
"color": 6,
"width": 260,
"height": 920,
"content": "### \ud83d\udcc8 **SECTION 3: Update Google Sheet with Final Data**\n\n**Node: `Update Sheet with Product Insights`**\n\n\ud83d\udccc **What Happens Here:**\nOnce scraping and AI evaluation are done, the workflow **updates the original Google Sheet** with all the new fields:\n\n| Column | Description |\n| ----------------------- | -------------------------------------------------- |\n| `Units Sold` | Estimated number of units sold in the last 30 days |\n| `Current Price` | Latest listed price on Amazon |\n| `Stock Availability` | Whether product is in stock, and how many units |\n| `Review Count & Rating` | Total reviews and average rating |\n| `Sales Rank` | Rank in overall and subcategory |\n| `Performance Rating` | AI-generated score out of 10 based on all factors |\n\n"
},
"typeVersion": 1
},
{
"id": "c696695f-78b4-4baf-83b6-7939311bf1b0",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
-720
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
},
{
"id": "67d803eb-9a83-4fcd-8c73-e3f0f5bf6285",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1820,
-620
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "adf14924-8511-4c24-878b-0c766f869ec0",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1820,
-280
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2298,
"content": "## \ud83d\ude80 Amazon Product Performance Analyzer Workflow\n\n**Automate product research + scoring using AI, scraping, and Google Sheets.**\n\n---\n\n### \ud83d\udd39 **SECTION 1: Trigger & Read Product URLs**\n\n**Nodes Combined:**\n\n* `Start Workflow (Manual Trigger)`\n* `Fetch Amazon URLs from Google Sheets`\n\n\ud83d\udccc **What Happens Here:**\nWhen you click **\"Execute workflow\"**, the automation kicks off. It reads a list of Amazon product URLs from a connected **Google Sheet** \u2014 each URL representing a product you want to analyze.\n\n\ud83e\udde0 **Why This Is Useful:**\nYou don't have to input product links manually every time. Just **paste your URLs in the Google Sheet**, and this step will automatically fetch them all. Perfect for monitoring dozens (or hundreds) of products.\n\n\ud83d\udccb **Fields Expected in Google Sheet:**\n\n* `URL` (Amazon product link)\n* *(Other columns will be auto-filled later)*\n\n\ud83d\udd27 **Icons Involved:**\n\n* \u26a1 `Trigger`\n* \ud83d\udcc4 `Google Sheets`\n\n---\n\n### \ud83e\udd16 **SECTION 2: AI Agent + Scraper + Parser**\n\n**Node: `Amazon Product Analyzer (AI Agent)` + Sub-nodes:**\n\n* `OpenAI Chat Model`\n* `MCP Client (Bright Data)`\n* `Structured Output Parser`\n\n\ud83d\udccc **What Happens Here:**\n\n1. \ud83d\udd0d The **AI Agent** passes each product URL to:\n\n * \ud83d\udef0\ufe0f The **MCP Client**, which uses **Bright Data's Mobile Carrier Proxy** to scrape data safely from Amazon (bypassing detection).\n * \ud83d\udcca The **data collected** includes:\n\n * Units sold last month\n * Current price\n * Stock availability\n * Review count\n * Average rating\n * Sales rank\n\n2. \ud83d\udcac Then, the **OpenAI Chat Model** intelligently evaluates this data and gives a **performance rating out of 10**, simulating a product analyst's decision-making.\n\n3. \ud83d\udce6 Finally, the **Structured Output Parser** transforms the AI\u2019s natural language response into **clean JSON fields** that n8n can write back to your Google Sheet.\n\n\ud83e\udde0 **Why This Is Useful:**\nThis section automates **competitive product research**, letting you know which products are worth stocking, promoting, or avoiding \u2014 without manually checking every listing.\n\n\ud83d\udee0\ufe0f **Icons Involved:**\n\n* \ud83e\udd16 AI Agent\n* \ud83e\udde0 OpenAI Chat\n* \ud83c\udf10 MCP Scraper (Bright Data)\n* \ud83d\udce4 JSON Parser\n\n---\n\n### \ud83d\udcc8 **SECTION 3: Update Google Sheet with Final Data**\n\n**Node: `Update Sheet with Product Insights`**\n\n\ud83d\udccc **What Happens Here:**\nOnce scraping and AI evaluation are done, the workflow **updates the original Google Sheet** with all the new fields:\n\n| Column | Description |\n| ----------------------- | -------------------------------------------------- |\n| `Units Sold` | Estimated number of units sold in the last 30 days |\n| `Current Price` | Latest listed price on Amazon |\n| `Stock Availability` | Whether product is in stock, and how many units |\n| `Review Count & Rating` | Total reviews and average rating |\n| `Sales Rank` | Rank in overall and subcategory |\n| `Performance Rating` | AI-generated score out of 10 based on all factors |\n\n\ud83d\udcc8 **Why This Is Useful:**\nNow your spreadsheet becomes a **live product intelligence dashboard**, perfect for:\n\n* \ud83d\udc68\u200d\ud83d\udcbc Product managers deciding what to sell\n* \ud83d\udce6 Suppliers checking demand\n* \ud83d\udcca Marketers picking hot products to promote\n\n\ud83d\udee0\ufe0f **Icon Involved:**\n\n* \ud83d\udcdd Google Sheets (Update Node)\n\n---\n\n## \ud83d\udca1 Final Outcome:\n\nYour workflow is now a **smart Amazon trend analyzer**, delivering:\n\n* \ud83d\udd01 Repeated product evaluation at scale\n* \u23f1\ufe0f Instant product scoring without manual research\n* \ud83d\udcca Clean, structured data ready for decision-making\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "14b5ab60-1fac-4728-8ab3-b52f3ef476cd",
"name": "Auto-fixing Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
800,
260
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "312c6667-4ee1-4a44-85a5-99e612928451",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
760,
480
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "a238a9f8-74ac-4a40-96fb-20c60f9b9dd9",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
940,
480
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"product_name\": \"UGREEN Revodok 105 USB-C Hub\",\n \"units_sold_last_month\": 8000,\n \"current_price\": 9.98,\n \"original_price\": 15.99,\n \"stock_status\": \"In Stock\",\n \"max_quantity_available\": 30,\n \"review_count\": 18381,\n \"rating\": 4.6,\n \"sales_rank\": {\n \"overall_category\": \"#11 in Computers & Accessories\",\n \"subcategory\": \"#2 in Laptop Docking Stations\"\n },\n \"performance_rating\": 9\n },\n {\n \"product_name\": \"Amazon Product (Unnamed)\",\n \"units_sold_last_month\": 7000,\n \"current_price\": 25.78,\n \"stock_status\": \"In Stock\",\n \"review_count\": 847,\n \"rating\": 4.7,\n \"sales_rank\": {\n \"overall_category\": \"#7 in Tablet Chargers & Adapters\"\n },\n \"performance_rating\": 8.5\n },\n {\n \"product_name\": \"UGREEN Power Bank 25,000mAh 145W Laptop Portable Charger\",\n \"seller\": \"UGREEN GROUP LIMITED\",\n \"units_sold_last_month\": 2000,\n \"current_price\": 69.99,\n \"original_price\": 99.99,\n \"discount_percent\": 30,\n \"stock_status\": \"In Stock\",\n \"review_count\": 3657,\n \"rating\": 4.4,\n \"sales_rank\": {\n \"overall_category\": \"#1,198 in Cell Phones & Accessories\",\n \"subcategory\": \"#105 in Cell Phone Portable Power Banks\"\n },\n \"performance_rating\": 8\n }\n]\n"
},
"typeVersion": 1.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "9c19383b-cabd-4530-8c1b-19eec6c6fb4a",
"connections": {
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Amazon Product Analyzer (AI Agent)",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Auto-fixing Output Parser": {
"ai_outputParser": [
[
{
"node": "Amazon Product Analyzer (AI Agent)",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Tool: MCP Client (Bright Data)": {
"ai_tool": [
[
{
"node": "Amazon Product Analyzer (AI Agent)",
"type": "ai_tool",
"index": 0
}
]
]
},
"Amazon Product Analyzer (AI Agent)": {
"main": [
[
{
"node": "Update Sheet with Product Insights",
"type": "main",
"index": 0
}
]
]
},
"Fetch Amazon URLs from Google Sheets": {
"main": [
[
{
"node": "Amazon Product Analyzer (AI Agent)",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Fetch Amazon URLs from Google Sheets",
"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.
googleSheetsOAuth2ApimcpClientApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
Source: https://n8n.io/workflows/5961/ — 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 automatically monitors competitor social media engagement on LinkedIn to track their content performance and posting strategies. It saves you time by eliminating the need to manually che
This workflow automatically identifies and tracks backlink opportunities by analyzing competitor link profiles and finding potential linking websites. It saves you time by eliminating the need to manu
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.