{
  "name": "Aggregate tech trend signals from RSS feeds into Google Sheets and Slack",
  "nodes": [
    {
      "id": "e0aa7c36-3e3b-4433-8fe9-2df2a24bbfda",
      "name": "Daily Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        736,
        432
      ]
    },
    {
      "id": "44403338-5ecd-4d8f-a423-4794ed804449",
      "name": "Fetch Hacker News RSS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        336
      ]
    },
    {
      "id": "856fee05-7dd2-4bbe-8580-b8e10986238e",
      "name": "Fetch Product Hunt RSS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        528
      ]
    },
    {
      "id": "5e540b05-7780-41e7-aa16-88bf0a7cbedd",
      "name": "Wait for All Feeds",
      "type": "n8n-nodes-base.merge",
      "position": [
        1184,
        432
      ]
    },
    {
      "id": "80c7a7f6-84fe-4d81-be24-498bc4a0e87a",
      "name": "Parse All RSS Feeds",
      "type": "n8n-nodes-base.code",
      "position": [
        1408,
        432
      ]
    },
    {
      "id": "e44a28b9-0a58-4298-9213-ebe8f72c3871",
      "name": "Score and Classify Signals",
      "type": "n8n-nodes-base.code",
      "position": [
        1632,
        432
      ]
    },
    {
      "id": "5c8edc2d-9950-40b3-b722-5d372f13cd04",
      "name": "Aggregate Signals into Themes",
      "type": "n8n-nodes-base.code",
      "position": [
        1856,
        432
      ]
    },
    {
      "id": "7a566c27-041c-4164-9d7b-be035c22a036",
      "name": "Build Intelligence Report",
      "type": "n8n-nodes-base.code",
      "position": [
        2080,
        432
      ]
    },
    {
      "id": "9ca1e3b4-a677-44f0-9f04-7fcf6d480dad",
      "name": "Flatten Top Signals for Sheet",
      "type": "n8n-nodes-base.code",
      "position": [
        2304,
        336
      ]
    },
    {
      "id": "ea3b55cb-bf55-4fea-a5db-4b5cc8f4b2d8",
      "name": "Log Signals to Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2528,
        336
      ]
    },
    {
      "id": "a13b13c1-42c3-4f3e-97a5-c61611d51f4e",
      "name": "Post Report to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        2304,
        528
      ]
    },
    {
      "id": "487352c5-339f-4210-8bb6-8aee9fef77e8",
      "name": "Prepare Themes for Sheet",
      "type": "n8n-nodes-base.code",
      "position": [
        2304,
        144
      ]
    },
    {
      "id": "0c0c570b-35c1-4025-b039-02fbc3bc68e5",
      "name": "Log Themes to Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2528,
        144
      ]
    },
    {
      "id": "677fd5a7-a775-4c41-8250-70795d778306",
      "name": "Email Daily Report",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2304,
        720
      ]
    },
    {
      "id": "6783701c-801b-4908-b97c-04ae73afa864",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -288,
        -496
      ],
      "parameters": {
        "width": 680,
        "height": 960,
        "content": "## Aggregate trend signals to Google Sheets and Slack\n\nThis workflow scans multiple RSS feeds daily, scores each item against configurable keyword groups, clusters them into themes, and delivers a pri"
      }
    },
    {
      "id": "9b9a6837-a077-4c0c-ad82-ae2cecec182c",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        128
      ],
      "parameters": {
        "width": 284,
        "height": 164,
        "content": "## 1. Fetch RSS Feeds\nTrigger fires daily. Hacker News and Product Hunt feeds are fetched in parallel. Merge node waits for both to complete before passing data forward."
      }
    },
    {
      "id": "7f4bab62-2c1e-4b09-b5d0-61de8a8b01f3",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        192
      ],
      "parameters": {
        "width": 292,
        "height": 164,
        "content": "## 2. Parse and Score\nRSS XML is parsed into normalized items. Each item is scored against 7 keyword groups with configurable weights. Title matches get a bonus multiplier."
      }
    },
    {
      "id": "24c55502-0595-4c20-84a2-7aa9189786be",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1888,
        144
      ],
      "parameters": {
        "width": 324,
        "height": 196,
        "content": "## 3. Aggregate Themes and Build Report\nSignals are clustered into themes with strength scores (using source diversity and volume bonuses). A full intelligence report is generated in both plain text a"
      }
    },
    {
      "id": "9805b4b7-5bf6-41f3-a5e0-0023ba8b5025",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2352,
        -80
      ],
      "parameters": {
        "width": 308,
        "height": 164,
        "content": "## 4. Deliver and Log\nReport is posted to Slack and emailed. Individual signals and theme summaries are logged to separate Google Sheet tabs for historical analysis."
      }
    },
    {
      "id": "efedef54-8924-49a0-a487-42594a15fd1e",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2480,
        832
      ],
      "parameters": {
        "width": 340,
        "height": 80,
        "content": "⚠️ **Update the email address** in this node to your own recipient before activating."
      }
    },
    {
      "id": "5fe3987d-3e12-4165-8e68-6bbc7155d71c",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        656
      ],
      "parameters": {
        "width": 388,
        "height": 332,
        "content": "## Keyword Group Reference\nEdit these in the \"Score and Classify Signals\" node:\n\n| Group | Weight |\n|---|---|\n| AI & Automation | 2.0 |\n| No-Code / Low-Code | 1.8 |\n| Pricing & Monetization | 1.6 |\n| "
      }
    }
  ],
  "connections": {
    "Wait for All Feeds": {
      "main": [
        [
          {
            "node": "Parse All RSS Feeds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse All RSS Feeds": {
      "main": [
        [
          {
            "node": "Score and Classify Signals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Hacker News RSS": {
      "main": [
        [
          {
            "node": "Wait for All Feeds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Schedule Trigger": {
      "main": [
        [
          {
            "node": "Fetch Hacker News RSS",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Product Hunt RSS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Product Hunt RSS": {
      "main": [
        [
          {
            "node": "Wait for All Feeds",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Prepare Themes for Sheet": {
      "main": [
        [
          {
            "node": "Log Themes to Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Intelligence Report": {
      "main": [
        [
          {
            "node": "Flatten Top Signals for Sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Prepare Themes for Sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Email Daily Report",
            "type": "main",
            "index": 0
          },
          {
            "node": "Post Report to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Score and Classify Signals": {
      "main": [
        [
          {
            "node": "Aggregate Signals into Themes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Signals into Themes": {
      "main": [
        [
          {
            "node": "Build Intelligence Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Flatten Top Signals for Sheet": {
      "main": [
        [
          {
            "node": "Log Signals to Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}