> For the complete documentation index, see [llms.txt](https://docs.immedio.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.immedio.io/guides/immedio-events.md).

# immedioイベント（ブラウザイベント連携）

## immedioイベントとは

immedioイベントとは、商談予約の完了やAI接客の会話開始など、immedio上の出来事が起きたタイミングでブラウザイベントを発火する機能です。immedio Boxなどの外部サービスや自社のスクリプトから、このイベントをlistenして連携・計測に活用できます。

## immedioイベントでできること

| イベント名                                 | 発火タイミング                      | detail（含まれるデータ）                                    |
| ------------------------------------- | ---------------------------- | -------------------------------------------------- |
| immedio-event:on-meeting-reserved     | 商談予約が完了したとき（成功時）             | sentData（フォーム送信データ）、reserveTime（面談日時）              |
| immedio-event:on-conversation-started | 訪問者がAI接客チャットで最初のメッセージを送信したとき | sessionId（チャットのセッションID）、message（送信されたメッセージ）        |
| immedio-event:on-qualify-passed       | AI接客フローでクオリフィケーションノードを通過したとき | sessionId（チャットのセッションID）、leadAttributes（収集済みの訪問者属性） |

対象となる導線：

* Web接客（URL設定、セグメント設定、フローチャート、自動追客）経由の予約完了時
* AI接客のチャット

## 商談予約完了イベント <a href="#on-meeting-reserved" id="on-meeting-reserved"></a>

### イベント名

`immedio-event:on-meeting-reserved`

### 発火タイミング

商談予約が完了したとき（成功時のみ）

### detail（イベントデータ）

| 項目          | 説明                                                             |
| ----------- | -------------------------------------------------------------- |
| sentData    | 予約フォームで送信されたデータ（オブジェクト形式）                                      |
| reserveTime | 面談の日時を表す数値（YYYYMMDDHHmm形式の数値。例：202511110930は2025年11月11日09時30分） |

### 使い方（サンプルコード）

以下のコードを、immedioタグが読み込まれているページに配置すると、予約完了イベントを受け取れます。

```javascript
// immedioが商談予約完了時に発火するイベントを受け取ります
window.addEventListener("immedio-event:on-meeting-reserved", (e) => {
  const { sentData, reserveTime } = e.detail || {};
  console.log("商談予約が完了しました", { sentData, reserveTime });

  // ここで外部サービス連携や計測処理を呼び出せます
  // 例：immedio Boxへのデータ送信、独自の分析ツールへの送信など
});
```

### 注意事項

* 本イベントは商談予約の「完了」時にのみ発火します。予約試行（リクエスト）段階では発火しません
* reserveTimeは面談の日時を表す数値型で、YYYYMMDDHHmm形式（例：202511110930）で表現されます。Unix時間（エポック秒）ではありませんのでご注意ください
* sentDataの内容は、予約フォームで送信されたデータが含まれます。具体的なフィールドは、フォームマッピングやプロパティ設定によって異なります

## AI接客の会話開始イベント <a href="#on-conversation-started" id="on-conversation-started"></a>

### イベント名

`immedio-event:on-conversation-started`

### 発火タイミング

訪問者がAI接客チャットで最初のメッセージを送信したとき

### detail（イベントデータ）

| 項目        | 説明                    |
| --------- | --------------------- |
| sessionId | AI接客チャットのセッションID（文字列） |
| message   | 訪問者が送信したメッセージ（文字列）    |

### 使い方（サンプルコード）

```javascript
// AI接客で会話が開始されたタイミングを受け取ります
window.addEventListener("immedio-event:on-conversation-started", (e) => {
  const { sessionId, message } = e.detail || {};
  console.log("AI接客の会話が開始されました", { sessionId, message });
});
```

### 注意事項

* メッセージの「送信」時点で発火します。サーバー側でエラーが発生し応答が返らなかった場合でも発火します
* 過去のチャット履歴が復元されたセッション（既に訪問者の発言があるセッション）では発火しません
* [AI接客トリガー](/guides/ai-sdr-trigger.md)による自動送信が最初のメッセージとなった場合も発火します

## クオリフィケーション通過イベント <a href="#on-qualify-passed" id="on-qualify-passed"></a>

### イベント名

`immedio-event:on-qualify-passed`

### 発火タイミング

AI接客フローで[クオリフィケーションノード](/company-settings/ai-sdr/flow.md#qualify)の条件評価に合致して通過したとき（通過したターンのAI応答完了時）

### detail（イベントデータ）

| 項目             | 説明                                                                                                                                         |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| sessionId      | AI接客チャットのセッションID（文字列）                                                                                                                      |
| leadAttributes | その時点までに収集された訪問者の属性情報（オブジェクト形式）。ホストページのフォームから捕捉した値と、AI接客の会話を通じて収集した属性値が含まれます。キーはimmedioのプロパティに対応します（例：`email`、`person_name`、`company_size`） |

### 使い方（サンプルコード）

```javascript
// クオリフィケーション通過のタイミングを受け取ります
window.addEventListener("immedio-event:on-qualify-passed", (e) => {
  const { sessionId, leadAttributes } = e.detail || {};
  console.log("クオリフィケーションを通過しました", { sessionId, leadAttributes });

  // 例：通過したリードの属性を外部ツールへ送信する
});
```

### 注意事項

* クオリフィケーションノードを通過したターンごとに発火します。同一セッション内で複数回発火する場合があります
* 通信エラーなどでAIの応答が完了しなかった場合は発火しません
* Zapier連携の[New AI SDR Qualify Passed](/company-settings/integrations/zapier.md#new-ai-sdr-qualify-passed)トリガーと同じタイミングで発火します
* leadAttributesに含まれる項目は、その時点までに収集できた属性によって異なります

## 共通の注意事項

* イベントを受け取るには、immedioのタグが読み込まれている必要があります
* AI接客のイベントを受け取るには、AI接客が有効になっている必要があります

## 関連

* [商談予約のCallback（Google Analytics等の計測）](/guides/callback.md)
  * immedioConfigのonReservationRequestコールバック機能との違い：
    * Callback機能：immedioConfigに設定するコールバック関数（主にGoogle Analytics等の計測用）
    * immedioイベント：ブラウザイベント（window）として発火されるため、外部サービスや別スクリプトで横断的にlistenできます
* [AI接客トリガー（ホストサイト連携）](/guides/ai-sdr-trigger.md)
* [AI接客 フロー設定](/company-settings/ai-sdr/flow.md)
* [Zapier連携](/company-settings/integrations/zapier.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.immedio.io/guides/immedio-events.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
