この連載では「Notionに画像を置くだけで、自動で加工→保存→記録」まで進むワークフローを作ります。第2回はその土台づくり。Notionとn8nを安全に接続し、データベースを読み取って一覧取得できるところまで完成させます。ここができれば、第3回以降のSlack通知や画像加工がスムーズに進みます。


今回やることと全体の流れ

本記事のゴールは、n8nからNotionデータベースを読み取れるようにすることです。
ここができると、次の Slack通知 や 画像加工 といった自動化の処理を組み立てるための
“土台(ベース)” がしっかり整います。

今回やることは、次の3ステップだけ👇

  1. NotionでIntegrationを作る

  2. 対象データベースにIntegrationを共有する

  3. n8nでCredentialsを設定し、Notionノードでデータ取得テストを行う


前提条件

今回のゴールは「n8nからNotionデータベースを読み取ること」。
そのために、次の4つが準備できていればOKです


① Notion側の準備

  • Integrationを作成できる権限があること(管理者または作成権限が必要)

  • 読み取りたいデータベース(例:作品管理DB)が用意されていること
     → まだない場合は、前回の記事を参考にしてください。


② n8n側の準備

  • n8nが動く環境があること(クラウド版 or ローカル版どちらでもOK)

  • n8nの基本操作(ワークフロー作成/ノード追加)がわかるレベルでOKです。


③ データ構造の確認

  • 前回作成した「写真管理データベース」をそのまま使います。

 プロパティ名

役割

 季節

セレクト

春・夏・秋・冬などを選択(後で条件分岐に使用)

元画像

ファイル&メディア

加工前の画像ファイルをアップロード

加工済画像URL

URL

n8nが加工後に出力するGoogle DriveのURLを格納

処理済

チェックボックス

自動処理が完了したかどうかを記録


用語解説

Integration(Notion)
Notionと外部サービスをつなぐための接続設定。
作成すると「シークレットキー(APIトークン)」が発行され、このキーを使ってn8nなどの外部ツールがNotionのデータを読み書きできるようになります。
ただし、Integrationを対象のデータベースに共有(Share)しないとアクセス権がないため、必ず招待しておきましょう。

Credentials(n8n)
サービスごとの認証情報をまとめて管理するn8nの設定。NotionのIntegrationシークレットをここへ保存し、各ノードから参照します。プロジェクトが増えても再利用できるのが利点。


手順

手順1|NotionでIntegrationを作成

最初にNotionを開いたら、左下の設定をクリック

接続をクリック

インテグレーションを作成または管理するをクリック

新しいインテグレーションを作成します
仮の名称でインテグレーション名「N8N接続」にしておきます。
名称はあとでも使用するので、分かりやすいものをつけておきましょう。

新しいインテグレーションが作成が完了すると
下記のように追加されてるので、クリックして開きます。

内部のインテグレーションシークレットをコピーしておきましょう
※このシークレットを知っている人は Notion にアクセスできるため、
 絶対に外部に公開しないようにしましょう

手順2|Notionのデータベースに n8n Integration を共有する

  • 接続したいデータベースを開く

  • 右上の 「…(三点リーダー)」 をクリック

  • メニューの下のほうにある 「接続」 を押す

  • 「コネクトを探す…」の検索欄に、
     → 作成した Integration 名(例:「N8N接続」)を入力

  • 一覧に出てきた Integration をクリックすると、
     → データベースに共有(許可)が完了

  • 共有が成功すると、接続欄に Integration 名が表示 されるようになります

手順3|n8nで新しいワークフローを作成

  1. n8nのダッシュボードを開く

  2. 右上の 「+New Workflow」 をクリック

  1. ワークフロー名を分かりやすくつける
     → 例:「Notion DB接続テスト」

  2. 画面中央左の 「Add first step…」 をクリックして最初のノードを追加する。

手順4|最初に Manual Trigger を追加する

「Add first step…」をクリックすると、
ワークフローを “どのタイミングで開始するか” を選べる
ノード検索画面が表示されます👇

今回は、まずテストしやすい Manual Trigger(手動実行) を使います。

💡 補足:n8nは「いつ動かすか」を色々選べる

ここで出てくるノードは、
n8nが “どのタイミングで” 実行されるかを決める「開始(トリガー)」です。

Manual Trigger 以外にも、たとえば:

  • On app event
     Notion・Airtable・Telegram などのアプリで何か起きた時に実行

  • On a schedule
     毎日・毎週・毎時など、決まった時間で自動実行

  • On webhook call
     外部サービス(LINE、Bubble、Webhookなど)から呼び出されたら実行

  • On form submission
     n8n内で作ったフォームが送信された時に実行

  • On chat message
     AIチャットやメッセージ受信時に実行
     (例:チャットボットやAIアシスタント)

  • When executed by another workflow
     別のワークフローから呼び出された時に実行
     (複雑な処理を分割するときに便利)

今回は まず動きを確認することが目的 のため、
何度でも実行しやすい Manual Trigger を使っています。

手順5|Notion ノードを追加する

まずはプラスボタンをクリック

  1. 検索バーに 「Notion」 と入力

  2. 表示された Notion ノードをクリック

今回は “Notionからデータがきちんと取得できるか” を確認するのがゴールなので、
Notionノードでは『Get many database pages』を選択します。
これが、写真データベースの中身をまとめて取得できる最もシンプルなアクションです。


手順6|n8nで Notion の Credential を設定しよう

Notionノードを追加したら、
n8nがNotion APIにアクセスできるよう Integration Secret を登録します。

  1. Credentials to connect with の右にある編集ボタンをクリック

Internal Integration Secretに、
Notionで発行した Integration Secret(APIキー) を入力し右上にあるSaveボタンをクリック。

※ 第1回で Notion の Integration を作成したときに発行したキー

 

👉 この状態になっていれば、n8n と Notion の接続は正常に完了です!

  • Connection tested successfullyと記載の緑色のボックスが表示される

  • 「Retry(再テスト)」ボタンが表示される

  • エラー文が一切出ていない

手順7|Notion データベースを選択する

ここでは どのデータベースを読み取るか を n8n に教えてあげます。


 ① Resource は「Database Page」を選ぶ

Resource(リソース) は
「何を対象に操作するか?」を指定する部分。

今回の目的はデータベースの“中にあるページ一覧(レコード)”を読みたい
ので、" Resource = Database Page"に設定します。


② Database に「写真管理DB」を指定する

次に、Notion 内のどのデータベースを使うのか選びます。

「From list → Select a Database…」の部分をクリックすると、
Notion側で共有済み(Share済み) のデータベースが一覧で表示されます。

✔第1回で作った「写真管理データベース」 を選択すればOK!


⚠️ 注意(ここが一番つまずくポイント)

  • Database のリストが 空欄になる場合
    → Notion側で Integration をデータベースにShareしていない のが原因
    (この説明はブログで強調しておくとめっちゃ親切)

  • Integration Secret が正しくても、
     Share されていないとデータベースは表示されない


③ 選択後の状態のイメージ

  • Resource:Database Page

  • Operation:Get Many(変更不要)

  • Database:写真管理データベース

この3つがそろったら、右上の「Execute step」で実行できます。

手順8|Execute して、Notion からデータが取得できるか確認する

設定が整ったら、画面右上の Execute step をクリックして
Notion のデータが正しく取得できるかテストします。


実行に成功すると、右側の OUTPUT に Notion のデータが一覧表示されます。
今回の例では、Notion の「写真」データベースに入っている
8件分のレコード(id・name・url など)が確認できます。


確認ポイント

  • name に「春の写真1」「夏の写真2」などのタイトルが表示されている

  • url に Notion ページへのリンクが入っている

  • 件数が実際のレコード数と一致している

  • エラーが出ていない

どれかが欠けていたり、データが 0 件の場合は
Integration の共有設定や Database ID を見直してください。


表示形式の切り替えについて

右上の Schema / Table / JSON を切り替えると

  • Table:表形式で見やすい

  • JSON:後の自動処理に使うプロパティを確認しやすい

という使い分けができます。


今回の完成形

最終的にワークフローはこのような形になります。
Manual Trigger(手動実行)から Notion のデータベースを読み取り、
データベースの件数分(例では8件)のデータが取得できていれば今回のゴール達成です!
ここまで来れば、次回の Slack 通知や画像加工の工程へスムーズに進めます。

取得している Notion の元データ

では、今回 n8n が読み取っている Notion 側のデータはどうなっているのか?
実際の Notion データベースは次のように管理されています👇

この 8 件の写真データが、
「Get many database pages」で読み取った内容と一致しています。

まとめ

  • 第1回は「Notionとn8nをつなぐ」下準備を完了。Integration作成、DB共有、n8n認証登録、データ取得テストまで到達しました。

  • ここが安定すると、第2回のSlack通知、第3回の画像加工&再アップロード、第4回の条件分岐へ滑らかに進めます。

  • JSONの構造(特に画像フィールド)は今のうちに確認し、後続回でのマッピングを楽にしましょう。

次回は「Notion → Slack へ自動通知を送るワークフローを作る」をやっていきます!

前回
【Notion×n8nで自動化しよう】第1回 Notionで写真を整理しよう