{
  "name": "Analyze Amazon review friction and revenue impact with Bright Data, OpenRouter and Google Sheets",
  "nodes": [
    {
      "id": "78e45031-ebab-4b2d-a094-d841ddb58fb7",
      "name": "Run Friction Analysis",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -4432,
        1376
      ]
    },
    {
      "id": "a061d9e9-f6bc-4510-b073-764140c5e1bb",
      "name": "Set Product URL",
      "type": "n8n-nodes-base.set",
      "position": [
        -4208,
        1376
      ]
    },
    {
      "id": "f7c6ee46-231c-4add-b43a-7d7fbd12d1f5",
      "name": "Start Review Scraping (Bright Data)",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        -3600,
        1376
      ]
    },
    {
      "id": "fb1ce830-ceac-48f4-9870-8cb702c02bac",
      "name": "Wait Before Status Check",
      "type": "n8n-nodes-base.wait",
      "position": [
        -3248,
        1360
      ]
    },
    {
      "id": "dfba77a2-e913-4e80-9290-d1489bf42560",
      "name": "Check Scraping Status",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        -3024,
        1360
      ]
    },
    {
      "id": "ef1d50cf-04b8-4ea7-b3e5-4fe5147385bb",
      "name": "Is Snapshot Ready?",
      "type": "n8n-nodes-base.if",
      "position": [
        -2800,
        1360
      ]
    },
    {
      "id": "7a7f7c2d-81f3-4dec-9145-5fc6b72784a1",
      "name": "Download Review Data",
      "type": "@brightdata/n8n-nodes-brightdata.brightData",
      "position": [
        -2240,
        1344
      ]
    },
    {
      "id": "28f4955b-81b1-4a60-bbe4-f9a904531641",
      "name": "Detect Friction Signals",
      "type": "n8n-nodes-base.code",
      "position": [
        -2016,
        1344
      ]
    },
    {
      "id": "ee60903e-c78a-4dda-b32c-a2324adb8bd8",
      "name": "Any Friction Detected?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1808,
        1344
      ]
    },
    {
      "id": "583e15c6-64bc-4412-a5f1-523e358099fc",
      "name": "Prepare Review for AI Analysis",
      "type": "n8n-nodes-base.set",
      "position": [
        -1168,
        1328
      ]
    },
    {
      "id": "c99ba0f1-d9ad-4e3d-8db0-089be31de580",
      "name": "AI Friction Impact Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -944,
        1328
      ]
    },
    {
      "id": "c140c590-19a8-4f6b-ae14-085e6156a03d",
      "name": "Validate AI Friction Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -784,
        1600
      ]
    },
    {
      "id": "e36ed31e-190b-4188-a0f0-e14067cf4d23",
      "name": "Calculate Correlated Friction Score",
      "type": "n8n-nodes-base.code",
      "position": [
        -576,
        1328
      ]
    },
    {
      "id": "80332a79-1d65-4605-8edb-c5d66af75c19",
      "name": "Is High-Risk Revenue Friction?",
      "type": "n8n-nodes-base.if",
      "position": [
        -80,
        1328
      ]
    },
    {
      "id": "1210bb63-14e7-410f-a61d-fd33885e006f",
      "name": "Tag as High Priority",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        1168
      ]
    },
    {
      "id": "7e4bd3ef-1fb3-4589-a046-acb2d7ee56ec",
      "name": "Tag as Moderate / Low Priority",
      "type": "n8n-nodes-base.set",
      "position": [
        -16,
        1616
      ]
    },
    {
      "id": "8a26b86a-9c07-4a3d-8c62-5f5294f4eaac",
      "name": "Log Checkout Optimization Opportunity",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        432,
        1168
      ]
    },
    {
      "id": "136d7a80-420d-411b-a5cc-f9d284916250",
      "name": "Prepare Delivery & Returns Risk Flags",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        1440
      ]
    },
    {
      "id": "880be350-60ef-4fe9-81d4-98b0c3452bb1",
      "name": "Log Delivery & Returns Risk",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        448,
        1440
      ]
    },
    {
      "id": "6e147816-bb0f-411e-8042-d71ace1ce40b",
      "name": "Format Bright Data Error",
      "type": "n8n-nodes-base.set",
      "position": [
        -3536,
        1616
      ]
    },
    {
      "id": "c9c761cd-4fe6-4e0b-a974-f9b0669ddcc5",
      "name": "Log Scraping Error",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -3328,
        1616
      ]
    },
    {
      "id": "86db919b-3a9e-4286-aecb-ea99da273c35",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -5136,
        624
      ],
      "parameters": {
        "width": 512,
        "height": 576,
        "content": "## Customer Friction & Conversion-Loss Intelligence Engine\n\nThis workflow extracts Amazon reviews and identifies hidden revenue friction.\n\nIt:\n\n- Scrapes and monitors review data\n- Detects delivery, r"
      }
    },
    {
      "id": "48c90aeb-d535-4f0b-bf4f-5efe70184acf",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3680,
        1056
      ],
      "parameters": {
        "width": 1072,
        "height": 768,
        "content": "## Review Scraping Flow\n\nInitiates and manages the collection of customer review data from Amazon using Bright Data to enable friction and conversion analysis.\n\n- Starts automated review scraping proc"
      }
    },
    {
      "id": "8cd5f1a9-aab0-4883-bc22-09776bea562a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2304,
        1008
      ],
      "parameters": {
        "width": 752,
        "height": 768,
        "content": "## Friction Signal Detection\n\nAnalyzes downloaded customer reviews to identify potential friction points impacting user experience and conversion.\n\n- Processes structured review data  \n- Detects deliv"
      }
    },
    {
      "id": "58ca37d7-fc3e-45c6-9434-6201b3d145d2",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        992
      ],
      "parameters": {
        "width": 816,
        "height": 816,
        "content": "## AI Friction Impact Analysis\n\nProcesses validated friction signals using AI to estimate their impact on customer experience and conversions.\n\n- Prepares review data for AI analysis  \n- Classifies ty"
      }
    },
    {
      "id": "7757d68f-e273-460e-b5d9-ec11b9bc3011",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        816
      ],
      "parameters": {
        "width": 784,
        "height": 1008,
        "content": "## Friction Prioritization & Opportunity Logging\n\nFilters high-risk friction signals and routes them into structured reporting dashboards.\n\n- Flags high-risk revenue-impacting friction  \n- Tags modera"
      }
    },
    {
      "id": "36a23fbf-d956-47c9-a5fc-d37991621fc3",
      "name": "Friction Impact Analyzer",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -960,
        1600
      ]
    },
    {
      "id": "4cd0fb94-0ead-47aa-abb9-99489833212d",
      "name": "No Friction Detected",
      "type": "n8n-nodes-base.set",
      "position": [
        -1744,
        1584
      ]
    },
    {
      "id": "04baa210-e459-4d50-944b-83ba8a766fac",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -5136,
        1232
      ],
      "parameters": {
        "width": 512,
        "height": 480,
        "content": "## Setup Instructions\n\nBefore running this workflow, configure the following credentials in n8n:\n\n**1. Bright Data API** — Required for web scraping\n- Sign up at brightdata.com\n- Create an API token\n-"
      }
    },
    {
      "id": "9018eebe-cf35-414e-a353-7aee195ed37c",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4512,
        1056
      ],
      "parameters": {
        "width": 464,
        "height": 560,
        "content": "## Input & Configuration\n\nInitial configuration block where the target product URL is defined for friction analysis.\n\n- Sets the Amazon product page URL  \n- Initiates workflow execution manually  \n- P"
      }
    },
    {
      "id": "c96bf200-f6d3-490b-83e6-583389f5b6fb",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -5136,
        1744
      ],
      "parameters": {
        "width": 512,
        "height": 440,
        "content": "## Google Sheets Setup\n\nCreate a Google Spreadsheet with 3 tabs and add these column headers in row 1:\n\n**Tab: Checkout Optimisation List**\nBrand | Friction Type | Revenue Impact | Priority| Impact Sc"
      }
    }
  ],
  "connections": {
    "Set Product URL": {
      "main": [
        [
          {
            "node": "Start Review Scraping (Bright Data)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Snapshot Ready?": {
      "main": [
        [
          {
            "node": "Download Review Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait Before Status Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Review Data": {
      "main": [
        [
          {
            "node": "Detect Friction Signals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tag as High Priority": {
      "main": [
        [
          {
            "node": "Log Checkout Optimization Opportunity",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Scraping Status": {
      "main": [
        [
          {
            "node": "Is Snapshot Ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Friction Analysis": {
      "main": [
        [
          {
            "node": "Set Product URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Any Friction Detected?": {
      "main": [
        [
          {
            "node": "Prepare Review for AI Analysis",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Friction Detected",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Detect Friction Signals": {
      "main": [
        [
          {
            "node": "Any Friction Detected?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Bright Data Error": {
      "main": [
        [
          {
            "node": "Log Scraping Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Friction Impact Analyzer": {
      "ai_languageModel": [
        [
          {
            "node": "AI Friction Impact Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Wait Before Status Check": {
      "main": [
        [
          {
            "node": "Check Scraping Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Friction Impact Analyzer": {
      "main": [
        [
          {
            "node": "Calculate Correlated Friction Score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate AI Friction Output": {
      "ai_outputParser": [
        [
          {
            "node": "AI Friction Impact Analyzer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Is High-Risk Revenue Friction?": {
      "main": [
        [
          {
            "node": "Tag as High Priority",
            "type": "main",
            "index": 0
          },
          {
            "node": "Prepare Delivery & Returns Risk Flags",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Tag as Moderate / Low Priority",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Review for AI Analysis": {
      "main": [
        [
          {
            "node": "AI Friction Impact Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Correlated Friction Score": {
      "main": [
        [
          {
            "node": "Is High-Risk Revenue Friction?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Review Scraping (Bright Data)": {
      "main": [
        [
          {
            "node": "Wait Before Status Check",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Format Bright Data Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Delivery & Returns Risk Flags": {
      "main": [
        [
          {
            "node": "Log Delivery & Returns Risk",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}