MENU
  • はじめての n8n
  • 作り方
  • エラー対処
  • Claude 活用
  • 運営者
n8n × Claude 自動化の実践記録 | 自動化ラボ
自動化ラボ
  • はじめての n8n
  • 作り方
  • エラー対処
  • Claude 活用
  • 運営者
  • はじめての n8n
  • 作り方
  • エラー対処
  • Claude 活用
自動化ラボ
  • はじめての n8n
  • 作り方
  • エラー対処
  • Claude 活用
  • 運営者
  1. ホーム
  2. ワークフローの作り方
  3. n8nでRSSの新着記事を5件にまとめるワークフロー

n8nでRSSの新着記事を5件にまとめるワークフロー

2026 10/07
ワークフローの作り方
RSS
2026年9月30日2026年10月7日
当ページのリンクには広告が含まれています。
ワークフロー全体(Webhook → RSS Read → Sort → Limit → Format Digest → Respond to Webhook)
  • 動作確認日:2026-09-30
  • n8nのバージョン:2.41.3(Docker、セルフホスト)
目次

① 結論:このワークフローでできること

ブログのRSSフィードを読み込み、新しい順に5件だけ取り出して、「タイトル・URL・公開日」を並べた文章にまとめます。

  • 認証情報(Credentials)は使いません。n8nがあれば、すぐに試せます。
  • 外部サービスへの投稿や送信はしません。まとめた文章を、呼び出し元に返すだけです。
  • 動作確認のため、起動にはWebhookを使っています。実際に使うときは、定期実行に置き換える想定です。

② 完成イメージ

ワークフロー全体(Webhook → RSS Read → Sort → Limit → Format Digest → Respond to Webhook)

WebhookのURLにGETでアクセスすると、次のような文章が返ってきます(実際の出力です。長いURLは途中を「…」で省略しています)。

新着記事 5件

1. 【beta版】n8n 2.42.0リリース:Azure AI Foundry Chat Modelへの改名、Anthropicプロンプトキャッシュ追加、エージェント機能が大幅強化
   https://automatelabo.com/2026/09/30/%e3%80%90beta…
   公開日: 2026-09-30 08:02

2. コードが書けない人が、Claudeへの相談で意識していること
   https://automatelabo.com/2026/09/28/how-to-consult-claude/
   公開日: 2026-09-28 20:01

3. 【beta版】n8n 2.41.0リリース:AI AssistantがノードをAIツールとして実行できるように、Microsoft Teamsも大幅強化
   https://automatelabo.com/2026/09/28/%e3%80%90beta…
   公開日: 2026-09-28 19:46

4. n8nテンプレート公開:Google News×OpenAI×Google Sheetsで毎晩の旅行ニュースをXに自動投稿するワークフロー
   https://automatelabo.com/2026/09/28/n8n-travel-news-x-template/
   公開日: 2026-09-28 19:36

5. コードが書けなくても自動化できるようになってきた話(半年間の振り返り)
   https://automatelabo.com/2026/09/27/half-year-log/
   公開日: 2026-09-27 22:15
WebhookのURLをブラウザで開いたときに返ってきた文章

実行したときの件数の流れは、次のとおりです。

ノード出てきた件数
Webhook1
RSS Read10
Sort10
Limit5
Format Digest1
Respond to Webhook1

フィードには10件の記事が入っていました。そこから新しい順に5件に絞り、最後に1つの文章にまとめています。

動かしてみて気づいた点が3つあります。

  • 公開日は、フィードの時刻(UTC)を日本時間に直して表示しています。1件目は、フィードでは Tue, 29 Sep 2026 23:02:43 +0000 でしたが、出力では 2026-09-30 08:02 になりました。
  • このフィードのURLには、?utm_source=rss... という計測用のパラメータが付いています。そのままだと長くて読みにくいので、Codeノードで「?」以降を取り除いてから並べています。
  • 日本語のスラッグの記事は、パラメータを取り除いても、URLが %e3%80%90... のような長い文字列になります。
  • Respond to Webhookで「テキスト」を返す設定にすると、レスポンスのContent-Typeは text/html; charset=utf-8 になりました。

③ 使うノードと必要なもの

必要なもの

  • n8n(今回はバージョン2.41.3をDockerで動かしました)
  • 読み込みたいRSSフィードのURL(今回は https://automatelabo.com/feed)
  • 認証情報:不要

使うノード

Format Digest(Codeノード)のコード
ノード役割設定したこと
Webhook動作確認用の起動ボタンPath:test-rss-digest、Respond:Using 'Respond to Webhook' Node
RSS Readフィードを読み込むURL:https://automatelabo.com/feed
Sort新しい順に並べるisoDate を降順(Descending)
Limit先頭の5件だけ残すMax Items:5
Code(Format Digest)1件ずつ整形して、1つの文章にまとめる下のコード
Respond to Webhookまとめた文章を返すRespond With:Text、本文:{{ $json.digest }}

Sortでは、RSS Readが出力する isoDate(2026-09-29T23:02:43.000Z のような形の日時)を並べ替えに使いました。

Codeノードでは、次の処理をしています。

const lines = $input.all().map((item, i) => {
  const { title, link, isoDate } = item.json;
  const url = link.split('?')[0];
  const date = DateTime.fromISO(isoDate).setZone('Asia/Tokyo').toFormat('yyyy-MM-dd HH:mm');
  return `${i + 1}. ${title}\n   ${url}\n   公開日: ${date}`;
});
const digest = `新着記事 ${lines.length}件\n\n` + lines.join('\n\n');
return [{ json: { count: lines.length, digest } }];
  • $input.all() で、Limitから来た5件をまとめて受け取ります。
  • link.split('?')[0] で、URLの「?」より前だけを残し、utm_source などの計測用パラメータを取り除いています。
  • DateTime を使って、日時を日本時間の yyyy-MM-dd HH:mm の形に直しています。
  • 最後に1件だけ返し、digest に文章を、count に件数を入れています。

④ JSON

n8nの公開API(POST /api/v1/workflows)でこのJSONからワークフローを作成し、有効化してから、上の結果を確認しました。

{
  "name": "test-rss-digest",
  "nodes": [
    {
      "parameters": {
        "path": "test-rss-digest",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "b2e1d7d3-0001-4000-8000-000000000001",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [0, 0],
      "webhookId": "7c2d9a4e-1b3f-4e6a-8c5d-2f1e0a9b8c7d"
    },
    {
      "parameters": {
        "url": "https://automatelabo.com/feed",
        "options": {}
      },
      "id": "b2e1d7d3-0002-4000-8000-000000000002",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.2,
      "position": [220, 0]
    },
    {
      "parameters": {
        "sortFieldsUi": {
          "sortField": [
            { "fieldName": "isoDate", "order": "descending" }
          ]
        },
        "options": {}
      },
      "id": "b2e1d7d3-0003-4000-8000-000000000003",
      "name": "Sort",
      "type": "n8n-nodes-base.sort",
      "typeVersion": 1,
      "position": [440, 0]
    },
    {
      "parameters": {
        "maxItems": 5
      },
      "id": "b2e1d7d3-0004-4000-8000-000000000004",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "typeVersion": 1,
      "position": [660, 0]
    },
    {
      "parameters": {
        "jsCode": "const lines = $input.all().map((item, i) => {\n  const { title, link, isoDate } = item.json;\n  const url = link.split('?')[0];\n  const date = DateTime.fromISO(isoDate).setZone('Asia/Tokyo').toFormat('yyyy-MM-dd HH:mm');\n  return `${i + 1}. ${title}\\n   ${url}\\n   公開日: ${date}`;\n});\nconst digest = `新着記事 ${lines.length}件\\n\\n` + lines.join('\\n\\n');\nreturn [{ json: { count: lines.length, digest } }];"
      },
      "id": "b2e1d7d3-0005-4000-8000-000000000005",
      "name": "Format Digest",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [880, 0]
    },
    {
      "parameters": {
        "respondWith": "text",
        "responseBody": "={{ $json.digest }}",
        "options": {}
      },
      "id": "b2e1d7d3-0006-4000-8000-000000000006",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [1100, 0]
    }
  ],
  "connections": {
    "Webhook": { "main": [[{ "node": "RSS Read", "type": "main", "index": 0 }]] },
    "RSS Read": { "main": [[{ "node": "Sort", "type": "main", "index": 0 }]] },
    "Sort": { "main": [[{ "node": "Limit", "type": "main", "index": 0 }]] },
    "Limit": { "main": [[{ "node": "Format Digest", "type": "main", "index": 0 }]] },
    "Format Digest": { "main": [[{ "node": "Respond to Webhook", "type": "main", "index": 0 }]] }
  },
  "settings": { "executionOrder": "v1" }
}

⑤ つまずきポイントと対処

このワークフロー自体は、1回目の実行でエラーなく動きました。

ここでは、同じ環境(n8n 2.41.3)で公開APIからワークフローを有効化・削除したときに、実際に出たエラーを書きます。画面から操作する場合は、関係ありません。

有効化のリクエストが「415 Unsupported Media Type」になる

  • 出たエラー:{"message":"unsupported media type application/x-www-form-urlencoded"}
  • 原因:POST /api/v1/workflows/{id}/activate を、本文なしで送っていました。PowerShellの Invoke-RestMethod は、本文がないと application/x-www-form-urlencoded として送ります。
  • 対処:Content-Type: application/json を指定し、本文に {} を入れて送ったところ、有効化できました。

有効化中のワークフローを削除できない

  • 出たエラー:{"message":"Cannot delete a published workflow. Unpublish it before deleting."}
  • 対処:先に POST /api/v1/workflows/{id}/deactivate で無効化しました。

無効化した直後に削除すると「409」になる

  • 出たエラー:{"message":"Workflow is still being unpublished. Please try again in a few moments."}
  • 対処:3秒待ってから削除し直したところ、削除できました。

⑥ 応用アイデア

どれも、まだ試していないアイデアです。

  • Webhookを「Schedule Trigger」に替えて、毎朝決まった時刻に実行する
  • まとめた文章をSlackやメールのノードに渡して、通知する
  • Limitの件数を変えて、10件や3件のまとめにする
  • 複数のフィードを読み込み、まとめて新しい順に並べる
ワークフローの作り方
RSS
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • n8nで楽天アフィリエイト×Threads自動投稿の仕組みを作った話
  • n8nでRSSの新着記事をGoogleスプレッドシートに記録するワークフロー

この記事を書いた人

自動化ラボ管理人のアバター 自動化ラボ管理人

コードは書けないけれど、n8n と Claude(Claude Code)で仕事とブログを自動化しています。実際に動かしたワークフローを、動作確認日・JSON・つまずいたところまで記録しています。

関連記事

  • n8nのGoogle Sheetsで「Unable to sign without access token」になるときの対処
    2026年10月3日
  • ワークフロー全体(Webhook → RSS Read → Pick New → Has New → Slack / Respond None)
    n8nでブログの新着記事をSlackに通知するワークフロー(重複なし)
    2026年10月1日
  • ワークフロー全体(Webhook → RSS Read → Pick New → Has New → Telegram / Respond None)
    n8nでブログの新着記事をTelegramに通知するワークフロー(重複なし)
    2026年10月1日
  • ワークフロー全体(Webhook → RSS Read → Pick New → Has New → LINE Broadcast / Respond None)
    n8nでブログの新着記事をLINEに通知するワークフロー(Messaging API・重複なし)
    2026年10月1日
  • ワークフロー全体(Webhook → RSS Read → Pick New → Has New → Discord / Respond None)
    n8nでブログの新着記事をDiscordに通知するワークフロー(重複なし)
    2026年10月1日
  • ワークフロー全体(Webhook → RSS Read → Format Row → Google Sheets → Respond to Webhook)
    n8nでRSSの新着記事をGoogleスプレッドシートに記録するワークフロー
    2026年10月1日

記事の種類

  • Claude 活用
  • n8n リリース情報
  • はじめての n8n
  • エラー・つまずき対処
  • サーバー・WordPress
  • テンプレート配布
  • ワークフローの作り方
  • 運営記録
つなぐサービス
Google スプレッドシートRSSLINESlackGmailDiscordTelegramWebhookn8n API天気 APIGoogle カレンダーGoogle ドライブ
目次
  • プロフィール
  • お問い合わせ
  • プライバシーポリシー

© 自動化ラボ.

目次