カスタム対話型AIインテグレーションを使用すると、Ultimate Public API を介してAIエージェントとのメッセージ送受信を自動化したり、Webhookを通じてAIエージェントのイベントを受信登録したりできます。これにより、あらゆるテキストベースの会話フローを自動化できます。
この記事では、次のトピックについて説明します。
カスタムCRMインテグレーションの作成と設定
AIエージェント - Advanced設定で、新しいカスタムCRMインテグレーションを作成できます。
カスタムCRMインテグレーションを作成し、設定するには
- AIエージェント - Advancedで、サイドバーの「カスタムCRM」をクリックします。
- 右上にある「カスタムCRMを作成」をクリックします。
- 「インテグレーション名」には、カスタムCRMインテグレーションの名前を入力します。
インテグレーションがカスタムCRMのリストに追加されます。ただし、インテグレーションに関する追加の技術情報を設定する必要があります。 - 作成したばかりのインテグレーションのオプションメニュー(
)をクリックし、「編集」をクリックします。
カスタムCRMの詳細ページが開きます。
- 「Webhook URL」には、httpsで始まるURLを入力してください。
-
「Webhookシークレット」の下にある「再生成」をクリックします。
このシークレットをメモし、安全な場所に保管してください。これは読み取り専用のシークレットであり、このAIエージェントのみがAPIにアクセスする権限を与えます。このトークンは、インテグレーションとこのAIエージェント間のあらゆる通信に使用されます。このインテグレーションをインストールするすべてのAIエージェントに対して、アクセストークンは一意である必要があります。 - 「保存」をクリックします。
カスタムCRMインテグレーションをAIエージェントに割り当てる
カスタムCRMインテグレーションを作成して設定した後、あなたがアクセス権を持つAIエージェントと同じ組織に属する任意のAIエージェントに、そのインテグレーションを割り当てることができます。
カスタムCRMインテグレーションを割り当てて設定するには
- AIエージェント - Advancedで、サイドバーの「設定」をクリックし、「CRMインテグレーション」を選択します。
- 「CRMを選択」をクリックし、上記で作成したカスタムCRMインテグレーションを選択してください。

インテグレーションはAIエージェントに割り当てられ、新たな会話を待機中です。
アプリケーションの構築
アプリケーションは、あなたが使い慣れた任意のプログラミング言語で構築できます。このセクションでは、アプリケーションが対応すべきユースケースと、それらをUltimate APIを使用して実装する方法について説明します。
アプリケーションは次の処理を担当します。
ステップ1:メッセージソースへの接続
システムによって認証要件は異なります。複数のAIエージェントと複数の顧客向けに統合を構築する場合(推奨)には、外部システム上の顧客固有アカウントへのアクセス権と、AIエージェント - AdvancedのAIエージェントアクセストークンの両方を確保し、それらを適切に紐付けられるようにしておく必要があります。
基本的な考え方としては、選択したシステムでチャット会話を最初に受け取る「ファーストレシーバー(最初の受信者)」としてアプリケーションが引き継げる状態にすることです。多くのシステムでは、APIアクセス用のエージェントアカウントを作成し、チャット会話のデフォルトの最初の受信者として設定する必要があります。
以下は、LivePersonのPublicAPIドキュメントからの例です。
Third-Party Bots — Public API | LivePerson Developer Center
ステップ2:Ultimate APIの概要
ソースから訪問者メッセージを受信できるようになったら、次はそれらのメッセージを適切なAIエージェントへルーティングします。
正しいAIエージェントに接続するには、すべてのリクエストにAIエージェントIDとアクセストークンを必ず含める必要があります。インテグレーションのオーナーは、訪問者メッセージの送信元となるシステム上で、どのAIエージェントがどのアカウントに関連付けられているかを常に把握しておく必要があります。
チャットエンドポイントに接続する際は、Ultimate APIのドキュメントを参照してください。
| 返される可能性のあるレスポンスコードは次のとおりです。 |
| 200:OK |
| 400:検証エラー |
| 401:権限がありません |
| 404:AIエージェントが見つかりません |
メタデータと公開セッション
各会話には、会話履歴や、会話中に収集された情報を保持するセッションが存在します。たとえば、ユーザーにメールアドレスを尋ねた場合、そのメールアドレスはセッションに保存され、会話の任意のタイミングで取得して利用できます。
meta_data オブジェクトを使用すると、訪問者との会話処理に役立つセッションパラメータをプログラムで設定できます。
ステップ3:AIエージェントへのメッセージ送信 - 高度な機能と会話ライフサイクル
AIエージェントと通信できるようになったら、次は会話のライフサイクルと、その会話で発生するすべてのイベントについて理解する必要があります。
新規会話の開始
新規会話を開始する場合は、APIエンドポイントを呼び出す際に、このタイプのイベントを使用します。
新規会話を実際に開始するには、一意の会話IDを指定する必要があります。このIDは、WhatsAppやHelpScoutなど使用しているプラットフォーム側で生成される場合もあれば、アプリケーション側で生成することもできます。会話IDは、その会話に対して一意である必要があります。
既存の会話IDを使って会話を開始した場合、元の会話セッションがまだ有効な状態であれば、AIエージェントは新規会話として扱わず、既存の会話を再開します。
会話セッションの有効期間はAIエージェントごとに設定でき、デフォルトでは最後にメッセージを送受信してから2時間です。
会話の継続
会話がすでに開始しており、訪問者からのメッセージをAIエージェントにルーティングする際に使用します。会話IDは、常にリクエストボディのパラメータとして渡す必要があります。
会話の終了
訪問者が会話を終了したい場合に使用します。
メモ:終了した会話に新しいメッセージを送信すると、同じ platform_conversation_ID のまま新しい会話が開始されます。
ステップ4:Webhookイベント
イベントは、AIエージェントが会話と非同期でやりとりするための仕組みです。ボットがメッセージを受信すると、インテグレーションに設定されているWebhookに対して、3種類のイベントタイプのいずれかで応答します。
AIエージェントのメッセージ
このイベントは、会話開始時のウェルカムメッセージや、訪問者のメッセージに対してAIエージェントが送信する応答メッセージです。
AIエージェントの応答は、テキスト、ボタン、カルーセルのいずれかの形式になります。訪問者側のチャットウィンドウでの表示方法は、設定内容や使用しているプラットフォームの機能によって異なります。
アクションのトリガ
アクションは、インテグレーションのオーナーが会話ライフサイクルの特定のタイミングでインテグレーション側の機能を呼び出すための仕組みです。アクションはインテグレーション設定時に事前登録され、AIエージェントの構築プロセスで必要に応じてトリガできます。
アクションの例:
- 会話へのタグ追加
- アカウント情報の取得
インテグレーション設定時に定義したアクションは、AIエージェントが会話のあらゆるタイミングでトリガできます。以下はその例です。
- 会話開始時または終了時
- 特定の目的がトリガされたとき
- 対話内の特定のノードに到達したとき
Webhookには、トリガされたアクション名と、session_paramsからそのアクションに必要なデータが送信されます。
Webhookはその後応答を待ちます。空の応答を返すことも、会話セッションに保存され、後続の会話で使用できるデータを返すこともできます。
アクションのユースケース例
- チケットへのタグ追加
- ユーザー情報の取得
- 過去のチケット履歴の取得
エスカレーションリクエスト
エスカレーションはアクションの一種で、成功すると訪問者をAIエージェントからライブエージェントへ引き継ぎます。
エスカレーションは、顧客が設定した任意の条件に基づいて、AIエージェントの対話内で定義できます。詳細については、こちらをご覧ください。