メインコンテンツへスキップ
Notion ツールキットにより、エージェントやワークフローがNotionのページやデータベースと対話できるようになります。コンテンツの検索、データベースレコードのクエリと更新、ページコンテンツの読み取りと追加、新しいページの作成に対応しています。

前提条件

  • Notionアカウント(無料プランで十分です)
  • Notionワークスペース(すべてのアカウントにデフォルトで付与されます)

接続の作成

  1. ワークフローにNotionツールキットステップを追加します。
  2. Connect with Notionをクリックします。
  3. Notionの同意画面で接続を承認し、アクセスを許可するページとデータベースを選択します。
ツールキットは接続に明示的に共有されたページとデータベースのみにアクセスできます。コンテンツを共有するには、Notionでページまたはデータベースを開き、···Connectionsをクリックしてインテグレーションを追加してください。同じワークスペース内で共有されていないコンテンツは表示されません。

利用可能なツール

ツール説明
Searchすべての共有ページとデータベースをタイトルで横断的に検索します
List Databases接続がアクセスできるすべてのデータベースを返します
Get Database特定のデータベースのスキーマ(カラム名と型)を返します
Query Databaseオプションのフィルタリングとソート付きでデータベースからレコードを取得します
Get Pageページまたはデータベースレコードのプロパティ値とメタデータを取得します
Create Page新しいデータベースレコードまたはサブページを作成します
Update Page既存ページのプロパティを更新、またはアーカイブします
Get Page Contentページの本文テキスト(コンテンツブロック)を読み取ります
Append Contentページの下部に新しいコンテンツブロックを追加します

検索

すべての共有ページとデータベースを横断的に検索し、タイトルで一致する結果を返します。 主要な入力:
入力説明
Query検索するテキスト
Filter Typeオプションでpageまたはdatabaseに制限します。空白の場合は両方を検索します。
Page Size返す結果数(デフォルト:10、最大:100)
後続ステップでの結果参照:
  • 最初の結果のID: {{ step.output.results[0].id }}
使用例: 新しいクライアントレコードを作成する前に、クライアント名で検索します。countが0より大きい場合、クライアントは既に存在します。重複を作成する代わりに、既存レコードのidを使用してください。

データベースアクション

List Databases

接続がアクセスできるすべてのデータベースを、名前とIDとともに返します。 主要な入力:
入力説明
Page Size返すデータベース数(デフォルト:20、最大:100)
使用タイミング: テストワークフローで一度実行してデータベースIDを確認します。目的のデータベースのidをコピーし、後続ステップでハードコードしてください。

Get Database

特定のデータベースのスキーマ — カラム名とプロパティ型を返します。 主要な入力:
入力説明
Database IDデータベースのID — List Databases、またはNotion URLから取得:?v=の前のセグメント
使用タイミング: Create PageまたはUpdate Pageステップを実行する前に実行します。正確なプロパティ名(大文字小文字を区別)とその型が判明し、Propertiesフィールドで使用するJSON形式が決まります。
Get Databaseはプロパティの型と名前を表示しますが、Selectフィールドの利用可能なオプション値は表示しません。有効な選択オプションを確認するには、Notionで直接データベースを開いてください。

Query Database

オプションのフィルタリングとソート付きでデータベースからレコードを取得します。 主要な入力:
入力説明
Database IDクエリするデータベース
FilterJSONフィルターオブジェクト(以下の例を参照)。空白の場合はすべてのレコードを返します。
SortsソートルールのJSON配列(以下の例を参照)
Page Size返すレコード数(デフォルト:20、最大:100)
フィルター例: 単一フィルター — Statusが「In Progress」のレコード:
{
  "property": "Status",
  "select": { "equals": "In Progress" }
}
チェックボックスによるフィルター:
{
  "property": "Done",
  "checkbox": { "equals": false }
}
日付によるフィルター — 特定の日付より前のDue Dateのレコード:
{
  "property": "Due Date",
  "date": { "before": "2026-05-26" }
}
ANDロジックによる複合フィルター:
{
  "and": [
    { "property": "Status", "select": { "equals": "In Progress" } },
    { "property": "Done", "checkbox": { "equals": false } }
  ]
}
ソート — 新しい順:
[
  { "property": "Created time", "direction": "descending" }
]
後続ステップでの結果参照:
  • 最初の結果のID: {{ step.output.results[0].id }}
  • 最初の結果のStatus: {{ step.output.results[0].properties.Status }}
  • 最初の結果のタイトル: {{ step.output.results[0].title }}

ページアクション

Get Page

特定のページまたはデータベースレコードのプロパティ値とメタデータを取得します。 主要な入力:
入力説明
Page IDページのID — Notion URL、Query Database、またはSearch結果から取得
後続ステップでの値参照:
  • Status: {{ step.output.page.properties.Status }}
  • Title: {{ step.output.page.title }}
  • Page ID: {{ step.output.page.id }}
使用例: ページID付きでトリガーが発火します。Get Pageを使用してレコードの現在のStatusを読み取ります。Statusが「Pending」の場合、ワークフローを続行します。それ以外の場合は停止します。

Create Page

新しいページを作成します — データベース内のレコード(新しい行)として、または別のページの子ページとして作成できます。 主要な入力:
入力説明
Parent IDデータベースID(新しい行の場合)またはページID(サブページの場合)
Parent Typeデータベース行を追加する場合はdatabase_id、サブページを追加する場合はpage_id。デフォルト:database_id
Titleプレーンテキストのページまたはレコードのタイトル
Properties追加のフィールド値用のオプションJSONオブジェクト。キーはデータベースのプロパティ名と完全に一致させる必要があります。Get Databaseで確認してください。
フィールドタイプ別プロパティ形式:
// Select フィールド
{ "Status": { "select": { "name": "To Do" } } }

// Status フィールド(Notionの組み込みStatus型)
{ "Status": { "status": { "name": "In Progress" } } }

// Date フィールド
{ "Due Date": { "date": { "start": "2026-06-01" } } }

// Checkbox フィールド
{ "Done": { "checkbox": false } }

// Number フィールド
{ "Priority Score": { "number": 8 } }

// Rich text フィールド
{ "Notes": { "rich_text": [{ "text": { "content": "Needs review before sending." } }] } }
完全な例 — タスク行の作成: Title: Follow up with client Properties:
{
  "Status": { "select": { "name": "To Do" } },
  "Due Date": { "date": { "start": "2026-06-01" } },
  "Done": { "checkbox": false }
}
返されたidは、新しいページを更新またはリンクするために後続ステップに渡すことができます。

Update Page

既存ページのプロパティを更新、またはアーカイブします。 主要な入力:
入力説明
Page ID更新するページ — Query Database、Get Page、またはSearchから取得
Properties変更するフィールドのみを含むJSONオブジェクト(Create Pageと同じ形式)。含まれていないフィールドは変更されません。
Archivedページをアーカイブ(ソフト削除)するにはtrueに設定します
例 — タスクを完了としてマーク:
{
  "Status": { "select": { "name": "Done" } },
  "Done": { "checkbox": true },
  "Completed On": { "date": { "start": "2026-05-26" } }
}
例 — レコードをアーカイブ: Propertiesを空のままArchivedをtrueに設定します。レコードはデータベースビューから消えますが、Notionのゴミ箱から復元できます。 一般的なパターン:
  1. Query Databaseを使用してレコードを検索し、idを取得します
  2. そのidをUpdate Pageに渡してフィールドを変更します

コンテンツアクション

Get Page Content

Notionページ内のコンテンツブロック — パラグラフ、見出し、箇条書きリストなどを取得します。これはページのプロパティ(データベースフィールド)とは別です。ドキュメントの本文テキストを読み取るために使用します。 主要な入力:
入力説明
Page IDコンテンツを読み取るページ
Page Size返すブロック数(デフォルト:50、最大:100)
後続ステップでの値参照:
  • 最初のブロックのテキスト: {{ step.output.blocks[0].text }}
  • すべてのブロック: {{ step.output.blocks }}
使用例: ページコンテンツを取得し、すべてのテキストブロックをAIステップに渡して要約を生成し、その要約をメールまたはTelegramで送信します。

Append Content

既存のNotionページの下部に新しいコンテンツブロックを追加します。 主要な入力:
入力説明
Page IDコンテンツを追加するページ
Children追加するNotionブロックオブジェクトのJSON配列
例 — 見出しとパラグラフの追加:
[
  {
    "object": "block",
    "type": "heading_2",
    "heading_2": {
      "rich_text": [{ "type": "text", "text": { "content": "Workflow Run — May 26" } }]
    }
  },
  {
    "object": "block",
    "type": "paragraph",
    "paragraph": {
      "rich_text": [{ "type": "text", "text": { "content": "3 records processed. 1 error found." } }]
    }
  }
]
例 — 箇条書きリストアイテムの追加:
[
  {
    "object": "block",
    "type": "bulleted_list_item",
    "bulleted_list_item": {
      "rich_text": [{ "type": "text", "text": { "content": "New lead: Jane Doe — jane@example.com" } }]
    }
  }
]
使用例: ワークフローが毎朝実行され、データを処理して「Daily Log」ページに1行のログエントリを追加します。毎回新しいページを作成せずに、監査証跡を蓄積します。

トラブルシューティング

症状原因の可能性対処
401 Unauthorizedトークンが取り消されているか不足しているOAuthフローで再認証してください
ページまたはデータベースで404 Not Found接続にコンテンツが共有されていない···Connectionsでページを共有してください
検索やクエリの結果が空接続に何も共有されていない少なくとも1つのページまたはデータベースを共有してください
プロパティ更新が無視されるプロパティ名の大文字小文字の不一致Get Databaseを使用して正確なプロパティ名を確認してください — 大文字小文字が区別されます
oauth_not_configuredエラーSuper AdminにClient ID/Secretが保存されていないNotion OAuth Setupを参照してください