{
  "name": "Trustpilot insights scraper: Auto reviews via Bright Data + Google Sheets sync",
  "nodes": [
    {
      "id": "692eb2f7-b579-4df6-b3a0-d98d9ab8981b",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1120,
        -100
      ]
    },
    {
      "id": "f70d4133-f80a-4836-a312-7f5bb0396ad1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -200
      ],
      "parameters": {
        "width": null,
        "height": 340,
        "content": "1. 📝 **Form Trigger Node**\n   - Accepts manual input from the user.\n   - Field: `Trustpilot Website URL`"
      }
    },
    {
      "id": "d202eb3f-2807-4678-94d9-3ec456b8f9ef",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        300,
        -220
      ],
      "parameters": {
        "width": 260,
        "height": 360,
        "content": "3. ⌛ **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."
      }
    },
    {
      "id": "6baef22b-c091-4da0-ad6f-86f6522c2799",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        -240
      ],
      "parameters": {
        "width": 320,
        "height": 380,
        "content": "2. 🌐 **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"
      }
    },
    {
      "id": "8023a4fa-f019-4fc9-b266-1b549aaf4fc7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        -240
      ],
      "parameters": {
        "width": 320,
        "height": 360,
        "content": "5. ✅ **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."
      }
    },
    {
      "id": "6368fcdb-265f-43da-b35e-a2d222abafe4",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1000,
        100
      ],
      "parameters": {
        "width": 340,
        "height": 220,
        "content": "4. 🕒 **Wait Node**\n   - If the snapshot is not ready, pauses for 1 minute before re-checking."
      }
    },
    {
      "id": "be4cb244-46b8-418e-b37c-59944429ccb1",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -220
      ],
      "parameters": {
        "width": 420,
        "height": 300,
        "content": "5. ✅ **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."
      }
    },
    {
      "id": "328afff1-c3a8-4f15-8a97-21f6da451661",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        -220
      ],
      "parameters": {
        "width": 320,
        "height": 280,
        "content": "6. 📥 **Download Final Snapshot**\n   - Once ready, pulls the complete review data using the snapshot ID."
      }
    },
    {
      "id": "f827fd07-db39-41c6-930b-d97a8871f7e5",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1740,
        -320
      ],
      "parameters": {
        "width": 440,
        "height": 420,
        "content": "7. 📊 **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`,"
      }
    },
    {
      "id": "d3ec88b4-d50e-4a79-a4d2-64d3d3ba2149",
      "name": "Form Trigger",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -260,
        -80
      ]
    },
    {
      "id": "168ee4eb-7b55-4f85-9a29-639d46037548",
      "name": "POST to Bright Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        20,
        -80
      ]
    },
    {
      "id": "01ec7dc1-1eb8-40bc-ba3b-17c3d4835a91",
      "name": "GET - snapshot status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        380,
        -80
      ]
    },
    {
      "id": "ec1923d4-4db3-4c29-8857-0c833fc3f28d",
      "name": "Wait_1_mins",
      "type": "n8n-nodes-base.wait",
      "position": [
        1120,
        180
      ]
    },
    {
      "id": "a0fd1234-8e57-478d-91de-e20d0dab35f4",
      "name": "IF snapshot_id not ready than wait",
      "type": "n8n-nodes-base.if",
      "position": [
        660,
        -80
      ]
    },
    {
      "id": "6319106e-d597-46ce-8904-5c91495973b4",
      "name": "GET - snapshot download",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1520,
        -120
      ]
    },
    {
      "id": "82343dcd-53bb-47a1-989a-c25854fad4cf",
      "name": "Google Sheets (Append)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1820,
        -120
      ]
    }
  ],
  "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
          }
        ]
      ]
    }
  }
}