「n8nとNotionを繋ごうとしたけど、接続でエラーが出て先に進めない」——そういう声、めちゃくちゃ多いです。

YouTubeやブログの手順通りにやっているのに動かない。原因のほとんどは旧バージョンの情報を参照していることと、Notion側の認証設定で一手順を飛ばしていることの2つです。

この記事では、n8n v1.x系の最新UIを前提に、NotionデータベースへのタスクをScheduleトリガーで自動登録するフローを、詰まりポイントを先回りしながら作ります。読み終わったらそのままコピペで動く状態を目指しています。


n8nとNotionデータベース連携の全体像|何が自動化できて何ができないか

まず現実的な話をします。「n8nとNotion、何でも繋がる」は半分正解で半分誤解です。

できることはこの3つ:

  • Notionデータベースへのページ(レコード)新規作成
  • 既存ページのプロパティ更新(ステータス変更など)
  • データベースの一覧取得・フィルタリング

できないことが1つあって、これが盲点です。「Notion側の変更をリアルタイムのトリガーにすること」は現時点で公式サポートなし。Notionには公式Webhookがないため、n8nのScheduleトリガーで定期ポーリングするか、サードパーティ経由(Zapier Webhookを噛ませるなど)の迂回が必要になります。

ただし、今回作るのは「外部イベント→Notionへ登録」のフローなので、この制約は関係ありません。Slackのメッセージをトリガーにする、毎朝9時にGoogleスプレッドシートの行をNotionに同期する——そういった用途なら完全ノーコードで動きます。

「HTTPリクエストで直叩きするしかない」は2年前の話

古い記事を参照している方に確認してほしいのですが、現在のn8n公式Notionノード(v2)はGUIだけで以下の操作が完結します。

  • データベースへのページ作成
  • ページプロパティの更新
  • フィルタ・ソート付きのレコード取得
  • StatusプロパティやUnique IDの読み書き

HTTPリクエストノードでAPIを手書きする必要はほぼありません。n8nのGitHubスター数は2025年末時点で50,000超まで伸びており、ノードの完成度も別物になっています。

セルフホスト環境の構築手順は「[n8n×Claude API連携記事]」で詳しく解説しています。本記事ではn8nがすでに動いている状態を前提に進めます。


💡 関連教材: n8nノーコード自動化 実践ワークフロー集(¥1,980) — Gmail/Slack/Notion/Claude連携の動くワークフロー10本を実装込みで完全解説(全35ページ)

事前準備|NotionインテグレーションとAPIトークンの設定手順

ここで9割の人が詰まります。手順自体はシンプルなんですが、1ステップ忘れると「接続できない」エラーが出て原因がわからなくなる。先に地雷の場所を教えます。

Step 1:Notionインテグレーションを作成する

https://www.notion.so/my-integrations を開いて「新しいインテグレーション」をクリックします。

設定値はこうします:

  • 名前n8n-connector(なんでもOK)
  • 関連ワークスペース:連携したいワークスペースを選択
  • コンテンツ機能:「コンテンツを読む」「コンテンツを挿入する」「コンテンツを更新する」の3つにチェック

作成後に表示される「Internal Integration Token」(secret_から始まる文字列)をコピーしておきます。これがAPIキーになります。

⚠️ 最頻出の詰まりポイント:「コネクト」を忘れる

トークンを取得しただけではまだ接続できません。Notionのデータベースページを開いて、右上の「…」メニューから「コネクト」→先ほど作ったインテグレーションを選ぶ操作が必須です。

これを飛ばすと、n8nから「Object not found」エラーが返ってきます。エラーメッセージからは原因が読み取りにくいので、詰まったら真っ先にここを確認してください。

対象のデータベースページで:

  1. 右上の「…(三点リーダー)」をクリック
  2. 「コネクト先を追加する」を選択
  3. 作成したインテグレーション名を検索して接続

ページだけでなく、データベースが埋め込まれた親ページにもコネクトが必要な場合があります。どちらにも設定しておくのが確実です。

Step 2:Database IDを取得する

対象のNotionデータベースをブラウザで開いたとき、URLはこの形式になっています:

https://www.notion.so/ワークスペース名/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX?v=...

?v=より前の32文字の英数字がDatabase IDです。ハイフンなしでコピーします(n8nのノード設定欄に貼る際、ハイフン区切りでも動作しますが統一しておくのが無難)。

Step 3:プロパティ名は英語で作っておく

正直なところ、日本語プロパティ名でも技術的には動くケースが多いです。ただ、n8nのマッピング時に文字化けやJSON Expressionのパースエラーが出るケースが実務では発生しています。

後から変更するのが面倒なので、今のうちに英語にしておくことを強く推奨します

最低限これだけあれば今回のフローは動きます:

プロパティ名 タイプ
Name タイトル(デフォルト)
Status ステータス
DueDate 日付
Priority セレクト(High / Medium / Low)

Step 4:n8n CredentialsにAPIトークンを登録する

n8nの画面左メニューから「Credentials」→「Add Credential」→検索欄に「Notion」と入力します。

OAuth2ではなく「Notion API」を選んでください。OAuth2は設定が複雑なうえ、トークンの期限切れが定期的に発生します。Internal Integration Tokenを使う「Notion API」の方が安定して動きます。

「API Key」の欄に先ほどコピーしたsecret_から始まるトークンを貼り付けて保存。「Connection tested successfully」と表示されれば認証完了です。

Notion自体の基本操作や使い方については「[Notion AI 使い方入門記事]」を参照してください。


ワークフロー構築|タスク自動登録フローの実装手順

認証が通ったら、いよいよフローを組みます。今回作るのは「毎日決まった時間にデータをNotionデータベースへ登録する」シンプルな構成です。実務ではこのベースに「Slackノード」「Gmailノード」「AI Agentノード」を前段に繋ぐことで応用できます。

ノード構成はこの3つだけ

[Schedule Trigger] → [Set ノード] → [Notion ノード]

シンプルに見えますが、Notionノードのプロパティマッピングで詰まる人が多いので、そこを丁寧に説明します。

Schedule Triggerの設定

新規ワークフローを作成して「+」からノードを追加。「Schedule Trigger」を選択します。

設定例(毎朝9時に実行):

  • Trigger Interval:Days
  • Days Between Triggers:1
  • Trigger at Hour:9
  • Trigger at Minute:0

Setノードで登録データを準備する

Schedule Triggerの後ろにSetノードを挟みます。ここでNotionに渡すデータを組み立てます。

Setノードで以下のフィールドを定義します:

  • taskNameデイリーレビュー(固定値でもOK)
  • dueDate:``(実行日の日付をISO形式で)
  • priorityMedium

動的なデータ(前段のSlackメッセージやGoogleスプレッドシートの値)を使う場合は、ここのExpressionで``の形で参照します。

Notionノードの設定|ここが本番

Setノードの後ろにNotionノードを追加します。設定値はこうなります:

  • Credential:先ほど登録した認証情報を選択
  • ResourceDatabase Page
  • OperationCreate

ここで重要ResourceDatabaseにしてしまう初心者ミスが多いです。Databaseはデータベース構造の取得用で、レコード(行)を追加したいならDatabase Pageを選んでください。

Database IDの欄に先ほど取得したIDを貼ります。

プロパティのマッピング設定

Database IDを入力すると、下部に「Properties」セクションが表示されます。「Add Property」からプロパティを1つずつ追加していきます。

Nameプロパティ(タイトル)

  • Property Name:Name
  • Type:Title
  • Value:``

Statusプロパティ

  • Property Name:Status
  • Type:Status
  • Value:Not started(Notionで設定したステータス名と完全一致させること)

DueDateプロパティ

  • Property Name:DueDate
  • Type:Date
  • Include Time:オフ
  • Date:``

GUIで上手くいかない場合はJSON Expressionに切り替える

プロパティ名の大文字小文字のズレや、Notionのプロパティタイプとn8nのType設定の不一致でエラーになる場合があります。その場合はノード設定の右上にある「JSON」ビューに切り替えて直接記述する方が確実です。

{ “Name”: { “title”: [ { “text”: { “content”: “” } } ] }, “Status”: { “status”: { “name”: “Not started” } }, “DueDate”: { “date”: { “start”: “” } } } ```

このJSONをそのままコピーして使えます。taskNamedueDateは前段のSetノードで定義した変数名です。

動作確認の手順

ノード設定を保存したら、Notionノードを右クリックして「Execute Node」を選択します。画面下部に実行結果が表示され、idフィールドを含むJSONが返ってきたら成功です。

Notionのデータベースを開いて、新しい行が追加されているか確認してください。追加されていれば連携完了です。


運用する前に知っておくべきこと|制限とコスト

フローが動いた後、本番運用に向けて頭に入れておくべき点を整理します。

Notion APIのレート制限

Notion APIは1インテグレーションあたり3リクエスト/秒の制限があります。大量のレコードを一気に登録するフローを組む場合は、n8nの「Wait」ノードを挟んで500ms程度の間隔を空けるのが安全です。レート制限に引っかかると429 Too Many Requestsエラーが返ってきます。

n8nの実行環境

2025年以降、n8n Cloudの無料枠は事実上廃止されています。本番運用するなら:

  • n8n Cloud有料プラン:月$20〜(実行数制限あり)
  • Railwayでセルフホスト:月$5〜10程度で小規模フローなら十分
  • 自前VPS:月$5〜(コントロール重視の場合)

個人利用や小規模チームならRailwayのセルフホストがコスパ最良です。

次のステップ:AI Agentとの組み合わせ

このフローの前段に「AI Agentノード」を置くと、一段上の自動化ができます。Slackに投稿したメモをChatGPTで解析→タスク名・優先度・期日を自動抽出→Notionに登録、というフローが実務で急増しています。今回作ったNotionノードの設定はそのまま流用できます。


まとめ

今回作ったフローのポイントを振り返ります:

  • Notionインテグレーションは「Internal Integration Token」を使う(OAuth2は避ける)
  • インテグレーションをデータベースページに「コネクト」する操作を忘れない
  • NotionノードはDatabase Page + Createを選ぶ(Databaseと混同しない)
  • プロパティマッピングが上手くいかない時はJSON Expressionに切り替える

今すぐやること:Notionの対象データベースページを開いて、インテグレーションのコネクトが設定されているか確認してください。これが済んでいれば、あとは本記事のJSON設定をコピペするだけで動きます。


📘 もっと深く学びたい方へ

この記事で紹介した内容を、さらに体系的に・実務レベルで習得できる教材を販売中です。

n8nノーコード自動化 実践ワークフロー集(¥1,980)

Gmail/Slack/Notion/Claude連携の動くワークフロー10本を実装込みで完全解説(全35ページ)

  • Cloud版前提・2026年最新のn8n v1系UI完全対応
  • 動くノード設定値・JSON・OAuth設定まで全部入り
  • 10ワークフロー(Gmail/Slack/Notion/Discord/Webhook/RSS)はコピペで即実務投入

👉 今すぐ購入する

ChatGPT業務自動化 実践テンプレート集(¥1,480)

API・スプレッドシート・メール・議事録・請求書をコピペで自動化する実装特化型テンプレート集(全22ページ)

  • 動くGASコード・API設定手順・プロンプトをワンセット収録
  • スプレッドシート連携/メール/議事録/請求書を実務レベルで自動化
  • コピペで即動く実装コード(Python / GAS)付き

👉 今すぐ購入する


関連記事


関連ツール紹介

ブログ記事を効率的に量産するならValue AI Writer byGMOがSEO記事の自動生成に使える。月額1,650円から利用可能。

おすすめツールの一覧はこちらにまとめている。