AutomationFlowsAI & RAG › Generate AI Summaries From Hacker News to Slack with Openrouter

Generate AI Summaries From Hacker News to Slack with Openrouter

ByYusei Miyakoshi @yusei on n8n.io

This template is for teams that want to stay updated on industry trends, tech news, or competitor mentions without manually browsing news sites. It's ideal for marketing, development, and research teams who use Slack as their central hub for automated, timely information.

Cron / scheduled trigger★★★★☆ complexityAI-powered12 nodesSlackAgentOpenRouter ChatHacker News
AI & RAG Trigger: Cron / scheduled Nodes: 12 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #9774 — we link there as the canonical source.

This workflow follows the Agent → OpenRouter Chat 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": "HLup1R1WiyVLVn5s",
  "name": "Summarize news articles for specific keywords and post to Slack",
  "tags": [
    {
      "id": "PDXCRJntY9S84S1b",
      "name": "News",
      "createdAt": "2025-10-16T10:59:57.579Z",
      "updatedAt": "2025-10-16T10:59:57.579Z"
    },
    {
      "id": "OhBk3bnGEbNlHLVm",
      "name": "AI",
      "createdAt": "2025-10-16T10:59:57.640Z",
      "updatedAt": "2025-10-16T10:59:57.640Z"
    },
    {
      "id": "K2HrF2UlgnMFO8mJ",
      "name": "Slack",
      "createdAt": "2025-10-16T10:59:57.618Z",
      "updatedAt": "2025-10-16T10:59:57.618Z"
    },
    {
      "id": "cL27z0iZWgjKzz3B",
      "name": "Automation",
      "createdAt": "2025-10-16T10:59:57.660Z",
      "updatedAt": "2025-10-16T10:59:57.660Z"
    }
  ],
  "nodes": [
    {
      "id": "9fe57470-dc45-4e2c-9777-27d9b7bf0db5",
      "name": "Trigger Daily at 9 AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c97876de-b1f6-4b7c-a4af-506bd01c5936",
      "name": "Send Summary to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1248,
        0
      ],
      "parameters": {
        "text": "={{ $('Format Message for Slack').item.json.slackMessage }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C09L12N8F45",
          "cachedResultName": "test"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "typeVersion": 2
    },
    {
      "id": "31b5c5b7-4f78-4d5a-98fd-ea125f7ee365",
      "name": "Format Message for Slack",
      "type": "n8n-nodes-base.set",
      "position": [
        1024,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e9b2a1c3-4d5e-4f6a-8b7c-9d8e1a2b3c4d",
              "name": "slackMessage",
              "type": "string",
              "value": "={{ `*${$json.title}*\\n\\n*AI Summary:*\\n${$json.output}` }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "e527a3f7-5adf-4a71-a59b-afce5aaf3ba9",
      "name": "Summarize Article with AI",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        672,
        0
      ],
      "parameters": {
        "text": "={{ $('Get many items').item.json.url }}",
        "options": {
          "systemMessage": "You are a highly skilled news summarization AI. Your task is to analyze the provided news article snippet and create a concise, easy-to-understand summary. The summary must be in Japanese, presented as 3 bullet points. Focus on the key information and maintain a neutral, professional tone. Do not add any introductory phrases.",
          "passthroughBinaryImages": true
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "1f106c8c-0e3d-4baf-aba5-d19c0f37926a",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        672,
        224
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "3cd48b0f-cfdc-47bc-8b80-7df2922792a1",
      "name": "Get many items",
      "type": "n8n-nodes-base.hackerNews",
      "position": [
        448,
        0
      ],
      "parameters": {
        "limit": "={{ 3 }}",
        "resource": "all",
        "additionalFields": {
          "keyword": "={{ $json.keywords[0] }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "db0d771c-eaf5-4845-8168-50b02d3fc1bc",
      "name": "Configure Your Settings",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        0
      ],
      "parameters": {
        "options": {
          "dotNotation": true
        },
        "assignments": {
          "assignments": [
            {
              "id": "f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c",
              "name": "keywords",
              "type": "json",
              "value": "={{ ['AI'] }}"
            },
            {
              "id": "a2b3c4d5-e6f7-4a8b-9c0d-1e2f3a4b5c6d",
              "name": "slack_channel",
              "type": "string",
              "value": "news-updates"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "65bf5c33-71d4-481f-9cef-d55ad33e46ba",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -128
      ],
      "parameters": {
        "height": 384,
        "content": "## Summarize news articles for specific keywords and post to Slack\n\nThis workflow automatically fetches the latest news articles from Hacker News based on your specified keywords, uses an AI model to generate a concise summary for each, and then posts these summaries to a designated Slack channel."
      },
      "typeVersion": 1
    },
    {
      "id": "efe5b1d7-de72-4783-b111-52f4d900941a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -256
      ],
      "parameters": {
        "color": 7,
        "height": 224,
        "content": "## Set Your Schedule \n\n### Content: \nThis workflow is set to run daily at 9 AM by default. Click on the 'Trigger Daily at 9 AM' node to adjust the schedule to your preference."
      },
      "typeVersion": 1
    },
    {
      "id": "1f8a5f0c-20e3-4fe1-aa90-98d0ed90758a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        208
      ],
      "parameters": {
        "color": 7,
        "height": 352,
        "content": " ## Configure Keywords & Slack Channel\n\n - keywords: Change 'AI' to any topic you want to track. To track multiple topics, change it to ['keyword1', 'keyword2'].\n\n - slack_channel: Replace 'news-updates' with the name of the Slack channel where you want the summaries posted."
      },
      "typeVersion": 1
    },
    {
      "id": "a51a48bd-9788-4204-8c67-d5e4acbab4da",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 304,
        "height": 256,
        "content": "## Connect Your AI Model\n\n - In the 'Credential' field, select or create your OpenRouter API key credential.\n\n - You can easily swap this for a different provider by deleting the OpenRouter node and adding your preferred chat model."
      },
      "typeVersion": 1
    },
    {
      "id": "351403d1-7240-41da-bb60-0b3f2bc348c6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        -208
      ],
      "parameters": {
        "color": 7,
        "content": "## Connect Slack\n\n - Create new credentials using OAuth2 and connect your Slack account."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "639bdd62-3525-472c-9458-7897f99033cf",
  "connections": {
    "Get many items": {
      "main": [
        [
          {
            "node": "Summarize Article with AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Summarize Article with AI",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Trigger Daily at 9 AM": {
      "main": [
        [
          {
            "node": "Configure Your Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configure Your Settings": {
      "main": [
        [
          {
            "node": "Get many items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Message for Slack": {
      "main": [
        [
          {
            "node": "Send Summary to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Article with AI": {
      "main": [
        [
          {
            "node": "Format Message for Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

This template is for teams that want to stay updated on industry trends, tech news, or competitor mentions without manually browsing news sites. It's ideal for marketing, development, and research teams who use Slack as their central hub for automated, timely information.

Source: https://n8n.io/workflows/9774/ — 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

This n8n template transforms your daily meeting preparation by automatically researching attendees and generating comprehensive briefing documents. Every weekday morning, it analyzes your calendar eve

Google Calendar, Slack, Agent +7
AI & RAG

Scheduled runs collect data from oil markets, global shipping movements, news sources, and official reports. The system performs statistical checks to detect anomalies and volatility shifts. An AI-dri

HTTP Request, Agent, Gmail +3
AI & RAG

This workflow automates the discovery of new B2B service providers entering the market. It scrapes a specific category on Clutch.co weekly, standardizes the data using AI, and compares it against a hi

Output Parser Structured, OpenRouter Chat, Google Sheets +3
AI & RAG

This workflow automatically researches your meeting attendees every morning and sends you a comprehensive brief in Slack with context about who you're meeting, their company, and key talking points. S

Slack, Agent, OpenRouter Chat +6
AI & RAG

Daily triggers automatically fetch fleet data and simulate key performance metrics for each vehicle. An AI agent analyzes maintenance requirements, detects potential issues, and routes alerts accordin

Slack, Postgres, Agent +1