{
  "name": "Extract & analyze Amazon reviews with Apify, Gemini AI & save to Google Sheets",
  "nodes": [
    {
      "id": "cd88d9b9-685f-4e1a-a94b-ce1c9230755f",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        800,
        368
      ]
    },
    {
      "id": "51705ad0-36b1-4d9a-aa34-ab6a4cf8a10a",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        1040,
        368
      ]
    },
    {
      "id": "47fa2941-81c8-424a-991c-a1d6a221d7ed",
      "name": "Loop Over Reviews",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1616,
        368
      ]
    },
    {
      "id": "f9ac105c-7d00-428a-b92e-7f03ea949882",
      "name": "Slack - Send Completion Notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        3024,
        352
      ]
    },
    {
      "id": "35f765fe-6164-440e-8ff1-2570dca6056d",
      "name": "Code (Parse JSON)1",
      "type": "n8n-nodes-base.code",
      "position": [
        2192,
        464
      ]
    },
    {
      "id": "53bbef29-bf50-4fa0-acc4-ec691a57de0f",
      "name": "Create spreadsheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2608,
        464
      ]
    },
    {
      "id": "2de87bfa-64dd-4313-bfbd-d2d1bab6746d",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1744,
        464
      ]
    },
    {
      "id": "e26f6997-97bb-4f6e-8eb6-d7019e998d9b",
      "name": "Run an Actor and get dataset",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        1296,
        368
      ]
    },
    {
      "id": "1052ec0a-4df5-4668-89d3-22d4afc1c902",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        -240
      ],
      "parameters": {
        "width": 768,
        "height": 560,
        "content": "\n\n# Template Description \n## 📝 Template Title\n**Analyze Amazon product reviews with Gemini and save to Google Sheets**\n\n## 📄 Description\nThis workflow automates the process of analyzing customer feedb"
      }
    },
    {
      "id": "b4fe470b-539c-405d-8cba-90da41c69924",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        208
      ],
      "parameters": {
        "width": 320,
        "height": 528,
        "content": "1. **Data Collection:** The workflow triggers the Apify actor (`junglee/amazon-reviews-scraper`) to fetch reviews from a specified Amazon product URL. It is currently configured to filter for 1 and 2-"
      }
    },
    {
      "id": "f2e6b53a-ff3c-4ac2-af2b-293413b7f80b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1552,
        208
      ],
      "parameters": {
        "width": 448,
        "height": 528,
        "content": "2. **AI Analysis:** It loops through each review and sends the content to Google Gemini. The AI determines a sentiment score (1-5), categorizes the issue (Quality, Design, Shipping, etc.), summarizes "
      }
    },
    {
      "id": "39f031dc-0d86-4acc-9d0a-5bf436fdefff",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        208
      ],
      "parameters": {
        "width": 400,
        "height": 528,
        "content": "3. **Formatting:** A Code node parses the AI's response to ensure it is in a clean JSON format."
      }
    },
    {
      "id": "de9ce0a4-9c17-4b09-8558-278177e1e1a5",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2480,
        208
      ],
      "parameters": {
        "width": 368,
        "height": 528,
        "content": "4. **Storage:** The structured data is appended as a new row in a Google Sheet.\n"
      }
    },
    {
      "id": "32b9be42-7635-4905-b4b7-87d8ca9a6347",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2896,
        208
      ],
      "parameters": {
        "width": 352,
        "height": 528,
        "content": "5. **Notification:** A Slack message is sent to your specified channel to confirm the batch analysis is complete."
      }
    },
    {
      "id": "c0e79928-1d7f-4e39-b5e1-bc3be72dc7e5",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        -240
      ],
      "parameters": {
        "width": 816,
        "height": 352,
        "content": "## 🛠️ Requirements\n- **n8n** (Self-hosted or Cloud)\n- **Apify Account:** You need to rent the `junglee/amazon-reviews-scraper` actor.\n- **Google Cloud Account:** For accessing the Gemini (PaLM) API an"
      }
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Code (Parse JSON)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Reviews": {
      "main": [
        [
          {
            "node": "Slack - Send Completion Notification",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code (Parse JSON)1": {
      "main": [
        [
          {
            "node": "Create spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create spreadsheet": {
      "main": [
        [
          {
            "node": "Loop Over Reviews",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Run an Actor and get dataset",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run an Actor and get dataset": {
      "main": [
        [
          {
            "node": "Loop Over Reviews",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}