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

今回やることと全体の流れ
本記事のゴールは、n8nからNotionデータベースを読み取れるようにすることです。
ここができると、次の Slack通知 や 画像加工 といった自動化の処理を組み立てるための
“土台(ベース)” がしっかり整います。
今回やることは、次の3ステップだけ👇
NotionでIntegrationを作る
対象データベースにIntegrationを共有する
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で新しいワークフローを作成
n8nのダッシュボードを開く
右上の 「+New Workflow」 をクリック

ワークフロー名を分かりやすくつける
→ 例:「Notion DB接続テスト」画面中央左の 「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 ノードを追加する
まずはプラスボタンをクリック

検索バーに 「Notion」 と入力
表示された Notion ノードをクリック

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

手順6|n8nで Notion の Credential を設定しよう
Notionノードを追加したら、
n8nがNotion APIにアクセスできるよう Integration Secret を登録します。
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 へ自動通知を送るワークフローを作る」をやっていきます!
