{
  "name": "🗞️ AI-powered sustainability newsletter for marketing with Gmail, GPT-4o",
  "nodes": [
    {
      "id": "10d2d97d-428e-4224-beae-e4ce4e090e4f",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        3220,
        2500
      ]
    },
    {
      "id": "968fac7c-48be-4fe1-a1d0-3c1fd828b0bc",
      "name": "OpenAI Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3640,
        2480
      ]
    },
    {
      "id": "fde7d8e1-4124-4506-abb7-8e400ad2729b",
      "name": "Agent Classification",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3660,
        2300
      ]
    },
    {
      "id": "670c0877-008f-4943-9a6b-c5e543ae6482",
      "name": "Get Sustainability News",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2380,
        2880
      ]
    },
    {
      "id": "ba6605af-5b5f-44d1-b47d-4246c2b999f3",
      "name": "Send to your mailing list",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2740,
        2880
      ]
    },
    {
      "id": "5d662a41-969a-49d8-a594-f0f962d51350",
      "name": "Generate Email HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        2560,
        2880
      ]
    },
    {
      "id": "378789d8-7b01-40ca-8bd5-96e1d137445d",
      "name": "Parse Article Blocks",
      "type": "n8n-nodes-base.html",
      "position": [
        3000,
        2500
      ]
    },
    {
      "id": "cf7017a4-b996-452b-8aca-6f37964bd288",
      "name": "Extract Articles Blocks",
      "type": "n8n-nodes-base.html",
      "position": [
        2560,
        2500
      ]
    },
    {
      "id": "d6f27e99-d866-4c27-9e99-5c579f505751",
      "name": "Trigger at 08:30 am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        2120,
        2500
      ]
    },
    {
      "id": "1cc2483b-72ca-415d-90fc-a9b3ed0f6de8",
      "name": "Query EU News Website",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2340,
        2500
      ]
    },
    {
      "id": "93bb792d-7979-4b68-a026-df960ea3cd8d",
      "name": "Split Out by Article Block",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2780,
        2500
      ]
    },
    {
      "id": "127662c6-5561-4d35-9ca5-d23b26c223e9",
      "name": "Loop Over Articles",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        3440,
        2500
      ]
    },
    {
      "id": "900bb98e-5b83-4e29-81f8-2f04478f9c2e",
      "name": "Sustainability Flag",
      "type": "n8n-nodes-base.set",
      "position": [
        4040,
        2300
      ]
    },
    {
      "id": "a6114158-8842-4cb5-b43b-0c4cb3134e0e",
      "name": "Merge Article + Flag",
      "type": "n8n-nodes-base.merge",
      "position": [
        4260,
        2360
      ]
    },
    {
      "id": "585e6348-9af4-49e8-b30b-605d04921a88",
      "name": "Record Results",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4480,
        2440
      ]
    },
    {
      "id": "78743430-d367-45b9-8d79-72dfdd436e3b",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        3920,
        2480
      ]
    },
    {
      "id": "a5bc414c-3a8c-45f2-ae73-9dbe591a9bae",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2060,
        1960
      ],
      "parameters": {
        "width": 220,
        "height": 680,
        "content": "### 1. Workflow Trigger with Cron Job\nThe workflow is triggered every morning at 08:30 am (local time)\n\n#### How to setup?\n- Select the time you want to set it up\n"
      }
    },
    {
      "id": "a21f729a-2e9d-4c7d-a31c-e68c54ee613e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2300,
        2680
      ],
      "parameters": {
        "width": 620,
        "height": 380,
        "content": "### 4. Generate HTML page and send by email\nThis block collects all the articles of the day to create a prettified HTML page that is sent using the Gmail node.\n#### How to setup?\n- **Gmail Node:** set"
      }
    },
    {
      "id": "5b79acce-0b33-493d-ba90-a93fa6f32fbb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2300,
        1960
      ],
      "parameters": {
        "width": 840,
        "height": 700,
        "content": "### 2. Scrapping and Parsing of Articles blocks\nThis starts with the HTTP node collecting HTML code that is parsed to extract Article Titles, Link, Image Cover and Reading time.\n\n#### How to setup?\n*N"
      }
    },
    {
      "id": "5705f302-1c6e-4a99-a653-f093186787f5",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3220,
        1960
      ],
      "parameters": {
        "width": 1440,
        "height": 700,
        "content": "### 3. Classifiy all the articles (Sustainability: true or false)\nThis starts with the If node that filters based on the scope date fixed by you. Through the loop, the AI Agent classify the articles u"
      }
    },
    {
      "id": "f7a0f75d-c70e-46cb-a260-6c05d890e63c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2960,
        2680
      ],
      "parameters": {
        "width": 580,
        "height": 380,
        "content": "### [Check the Tutorial](https://www.youtube.com/watch?v=q8VCAUbuat8)\n![Thumbnail](https://www.samirsaci.com/content/images/2025/04/temp-10.png)"
      }
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Loop Over Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Record Results": {
      "main": [
        [
          {
            "node": "Loop Over Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Articles": {
      "main": [
        [],
        [
          {
            "node": "Agent Classification",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge Article + Flag",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "Agent Classification",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Email HTML": {
      "main": [
        [
          {
            "node": "Send to your mailing list",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sustainability Flag": {
      "main": [
        [
          {
            "node": "Merge Article + Flag",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger at 08:30 am": {
      "main": [
        [
          {
            "node": "Query EU News Website",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Sustainability News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agent Classification": {
      "main": [
        [
          {
            "node": "Sustainability Flag",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Article + Flag": {
      "main": [
        [
          {
            "node": "Record Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Article Blocks": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Query EU News Website": {
      "main": [
        [
          {
            "node": "Extract Articles Blocks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Articles Blocks": {
      "main": [
        [
          {
            "node": "Split Out by Article Block",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Sustainability News": {
      "main": [
        [
          {
            "node": "Generate Email HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Agent Classification",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Split Out by Article Block": {
      "main": [
        [
          {
            "node": "Parse Article Blocks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}