気になるブログや公式サイトの更新を、毎朝いくつも見て回る。新しい記事がなければそれで終わり、あればタブを開いて「あとで読む」……。気づけば、ブラウザのタブが30個になっていたりしますよね。
私も情報収集のために毎朝5〜6サイトを巡回していたのですが、更新がない日も多く、見て回るだけの時間がもったいないと感じていました。そこで、新しい記事だけを毎朝Notionに自動で貯めておくようにしました。
n8nの「RSS Feed Trigger」と「Notion」ノードの2つだけで、指定したサイトの新着記事(タイトル・URL・公開日・概要)を毎朝Notionのデータベースに保存するワークフローを作ります。
AIは使わないので、利用料金を気にせず試せます。
この記事の前提
- n8nを使える環境がある(n8n Cloud、または自分のPCやサーバーで動かすセルフホスト)
- n8nの基本操作は n8nとは?最初のワークフローを1本つくる で解説しています
- Notionのワークスペースで、インテグレーションを作れる権限がある
用語メモ
| 用語 | ざっくりした意味 |
|---|---|
| RSS | サイトの新着記事の一覧を、機械が読みやすい形で配信する仕組み |
| ノード | n8nのワークフローを組み立てる1つ1つの部品 |
| インテグレーション | Notionを外部のツールから操作するための「接続用の窓口」 |
| クレデンシャル | n8nに保存しておく、外部サービスにログインするための情報 |
結論:ノード2つで「新着だけ」を貯められる
今回のワークフローは、とてもシンプルです。
- RSS Feed Trigger:毎朝決まった時刻にRSSを確認し、前回より新しい記事があったときだけ動く
- Notion(Database Page → Create):記事1件ごとに、Notionのデータベースへ1ページ作る
以前の記事 n8n入門:RSS→AI要約→下書き作成までをノーコードで自動化する流れ では「RSS Read」ノードとAI要約を組み合わせました。今回はAIを使わず、新着だけを自動で選んでくれるトリガーを使うのが違いです。「まずは貯めるだけ」から始めたい方に向いています。
手順1:保存先のNotionデータベースを作る
Notionで新しいデータベースを作り、名前を「RSSメモ」にして、次のプロパティを用意します。
| プロパティ名 | 種類 | 入れる内容 |
|---|---|---|
| 名前 | タイトル | 記事のタイトル |
| URL | URL | 記事のリンク |
| 公開日 | 日付 | 記事の公開日時 |
| 概要 | テキスト | 本文の抜粋 |
プロパティ名は、あとでn8nから選ぶときの目印になります。日本語でも大丈夫ですが、あとから名前を変えるとn8n側の設定もやり直しになるので、ここで決めてしまいましょう。
手順2:Notionのインテグレーションを作り、データベースに接続する
n8nの公式ドキュメントでは、次の流れで設定します(画面はNotionのインテグレーション管理ページです)。
- Notionのインテグレーション管理ページで「+ New integration」を選ぶ
- 名前(例:
n8n integration)を入れて作成する - 「Capabilities」タブで、Read content・Update content・Insert content(公式の手順ではあわせて User information without email addresses も)を選び、保存する
- 「Secrets」タブで、インテグレーションのシークレットをコピーする
次に、作ったインテグレーションを「RSSメモ」データベースに接続します。データベースのページ右上の「•••」メニューを開き、「接続」(Connections)から、さきほど作ったインテグレーションを選びます。この接続を忘れると、n8nからデータベースが見えません。いちばん多いつまずきなので、ここは必ずやっておきましょう。
コピーしたシークレットはパスワードと同じ扱いです。チャットやメモ帳に貼りっぱなしにせず、次の手順でn8nのクレデンシャルに保存したら、ほかには残さないようにしましょう。
手順3:RSS Feed Trigger を置く
n8nで新しいワークフローを作り、最初のノードに「RSS Feed Trigger」を追加します。
| 項目 | 設定値 | 意味 |
|---|---|---|
| Poll Times の Mode | Every Day | 1日1回確認する |
| Hour | 7 | 7時に確認する(24時間表記) |
| Minute | 0 | 0分に確認する |
| Feed URL | 確認したいサイトのRSSのURL | 例:https://blog.n8n.io/rss/ |
RSSのURLがわからないときは、サイトの下のほうにある「RSS」や「フィード」のリンクを探すか、サイト名+「RSS」で検索してみてください。
RSS Feed Trigger は、手動でテストしたときはフィードの先頭の1件だけを返す作りになっています。本番で動くときは、前回の確認より新しい公開日の記事だけをまとめて流します。テストで1件しか出なくても、故障ではありません。
また、公開して最初の確認では過去の記事は保存されません。その時点の最新記事を「ここまで確認済み」として覚え、それより新しく公開された記事から貯まっていく仕組みです。
手順4:Notionノードで1記事1ページ作る
RSS Feed Trigger のうしろに「Notion」ノードを追加して、次のように設定します。
- Credential で「Create new credential」を選び、手順2でコピーしたシークレットを貼って保存する
- Resource を「Database Page」、Operation を「Create」にする
- Database で「RSSメモ」を選ぶ(一覧に出なければ、手順2の接続を確認)
- Title に、式(=
{{ }}で囲んで前のノードの値を差し込む書き方)で{{ $json.title }}を入れる - 「Add Property」で、URL・公開日・概要を1つずつ追加する
| Notionのプロパティ | 入れる式 |
|---|---|
| URL | {{ $json.link }} |
| 公開日 | {{ $json.isoDate }} |
| 概要 | {{ ($json.contentSnippet ?? '').slice(0, 1800) }} |
isoDate はRSSの公開日時を標準的な形にした値で、contentSnippet は本文の抜粋です。概要を1800文字で切っているのは、NotionのAPIではテキスト1つあたり2000文字までという上限があるためです。
Notionノードの項目の入れ方で迷ったら、AIにこう聞いてみてください。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
n8nで、RSS Feed Trigger の出力をNotionのデータベースに保存したいです。
【Notionのデータベース】
- 名前(タイトル)、URL(URL)、公開日(日付)、概要(テキスト)
【RSS Feed Trigger の出力の例】
(n8nの出力画面のJSONを1件分だけ貼る)
Notionノード(Resource: Database Page / Operation: Create)の
Title と「Add Property」で、それぞれ何を選び、どんな式を入れればいいか表で教えてください。手順5:タイムゾーンを確認して、公開(Publish)する
最後に2つ確認します。
- タイムゾーン:ワークフロー右上のメニューから「Settings」を開き、Timezone を日本(Asia/Tokyo)にして保存する
- 公開:画面上部の「Publish」ボタンを押して、ワークフローを本番で動く状態にする
公式ドキュメントによると、セルフホストのn8nではタイムゾーンの初期値が America/New_York です。ここを日本にしていないと、「7時」が日本時間の7時になりません。また、トリガーで動くワークフローは公開しないと動きません。編集した内容は自動で保存されますが、本番に反映されるのは公開したときです。
公開したら、まずは手動テストで「RSSメモ」に1ページ作られることを確認しておきましょう。そのあと、サイトに新しい記事が出た翌朝以降に、データベースのページが増えていれば成功です。
複数のサイトをまとめたいとき
サイトを増やしたいときは、RSS Feed Trigger と Notion ノードの組を、サイトの数だけ並べるのがいちばん簡単です。
1つのトリガーでまとめて処理したい場合は、「Schedule Trigger」→「RSS Read」→「Remove Duplicates」→「Notion」という組み方もあります。Remove Duplicates の Operation を「Remove Items Processed in Previous Executions」にして、Value to Dedupe On に記事のリンクを指定すると、前回までに処理した記事を取り除けます。
組み方に迷ったら、AIに相談するのも手です。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
n8nで、3つのサイトのRSSを毎朝チェックして、新着だけをNotionに保存したいです。
【今の構成】
RSS Feed Trigger → Notion(Database Page / Create)を1サイト分作りました。
【知りたいこと】
- サイトごとにワークフローを分ける方法と、Schedule Trigger + RSS Read + Remove Duplicates でまとめる方法の、メリットとデメリット
- 初心者が管理しやすいのはどちらか
n8nのノード名と設定項目名を使って説明してください。つまずきやすい点
私が最初にハマったのは、テストでは動くのに、翌朝になっても何も増えていなかったことです。原因は、公開(Publish)を押し忘れていただけでした。
| 症状 | 原因 | 対処 |
|---|---|---|
| Notionノードでデータベースが選べない | インテグレーションをデータベースに接続していない | データベースの「•••」→「接続」でインテグレーションを追加する |
| 翌朝になっても何も保存されない | ワークフローを公開していない | 「Publish」を押し、公開状態になっているか確認する |
| 公開した翌朝、何も増えていない | 最初の確認では過去の記事を保存しない仕組み、またはまだ新着がない | 公開状態なら数日様子を見る。動作は手動テストで確かめる |
| 動く時刻がずれる | タイムゾーンが日本になっていない | ワークフローの Settings で Timezone を確認する |
| テストで1件しか出ない | 手動テストでは先頭の1件だけを返す仕様 | そのままでOK。本番では新着がまとめて流れる |
| 新着があるのに保存されない | フィードに公開日が入っていない、または前回より古い日付 | フィードの中身を確認し、必要なら RSS Read と Remove Duplicates の構成にする |
| 「validation error」と出る | 概要などの値が空、または長すぎる | 空のときの初期値を入れる、文字数を切る |
まとめ
- RSS Feed Trigger は「前回より新しい記事だけ」を流してくれるので、重複を気にせず貯められる
- Notionは「インテグレーションの作成」と「データベースへの接続」の2つがセット
- 最後にタイムゾーンを日本にして、Publish を押すまでが設定
次の一歩は、毎日見に行っているサイトを1つだけ選んで、そのRSSでワークフローを作ってみることです。1週間ほど貯めてみると、巡回にかけていた時間がどれくらい浮いたか実感できますよ。
関連する本・記事
- n8nの基本から始めたい方へ:n8nとは?最初のワークフローを1本つくる
- 貯めた記事をAIで要約したいなら:n8n入門:RSS→AI要約→下書き作成までをノーコードで自動化する流れ
- トリガーの考え方を広げたいなら:n8nのトリガー設計|Webhookで始める「起きたら動く」自動化
- PCを閉じても動かしたいなら:PCを閉じても自動化を止めない|VPSでPythonとn8nを24時間動かす入門
- GAS・n8n・Pythonの使い分けに迷ったら:自動化スタック総覧|GAS・n8n・Python・Notionの使い分け
- メンバーのKindle本の一覧:biliotechまわりのKindle著書リスト