> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# Notion

受付担当者はNotionワークスペースを検索し、ページを読んだり、料金表、プロダクト一覧、募集中の求人一覧などのデータベースを参照したりして、発信者の質問に回答できます。読み取りには、Notionの内部接続を設定した[Webhookツール](/docs/ja/reception-ai/integrations/webhooks)を使用します。これはすべてのNotionプランで利用でき、共有したページにのみアクセスできます。データベースへのエントリ追加も、コンテンツの追加のみが可能な2つ目の接続を介してWebhookツールで行えます。代わりに[Zapier](/docs/ja/reception-ai/integrations/zapier)も使用できますが、Webhookツールをおすすめします。Zapierアカウントが不要で、Zapierのタスクを消費せず、各リクエストがNotionに直接送信されるためです。ただし、Webhookツールではタイトルプロパティを入力できません。エントリに正式なタイトルが必要な場合はZapierを使用してください。

> **Note**
>
> Notionのコンテンツをほとんど変更しない場合、インテグレーションは不要かもしれません。Notionからページを
> エクスポートし、代わりに[ナレッジベースへアップロード](#use-the-knowledge-base-instead)してください。

> **Warning**
>
> 受付担当者は、接続と共有したすべての情報を読み取り、発信者に伝えることができます。
> 発信者に伝えてもよいページだけを共有し、顧客情報などの非公開記録を発信者に読み上げないよう
> [ルール](/docs/ja/reception-ai/receptionist/rules-and-procedures)を追加してください。

## セットアップ

### 内部接続を作成する

ワークスペースのオーナーである必要があります。[app.notion.com/developers/connections](https://app.notion.com/developers/connections)に移動し、**内部インテグレーション**、**新しいインテグレーションを作成** の順に選択します。名前を`Reception.ai`にして、ワークスペースを選択します。**設定** タブでコンテンツの読み取りのみを許可し、**APIトークン** をコピーします。

### 接続とページを共有する

接続の **コンテンツアクセス** タブを開き、**アクセスを編集** を選択して、受付担当者が読み取るページとデータベースを指定します。Notionでページを開き、**•••** → **コネクト** → **+ コネクトを追加** の順に選択して、`Reception.ai`を指定することもできます。子ページも共有されます。

### データソースIDを確認する

受付担当者がデータベースを読み取れるようにするには、Notionでデータベースの設定を開き、**データソースを管理** を選択します。次に、データソースの横にある **•••** メニューを開き、**データソースIDをコピー** を選択します。

### Webhookツールを作成する

[以下のツール](#tools)を作成します。各ツールについて、**インテグレーション** に移動し、**インテグレーションを追加**、**Webhookツール** の順に選択します。

### テストする

共有ページのいずれかに回答がある質問をして、[受付担当者をテスト](/docs/ja/reception-ai/receptionist/testing)します。

## ツール

すべてのツールで、次のリクエストヘッダーを送信します。

| ヘッダー             | タイプ    | 値                      |
| ---------------- | ------ | ---------------------- |
| `Authorization`  | シークレット | `Bearer `の後に接続のトークンを指定 |
| `Notion-Version` | 値      | `2026-03-11`           |

各ツールで **エージェントに割り当て** を **受付担当者** に設定し、**有効化** を選択します。

### ページを検索する

| フィールド        | 値                                                                                        |
| ------------ | ---------------------------------------------------------------------------------------- |
| **名前**       | `search_notion`                                                                          |
| **説明**       | 「Notionページをタイトルで検索します。発信者がドキュメントに回答がありそうな質問をしたときに使用し、`read_notion_page`で最も適切な結果を読み取ります。」 |
| **メソッド**     | POST                                                                                     |
| **URL**      | `https://api.notion.com/v1/search`                                                       |
| **本文パラメーター** | `query`（文字列、必須）：「`pricing`や`opening hours`など、検索する短いタイトル。」  `page_size`（数値、固定値）：`10`      |

### ページを読み取る

| フィールド         | 値                                                    |
| ------------- | ---------------------------------------------------- |
| **名前**        | `read_notion_page`                                   |
| **説明**        | 「`search_notion`で見つかったNotionページの全文を読み取ります。」          |
| **メソッド**      | GET                                                  |
| **URL**       | `https://api.notion.com/v1/pages/{page_id}/markdown` |
| **パスパラメーター**  | `page_id`（文字列、必須）：「`search_notion`が返したページの`id`。」     |
| **クエリパラメーター** | `markdown_version`（文字列、固定値）：`v2`                     |

### データベースを読み取る

| フィールド        | 値                                                                    |
| ------------ | -------------------------------------------------------------------- |
| **名前**       | `read_notion_table`                                                  |
| **説明**       | 「料金表の行を一覧表示します。発信者が料金や提供内容について質問したときに使用します。」ここには実際のテーブルについて記載してください。 |
| **メソッド**     | POST                                                                 |
| **URL**      | `https://api.notion.com/v1/data_sources/DATA_SOURCE_ID/query`        |
| **本文パラメーター** | `page_size`（数値、固定値）：`100`                                            |

`DATA_SOURCE_ID`をコピーしたIDに置き換えます。データベースごとに、固有の名前と説明を持つツールを1つ作成します。

## Webhookツールでデータベースエントリを追加する（推奨）

リードや折り返し電話の依頼など、通話中の情報をNotionデータベースに保存するには、エントリを追加するツールを作成します。

### 新規エントリ用の接続を作成する

最初の接続と同じ手順で、`Reception.ai entries`などの2つ目の内部接続を作成します。**設定** タブでコンテンツの挿入のみを許可し、**APIトークン** をコピーします。**コンテンツアクセス** では、エントリの追加先となるデータベースだけを共有します。この接続では情報を読み取れないため、エントリは非公開のままです。

### データベースを準備する

[セットアップ](#set-up)の手順に従い、データベースのデータソースIDをコピーします。ツールが入力する各プロパティはリクエスト内のキーになります。キーにはスペースを含められないため、`Phone`、`Email`、`Status`などの1語の名前をプロパティに付けてください。

### Webhookツールを作成する

**インテグレーション** に移動し、**インテグレーションを追加**、**Webhookツール** の順に選択します。

| フィールド           | 値                                                                                         |
| --------------- | ----------------------------------------------------------------------------------------- |
| **名前**          | `add_notion_entry`                                                                        |
| **説明**          | 「発信者が見積もりや折り返し電話を希望したときに、新しいリードをリードデータベースへ保存します。」ここには実際のデータベースについて記載してください。               |
| **メソッド**        | POST                                                                                      |
| **URL**         | `https://api.notion.com/v1/pages`                                                         |
| **リクエストヘッダー**   | `Authorization`（シークレット）：`Bearer `の後に新しい接続のトークンを指定  `Notion-Version`（値）：`2026-03-11`       |
| **本文パラメーター**    | `parent`（オブジェクト、必須）  `markdown`（文字列、必須）  `markdown_version`（文字列）  `properties`（オブジェクト、必須） |
| **エージェントに割り当て** | **受付担当者**                                                                                 |

本文パラメーターを次のように設定します。

* `parent`：フィールドを1つ設定します。`data_source_id`（文字列、固定値）：データソースID。
* `markdown`（会話から取得）：「Markdown形式のエントリ。最初に`# `、発信者の名前、依頼内容を続けた行を追加します（例：`# Jane Doe: quote for a new boiler`）。その後、空行と依頼の詳細を追加します。」
* `markdown_version`（固定値）：`v2`
* `properties`：入力するプロパティごとに **フィールドを追加** を1回選択します。各項目はプロパティとまったく同じ名前のオブジェクトで、その値を指定するフィールドを1つ持ちます。
  * `Phone`（オブジェクト）：`phone_number`（文字列、会話から取得）：「発信者の電話番号。」
  * `Email`（オブジェクト）：`email`（文字列、会話から取得）：「発信者のメールアドレス。復唱して確認します。メールアドレスを聞いていない場合は省略します。」
  * `Status`（オブジェクト、必須）：`select`（オブジェクト、必須）。フィールドを1つ設定します。`name`（文字列、固定値）：`New`

Notionのドキュメントでは、タイトルプロパティを省略すると、最初の`#`見出しがページタイトルになると説明されています。ただし、例はページ内に作成したページについてのみ記載されているため、使用するデータベースで機能することを確認してください。いずれの場合も、見出しと詳細はエントリのコンテンツとして保存され、電話番号、メールアドレス、ステータスの各プロパティが入力されます。`properties`にはタイトルプロパティを含めないでください。Notionではタイトルとテキストの値が6階層にネストされ、Webhookツールで扱える上限を1階層超えるためです。電話番号、メールアドレス、URL、数値、チェックボックス、セレクト、日付の各プロパティは使用できます。ステータスタイプのプロパティでは、`select`の代わりに`status`を使用します。

**有効化** を選択し、折り返し電話を依頼して[受付担当者をテスト](/docs/ja/reception-ai/receptionist/testing)します。エントリがデータベースに表示されます。

## Zapierでデータベースエントリを追加する

代わりにZapier経由でエントリを追加するには、[Zapier](/docs/ja/reception-ai/integrations/zapier)を接続します。[mcp.zapier.com](https://mcp.zapier.com)のZapier MCPサーバーで、Notionの **Create Data Source Item** アクションを追加し、データベースを固定値に設定して、AIがフィールドを入力できるようにします。Reception.aiでZapierインテグレーションの **ツール** タブを開き、**ツールを更新** を選択して、アクションを **クライアント**（受付担当者）に割り当てます。

## 代わりにナレッジベースを使用する

頻繁に変更されないコンテンツには、リアルタイム検索よりも[ナレッジベース](/docs/ja/reception-ai/knowledge-base/overview)の方がシンプルで高速です。Notionでページの **•••** メニューを開き、**その他** → **エクスポート** の順に選択して、**PDF**、**HTML**、または **Markdown & CSV** を指定します。HTMLとMarkdownのエクスポートはzipファイルとしてダウンロードされるため、先に解凍してください。その後、[ファイルをアップロード](/docs/ja/reception-ai/knowledge-base/file-uploads)します。データベースはCSVとしてエクスポートされますが、ナレッジベースはCSVに対応していないため、データベースはPDFとしてエクスポートしてください。コンテンツを変更したら、再度エクスポートしてアップロードします。

## 制限事項

* Notionの検索では、ページやデータベースのタイトルだけが照合され、ページ内のテキストは対象になりません。「キャンセルポリシー」など、分かりやすいタイトルをページに付けてください。
* `read_notion_table`が返すのは最初の100行と各行のプロパティだけで、各行のページ内にあるコンテンツは返しません。受付担当者が読み取るテーブルは小さく保ってください。
* Notionのホスト型MCPサーバーではブラウザーでのサインインが必要です。ただし、ビジネスおよびエンタープライズプランでは、ワークスペースのオーナーがMCPトークンを作成できます。上記のWebhookツールはすべてのプランで使用できます。
* `add_notion_entry`では、タイトルまたはテキストプロパティを入力できません。代わりに、名前やメモを見出しとコンテンツに含めてください。
* Zapier経由でエントリを追加する場合、受付担当者が実行する各ZapierアクションはZapierプランのタスクを消費します。現在、Zapierでは通話が正常に完了するたびに2タスクとしてカウントされます。

## トラブルシューティング

| 問題                                             | 確認事項                                                                                                                  |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Notionから401が返される                               | `Authorization`ヘッダーには、`Bearer `の後に接続のトークンを指定する必要があります。                                                                |
| バージョンに関する400エラー                                | `Notion-Version`を`2026-03-11`に設定します。                                                                                  |
| 404または`object_not_found`                       | ページまたはデータベースを接続と共有し、データベースIDではなくデータソースIDを使用します。                                                                       |
| `read_notion_page`で403が返される                    | 接続にコンテンツの読み取り権限が必要です。                                                                                                 |
| `add_notion_entry`で403が返される                    | エントリ用の接続に、コンテンツの挿入権限とデータベースへのアクセス権が必要です。                                                                              |
| `add_notion_entry`で400 `validation_error`が返される | `properties`内の各キーはプロパティ名と完全に一致し、そのフィールドはプロパティの型と一致する必要があります。                                                          |
| 新しいエントリが **無題** と表示される                         | Notionが使用中のデータベースで`#`見出しをタイトルとして認識しませんでした。見出しは各エントリのページ上部に引き続き表示され、電話番号やステータスでエントリを検索できます。タイトルを設定するにはZapierを使用してください。 |
| 検索結果が表示されない                                    | 検索対象は、接続と共有されたページのタイトルだけです。                                                                                           |
| 大きなテーブルで受付担当者の応答が遅い                            | 大きなテーブルは大量のデータを返します。テーブルを分割するか、コンテンツをナレッジベースへ移動してください。                                                                |