{
  "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
          }
        ]
      ]
    }
  }
}