{
  "name": "Turn HR news into policy update tasks and a weekly Gmail digest with RSS, Google Drive, Gemini, and GPT-5.2",
  "nodes": [
    {
      "id": "350bfc57-6b38-45aa-b1be-fa759d671b2c",
      "name": "Weekly trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        2144,
        1712
      ]
    },
    {
      "id": "8f2d95fb-089a-49c0-acde-2508847b3381",
      "name": "Config",
      "type": "n8n-nodes-base.set",
      "position": [
        2368,
        1712
      ]
    },
    {
      "id": "37d0ff95-f82e-4a87-a63b-830ac3db1db0",
      "name": "Read RSS feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        2592,
        1712
      ]
    },
    {
      "id": "a6501ad7-e491-4ee7-a8ea-a1cfffc1ad0f",
      "name": "Keep last 7 days",
      "type": "n8n-nodes-base.filter",
      "position": [
        2816,
        1712
      ]
    },
    {
      "id": "914d6fe1-c7cf-43c5-bb25-70320208da4f",
      "name": "Cap articles",
      "type": "n8n-nodes-base.code",
      "position": [
        2992,
        1712
      ]
    },
    {
      "id": "5b3f2fd0-266f-4e29-80e9-98f90cc4b053",
      "name": "Fetch article page",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2592,
        1952
      ]
    },
    {
      "id": "7bb2a0ba-e4e3-437f-84ca-2846f432604b",
      "name": "Extract article body",
      "type": "n8n-nodes-base.html",
      "position": [
        2800,
        1952
      ]
    },
    {
      "id": "7f4d62a3-d80b-4ab5-916f-24c56671db38",
      "name": "Clean article text",
      "type": "n8n-nodes-base.code",
      "position": [
        2992,
        1952
      ]
    },
    {
      "id": "ae7e185a-cbbe-4e38-8bb2-f7f31f2ac791",
      "name": "Combine article data",
      "type": "n8n-nodes-base.merge",
      "position": [
        3168,
        1728
      ]
    },
    {
      "id": "3f6dbfe7-6bea-43a3-aa96-42ea1e286629",
      "name": "Normalize article fields",
      "type": "n8n-nodes-base.set",
      "position": [
        3376,
        1728
      ]
    },
    {
      "id": "005a4fc4-189e-4b1d-b2fc-1fd0e0fd2d85",
      "name": "Add id and excerpt",
      "type": "n8n-nodes-base.code",
      "position": [
        3600,
        1728
      ]
    },
    {
      "id": "123ca2b2-eb7c-4a56-b08e-bba908f6617b",
      "name": "List policy and template files",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3376,
        1952
      ]
    },
    {
      "id": "7e0f4608-decb-45af-84ed-83d475c837d8",
      "name": "Aggregate file inventory",
      "type": "n8n-nodes-base.code",
      "position": [
        3600,
        1952
      ]
    },
    {
      "id": "04b64ee8-2630-443e-9263-07471d9654c5",
      "name": "Attach file inventory",
      "type": "n8n-nodes-base.merge",
      "position": [
        3856,
        1728
      ]
    },
    {
      "id": "2155e60e-2389-45bf-8d76-280aea1ff700",
      "name": "Structured output schema",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        4224,
        1952
      ]
    },
    {
      "id": "3a808b25-de63-46a3-bfc9-a56b46d30a15",
      "name": "Gemini chat model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        4080,
        1952
      ]
    },
    {
      "id": "9485d9e9-8ccc-481b-9270-636986760f1c",
      "name": "Doc impact analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        4080,
        1728
      ]
    },
    {
      "id": "3beabe24-4bdf-4222-9e01-8d15fe55651f",
      "name": "Build radar report",
      "type": "n8n-nodes-base.code",
      "position": [
        4432,
        1728
      ]
    },
    {
      "id": "ae5ff442-bad0-4617-a990-97caca3205f8",
      "name": "OpenAI chat model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        4656,
        1952
      ]
    },
    {
      "id": "bf6cb6d9-02ce-4a5d-9ad2-205ede9874e0",
      "name": "Email writer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        4656,
        1728
      ]
    },
    {
      "id": "1c44b24f-8185-4e75-aab5-f47c0f8fd8a6",
      "name": "Send radar email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        5008,
        1728
      ]
    },
    {
      "id": "c655408d-51f2-4bbb-bf85-306cbe51d6a3",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        1392
      ],
      "parameters": {
        "width": 720,
        "height": 448,
        "content": "## How it works\nThis workflow runs once per week and turns HR news into a short internal radar email.\n\n* It reads an RSS feed and keeps only articles from the last 7 days\n* It fetches each article pag"
      }
    },
    {
      "id": "0f7b9d68-2e6f-4f94-b3df-6f14b5de4e03",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5168,
        1664
      ],
      "parameters": {
        "width": 416,
        "height": 208,
        "content": "## Good to know\n* This sends article text and file names to LLMs\n* Respect the publisher’s terms and avoid redistributing full article text\n* If cost is too high, lower `maxArticles` or shorten `body_"
      }
    },
    {
      "id": "aaea9036-5296-4fc8-b3cc-aa45fe65ff03",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2144,
        1568
      ],
      "parameters": {
        "width": 976,
        "height": 288,
        "content": "## Collect items\n\n* Runs weekly on the schedule trigger\n* Reads the RSS feed you set in newsUrl\n* Keeps only items from the last 7 days\n* Caps processing with maxArticles to control runtime and cost"
      }
    },
    {
      "id": "b2e8a765-2be3-432e-8941-f5f3a01c2048",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2512,
        1920
      ],
      "parameters": {
        "width": 640,
        "height": 368,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Extract article text\n* Fetches each article URL from the RSS item\n* Extracts the main body with a CSS selector\n* Removes common noise (ads, social blocks, scripts)\n* Truncates the cle"
      }
    },
    {
      "id": "e18783e9-38a0-4326-83ae-be866ad2918b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3312,
        1520
      ],
      "parameters": {
        "width": 1840,
        "height": 624,
        "content": "## Analyze and send\n* Loads file names from your Drive folder (templatesFolderId)\n* Compares each article to your document list and suggests review or updates\n* Aggregates results into a weekly report"
      }
    }
  ],
  "connections": {
    "Config": {
      "main": [
        [
          {
            "node": "Read RSS feed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cap articles": {
      "main": [
        [
          {
            "node": "Fetch article page",
            "type": "main",
            "index": 0
          },
          {
            "node": "Combine article data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email writer": {
      "main": [
        [
          {
            "node": "Send radar email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read RSS feed": {
      "main": [
        [
          {
            "node": "Keep last 7 days",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Weekly trigger": {
      "main": [
        [
          {
            "node": "Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Keep last 7 days": {
      "main": [
        [
          {
            "node": "Cap articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gemini chat model": {
      "ai_languageModel": [
        [
          {
            "node": "Doc impact analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI chat model": {
      "ai_languageModel": [
        [
          {
            "node": "Email writer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Add id and excerpt": {
      "main": [
        [
          {
            "node": "List policy and template files",
            "type": "main",
            "index": 0
          },
          {
            "node": "Attach file inventory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build radar report": {
      "main": [
        [
          {
            "node": "Email writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean article text": {
      "main": [
        [
          {
            "node": "Combine article data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Fetch article page": {
      "main": [
        [
          {
            "node": "Extract article body",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Doc impact analyzer": {
      "main": [
        [
          {
            "node": "Build radar report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine article data": {
      "main": [
        [
          {
            "node": "Normalize article fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract article body": {
      "main": [
        [
          {
            "node": "Clean article text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Attach file inventory": {
      "main": [
        [
          {
            "node": "Doc impact analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate file inventory": {
      "main": [
        [
          {
            "node": "Attach file inventory",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Normalize article fields": {
      "main": [
        [
          {
            "node": "Add id and excerpt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured output schema": {
      "ai_outputParser": [
        [
          {
            "node": "Doc impact analyzer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "List policy and template files": {
      "main": [
        [
          {
            "node": "Aggregate file inventory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}