- 動作確認日:2026-09-30
- n8nのバージョン:2.41.3(Docker、セルフホスト)
目次
① 結論:このワークフローでできること
ブログのRSSフィードを読み込み、新しい順に5件だけ取り出して、「タイトル・URL・公開日」を並べた文章にまとめます。
- 認証情報(Credentials)は使いません。n8nがあれば、すぐに試せます。
- 外部サービスへの投稿や送信はしません。まとめた文章を、呼び出し元に返すだけです。
- 動作確認のため、起動には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 | 1 |
| RSS Read | 10 |
| Sort | 10 |
| Limit | 5 |
| Format Digest | 1 |
| Respond to Webhook | 1 |
フィードには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) - 認証情報:不要
使うノード

| ノード | 役割 | 設定したこと |
|---|---|---|
| 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件のまとめにする
- 複数のフィードを読み込み、まとめて新しい順に並べる
