{
  "name": "Web research summarizer with Decodo Scraper and Google Gemini AI",
  "nodes": [
    {
      "id": "97a37f53-8d6a-409e-acd5-f2a24545b441",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -880,
        352
      ]
    },
    {
      "id": "a12bdc4e-0c86-4073-ac97-702fbe385288",
      "name": "Decodo",
      "type": "@decodo/n8n-nodes-preview-decodo.decodo",
      "position": [
        -224,
        352
      ]
    },
    {
      "id": "7fe1a395-608e-43b2-a53f-8e7e74d15067",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        0,
        352
      ]
    },
    {
      "id": "8cc45657-66e8-43a1-a5de-cf2718105853",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        224,
        352
      ]
    },
    {
      "id": "89d95a58-f246-4a65-80f0-187a67b5ab3f",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        304,
        576
      ]
    },
    {
      "id": "ad37c2d2-ce1d-4203-9970-d8c267b7564d",
      "name": "Code in JavaScript1",
      "type": "n8n-nodes-base.code",
      "position": [
        576,
        352
      ]
    },
    {
      "id": "59bdf3b7-fb95-43b4-9ef0-e503c3590a25",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -656,
        352
      ]
    },
    {
      "id": "9efa2562-3417-41ec-9d78-c68e781343c0",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        784,
        352
      ]
    },
    {
      "id": "a6e6c98c-42c4-48aa-99c5-361f21cc48cb",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -448,
        352
      ]
    },
    {
      "id": "8a96f291-630a-4e60-b45c-df66395d5455",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1328,
        -160
      ],
      "parameters": {
        "width": 320,
        "height": 880,
        "content": "###  **AI Research Scraper & Summary Generator**\n\n## How it works  \nThis workflow takes a list of links from Google Sheets, visits each page, extracts the main text using [Decodo](https://visit.decodo"
      }
    },
    {
      "id": "3c3e9c54-3c83-421f-8b9b-2ac4848d3ac7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -848,
        48
      ],
      "parameters": {
        "width": null,
        "height": 176,
        "content": "###  **Get Links**  \nReads all the URLs from the `input` sheet and prepares them one by one for processing.  \n**Input:** Google Sheets (`input`)  \n**Output:** A list of URLs to be scraped.\n"
      }
    },
    {
      "id": "5d64789c-0e26-4990-8c07-424503cd46f8",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        32
      ],
      "parameters": {
        "width": null,
        "height": 176,
        "content": "### **Scrape Content**  \nUses [Decodo](https://visit.decodo.com/raqXGD) to extract the main text and metadata from each webpage.  \n**Input:** URL  \n**Output:** Raw HTML and metadata ready for cleaning"
      }
    },
    {
      "id": "768d2f2d-7c8d-4d93-b7ea-98da875c6015",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        32
      ],
      "parameters": {
        "width": null,
        "height": 192,
        "content": "###  **Save Results**  \nSaves the final information (title, summary, ideas, etc.) into the `output` Google Sheet.  \n**Input:** Structured data  \n**Output:** A growing list of summarized articles ready"
      }
    },
    {
      "id": "8dde3144-d797-4df7-9e74-61efd07d38b8",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        32
      ],
      "parameters": {
        "width": null,
        "height": 176,
        "content": "### **Parse & Format Data**  \nChecks and formats the JSON output to make sure all fields are complete and readable.  \n**Input:** AI response  \n**Output:** Organized data ready to be added to Google Sh"
      }
    },
    {
      "id": "7f5d31e5-c175-4aaa-9fe9-a2ce2cd475d6",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        16
      ],
      "parameters": {
        "width": null,
        "height": 256,
        "content": "###  **Clean Text**  \nRemoves unnecessary HTML and keeps only the useful article text (title, source, and date).  \n**Input:** HTML content from Decodo  \n**Output:** Clean, readable text ready for AI a"
      }
    },
    {
      "id": "3290ee6a-14ad-4c1e-8c54-69d7effd6829",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        32
      ],
      "parameters": {
        "width": 256,
        "height": 208,
        "content": "### **Generate Summary (AI)**  \nSends the clean text to the AI model (like Gemini) to create a short summary with key ideas and topics.  \n**Input:** Clean text  \n**Output:** AI-generated summary in JS"
      }
    }
  ],
  "connections": {
    "Decodo": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Code in JavaScript1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Decodo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript1": {
      "main": [
        [
          {
            "node": "Append row 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": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}