AutomationFlowsAI & RAG › 整理多新聞來源的熱門議題

整理多新聞來源的熱門議題

整理多新聞來源的熱門議題. Uses rssFeedRead, httpRequest. Scheduled trigger; 8 nodes.

Cron / scheduled trigger★★★★☆ complexity8 nodesRSS Feed ReadHTTP Request
AI & RAG Trigger: Cron / scheduled Nodes: 8 Complexity: ★★★★☆ Added:

This workflow follows the HTTP Request → RSS Feed Read recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "Gen51",
  "name": "\u6574\u7406\u591a\u65b0\u805e\u4f86\u6e90\u7684\u71b1\u9580\u8b70\u984c",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 9 * * 1"
            }
          ]
        }
      },
      "id": "n-sched",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        240,
        460
      ]
    },
    {
      "parameters": {
        "url": "https://news.google.com/rss/search?q=AI&hl=zh-TW&gl=TW&ceid=TW:zh-Hant",
        "options": {}
      },
      "id": "n-rss0",
      "name": "RSS 1",
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.1,
      "position": [
        460,
        280
      ]
    },
    {
      "parameters": {
        "url": "https://tw.news.yahoo.com/rss/",
        "options": {}
      },
      "id": "n-rss1",
      "name": "RSS 2",
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.1,
      "position": [
        460,
        440
      ]
    },
    {
      "parameters": {
        "jsCode": "const seen=new Set();const items=[];\nfor (const it of $input.all()){const j=it.json;const t=(j.title||'').trim();const l=j.link||j.url||'';if(!t||seen.has(t))continue;seen.add(t);items.push({t,l});if(items.length>=15)break;}\nconst list=items.map((n,i)=>(i+1)+'. '+n.t).join('\\n');\nconst prompt='\u4f60\u662f\u65b0\u805e\u7de8\u8f2f\u3002\u6574\u5408\u591a\u4f86\u6e90\uff0c\u7528\u7e41\u9ad4\u4e2d\u6587\u6311\u51fa\u672c\u9031\u6700\u71b1\u9580 5-7 \u500b\u8b70\u984c\u4e26\u8aaa\u660e\uff1a\\n\\n'+list;\nreturn [{json:{count:items.length,prompt}}];"
      },
      "id": "n-prep",
      "name": "Prepare",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        900,
        460
      ]
    },
    {
      "parameters": {
        "mode": "append",
        "numberInputs": 2
      },
      "id": "n-merge",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3,
      "position": [
        680,
        460
      ]
    },
    {
      "parameters": {
        "options": {
          "timeout": 180000
        },
        "method": "POST",
        "url": "http://host.docker.internal:11434/api/chat",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model: 'qwen2.5:latest', messages: [ { role: 'system', content: '\u4f60\u662f\u53f0\u7063\u4eba\uff0c\u4e00\u5f8b\u4f7f\u7528\u53f0\u7063\u7e41\u9ad4\u4e2d\u6587\u8207\u53f0\u7063\u6163\u7528\u8a9e\u56de\u8986\uff0c\u7d55\u5c0d\u4e0d\u8981\u51fa\u73fe\u4efb\u4f55\u7c21\u9ad4\u5b57\u6216\u4e2d\u570b\u7528\u8a9e\u3002' }, { role: 'user', content: $json.prompt } ], stream: false }) }}"
      },
      "id": "n-ollama",
      "name": "Summarize with Ollama",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1120,
        460
      ]
    },
    {
      "parameters": {
        "jsCode": "const data = $input.first().json;\nlet v = '';\ntry { v = (data.message && data.message.content) || (data.content && data.content[0] && data.content[0].text) || data.response || ''; } catch (e) {}\nif (!v) v = JSON.stringify(data);\nreturn [{ json: { summary: v } }];"
      },
      "id": "n-extract",
      "name": "Extract Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1340,
        460
      ]
    },
    {
      "parameters": {
        "options": {},
        "method": "POST",
        "url": "https://discord.com/api/webhooks/REPLACE_WITH_YOUR_WEBHOOK_URL",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ content: ('\ud83d\udcf0 \u6574\u7406\u591a\u65b0\u805e\u4f86\u6e90\u7684\u71b1\u9580\u8b70\u984c\\n\\n' + ($json.summary || '')).slice(0, 1900) }) }}"
      },
      "id": "n-discord",
      "name": "Send to Discord",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1560,
        460
      ]
    }
  ],
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "RSS 1",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS 1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS 2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Prepare",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare": {
      "main": [
        [
          {
            "node": "Summarize with Ollama",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize with Ollama": {
      "main": [
        [
          {
            "node": "Extract Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Result": {
      "main": [
        [
          {
            "node": "Send to Discord",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "tags": []
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

整理多新聞來源的熱門議題. Uses rssFeedRead, httpRequest. Scheduled trigger; 8 nodes.

Source: https://github.com/YuriCrystal/n8n-marketing-flows/blob/main/templates/51-multi-source-trends.local-ollama.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Automatically fetch, rank, and summarize the top financial stories from curated RSS feeds each day, then deliver a concise AI-written digest to Telegram and log the run to Google Sheets. Runs on a dai

Google Sheets, HTTP Request, RSS Feed Read
AI & RAG

Stay on top of what’s happening in your community without drowning in endless RSS feeds.

RSS Feed Read, HTTP Request, Discord
AI & RAG

Automatically collect, analyze, and store industry news articles with intelligent filtering and dual-database storage

RSS Feed Read, HTTP Request
AI & RAG

每週 AI 新聞摘要 (Weekly AI News Digest · 本機 Ollama). Uses rssFeedRead, httpRequest. Scheduled trigger; 8 nodes.

RSS Feed Read, HTTP Request
AI & RAG

把 Google 新聞整理成一篇文章. Uses rssFeedRead, httpRequest. Scheduled trigger; 6 nodes.

RSS Feed Read, HTTP Request