{
  "name": "Automated SEO watchlist: continuous audits with Decodo, Gemini & Google Sheets",
  "nodes": [
    {
      "id": "82daf0e8-8e16-4cbc-8e3b-e7479f34410c",
      "name": "Decodo",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        -240,
        -272
      ]
    },
    {
      "id": "59b88a5c-c118-4b38-9d5b-718715a04f22",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1008,
        -256
      ]
    },
    {
      "id": "123b1816-aebd-445c-8d59-6da6237a7afc",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -688,
        -256
      ]
    },
    {
      "id": "c276ad3c-11af-478a-855e-f24c92ca8d23",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -464,
        -256
      ]
    },
    {
      "id": "54d54e11-3d6d-46b1-a7ac-b2956fb3a5ae",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -96,
        -112
      ]
    },
    {
      "id": "bf125187-f623-4135-86e3-47b1e4f16d56",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        128,
        -112
      ]
    },
    {
      "id": "d953e10d-8803-41ab-8030-9c1930d5b5c4",
      "name": "SEO Analyzer",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        0,
        -272
      ]
    },
    {
      "id": "19ee3c62-4603-434a-8a7a-10dea5c2d6ff",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        160,
        80
      ]
    },
    {
      "id": "25a50839-c9c1-4313-b8e0-0e06763f907c",
      "name": "Notify Team",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -128,
        -672
      ]
    },
    {
      "id": "7a300660-f15b-4b09-9ec1-97b74233a6f1",
      "name": "Store Result",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        784,
        -160
      ]
    },
    {
      "id": "d6f00305-d35e-4cbe-aa42-af4968b44334",
      "name": "Mapping Result",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        -272
      ]
    },
    {
      "id": "13be0f47-4c4e-4436-8b6b-43613215ad1f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        64
      ],
      "parameters": {
        "width": 720,
        "height": 480,
        "content": "## ✅ Loop Over Items\n\nTakes each URL one-by-one and processes them separately. This keeps the workflow stable and organized.\n\n## ✅ Decodo\n\nFetches live data from the website (title, content, tags, spe"
      }
    },
    {
      "id": "a0aa3d15-d6fe-46b5-b0bd-4f0b49fbcd96",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        -912
      ],
      "parameters": {
        "width": 208,
        "height": 400,
        "content": "## Notify Team (Telegram)\n\nSends a Telegram message telling the team the analysis is complete and results are in the sheet."
      }
    },
    {
      "id": "612dfbd1-1d55-4d9c-a233-69373f9b3629",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -400
      ],
      "parameters": {
        "width": 208,
        "height": 400,
        "content": "## Store Result (Google Sheets)\n\nAdds a new row to the results sheet with the report for that URL, so results are saved historically."
      }
    },
    {
      "id": "064068f6-1fcc-41ce-9d12-36cf31d2ce0c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1472,
        -1040
      ],
      "parameters": {
        "width": 944,
        "height": 960,
        "content": "# Automated SEO Watchlist: Continuous Audits Powered by Decodo\n\n## ✅ What this workflow does\nIt automatically audits website pages for SEO issues, stores results in Google Sheets, and notifies the tea"
      }
    },
    {
      "id": "f4989071-9c52-4f63-9397-8277eb29de2a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -256
      ],
      "parameters": {
        "width": 208,
        "height": 400,
        "content": "## Mapping Result (Code)\n\nTurns the JSON report into short, readable summaries (checks, issues, recommendations) and prepares them for Sheets."
      }
    }
  ],
  "connections": {
    "Decodo": {
      "main": [
        [
          {
            "node": "SEO Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SEO Analyzer": {
      "main": [
        [
          {
            "node": "Mapping Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Result": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mapping Result": {
      "main": [
        [
          {
            "node": "Store Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Notify Team",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Decodo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "SEO Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "SEO Analyzer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}