n8nで気になるサイトの更新(RSS)を毎朝Notionに保存する

気になるブログや公式サイトの更新を、毎朝いくつも見て回る。新しい記事がなければそれで終わり、あればタブを開いて「あとで読む」……。気づけば、ブラウザのタブが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つで「新着だけ」を貯められる

今回のワークフローは、とてもシンプルです。

  1. RSS Feed Trigger:毎朝決まった時刻にRSSを確認し、前回より新しい記事があったときだけ動く
  2. Notion(Database Page → Create):記事1件ごとに、Notionのデータベースへ1ページ作る

RSSの新着がNotionの「RSSメモ」に貯まるまでの流れ

以前の記事 n8n入門:RSS→AI要約→下書き作成までをノーコードで自動化する流れ では「RSS Read」ノードとAI要約を組み合わせました。今回はAIを使わず、新着だけを自動で選んでくれるトリガーを使うのが違いです。「まずは貯めるだけ」から始めたい方に向いています。


手順1:保存先のNotionデータベースを作る

Notionで新しいデータベースを作り、名前を「RSSメモ」にして、次のプロパティを用意します。

プロパティ名 種類 入れる内容
名前 タイトル 記事のタイトル
URL URL 記事のリンク
公開日 日付 記事の公開日時
概要 テキスト 本文の抜粋

プロパティ名は、あとでn8nから選ぶときの目印になります。日本語でも大丈夫ですが、あとから名前を変えるとn8n側の設定もやり直しになるので、ここで決めてしまいましょう。


手順2:Notionのインテグレーションを作り、データベースに接続する

n8nの公式ドキュメントでは、次の流れで設定します(画面はNotionのインテグレーション管理ページです)。

  1. Notionのインテグレーション管理ページで「+ New integration」を選ぶ
  2. 名前(例:n8n integration)を入れて作成する
  3. 「Capabilities」タブで、Read content・Update content・Insert content(公式の手順ではあわせて User information without email addresses も)を選び、保存する
  4. 「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」で検索してみてください。

🔎
テストでは1件しか出ません

RSS Feed Trigger は、手動でテストしたときはフィードの先頭の1件だけを返す作りになっています。本番で動くときは、前回の確認より新しい公開日の記事だけをまとめて流します。テストで1件しか出なくても、故障ではありません。
また、公開して最初の確認では過去の記事は保存されません。その時点の最新記事を「ここまで確認済み」として覚え、それより新しく公開された記事から貯まっていく仕組みです。


手順4:Notionノードで1記事1ページ作る

RSS Feed Trigger のうしろに「Notion」ノードを追加して、次のように設定します。

  1. Credential で「Create new credential」を選び、手順2でコピーしたシークレットを貼って保存する
  2. Resource を「Database Page」、Operation を「Create」にする
  3. Database で「RSSメモ」を選ぶ(一覧に出なければ、手順2の接続を確認)
  4. Title に、式(={{ }} で囲んで前のノードの値を差し込む書き方)で {{ $json.title }} を入れる
  5. 「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つ確認します。

  1. タイムゾーン:ワークフロー右上のメニューから「Settings」を開き、Timezone を日本(Asia/Tokyo)にして保存する
  2. 公開:画面上部の「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週間ほど貯めてみると、巡回にかけていた時間がどれくらい浮いたか実感できますよ。


関連する本・記事