次の方法で共有


Salesforce Einstein ボットへの引き継ぎ

このドキュメントでは、Einsteinボット を作成して Copilot Studio エージェント に適用する方法について、手順を追って説明します。 この統合により、両方のプラットフォームの機能を活用して エージェント エクスペリエンスを強化できます。

前提条件

始める前に、次の前提条件が設定されていることを確認してください。

  • Einstein ボットが有効になっているアクティブな Salesforce アカウント。
  • Copilot Studio アカウント。
  • Salesforce と Microsoft Power Platform の両方への管理者または開発者アクセス権。

手順1: エージェント のシークレットを取得する Direct Line

  1. Direct LinesSecret を取得します。

ステップ 2: Salesforce リモート サイト設定を構成する

  1. Salesforce のアカウントにサインインします。

  2. Salesforce で、セットアップ に移動します。

  3. 簡易検索 ボックスに リモート サイトの設定 と入力し、リモート サイトの設定を選択します。

  4. 新しいリモート サイトを追加し、リモートサイト名Copilot Studioリモートサイト URLhttps://directline.botframework.com として入力します

  5. 保存を選択します。

注意

他の地域の場合は、DirectLine API URL に適切な URL を使用します

ステップ 3: DirectLine API に接続するための Apex クラスを作成する

  1. Salesforce のアカウントにサインインします。

  2. Salesforce で、セットアップ に移動します。

  3. 簡易検索 ボックスに Apex Classes と入力します。

  4. 次の情報を使用して 3 つの新しいクラスを作成します。

DL_GetConversation

  • 入力: なし
  • 出力: conversationId (文字列)、responseCode (整数)、errorMessage (文字列)
  • InvocableMethod getConversationID: DirectLine のシークレットを使用して、DirectLine エンドポイントへの HTTP 呼び出しを行い、会話を開始します。

DL_PostActivity

  • 入力: conversationId (文字列)、userMessage (文字列)
  • 出力: responseCode (整数)、errorMessage (文字列)、watermark (文字列)
  • InvocableMethod postActivity: URL の conversationIduserMessage を使用して、アクティビティ投稿 DirectLine API の HTTP 呼び出しを実行します。

DL_GetActivity

  • 入力: conversationId (文字列)、watermark (文字列)
  • 出力: message (文字列)、watermark (文字列)、responseCode (整数)、errorMessage (文字列)
  • InvocableMethod getActivity: getActivity DirectLine API への HTTP 呼び出しを実行します。conversationIdwatermark を使用して、ユーザーに送り返すメッセージのアクティビティ オブジェクトを取得し、解析します。

ステップ 4: Einstein ボットをセットアップする

  1. Salesforce のアカウントにサインインします。

  2. Salesforce で、セットアップ に移動します。

  3. 簡易検索 ボックスに、 Einstein と選択 Einstein Botsと入力します

  4. Salesforce Einstein ドキュメント の手順に従って、新しい Einstein ボットを作成します。

ステップ 5: Apex クラスを使用して Einstein ボットを PVA に接続する

Einstein ボットで、Einstein トピック以外の各発話に対してボットに連絡させるには、以前に作成した Apex クラスへの参照を追加します。

  1. Welcome トピック で、DL_GetConversation クラスを参照する Apex クラスのアクションを追加し、応答 変数を適切に割り当てます。

  2. Confused トピックで、DL_PostActivity クラスを参照する Apex クラスのアクションを追加し、conversationId と最後のユーザー入力を渡します。 応答変数を他の変数に必ず設定してください。

  3. DL_PostActivity Apex アクションからの応答コードを確認する条件を作成します。コードが 200 または 204 の場合は続行でき、それ以外の場合はエラー メッセージが表示されます。

  4. DL_GetActivity に別の Apex クラスのアクションを追加し、GetConversation から conversationIdPostActivity から watermarkを設定し、応答変数を割り当てます。

注意

GetActivity を別のトピックとして作成することもできます。 取得に時間がかかる場合は、実際の応答を取得するために DL_GetActivity をループする必要がある場合があります。

  1. 応答コードを確認し、戻りメッセージが設定されていることを確認する条件を作成します。設定されている場合は、メッセージ ノードに移動して応答を出力します。

  2. フローの最後のステップは「顧客入力を待機する」のままにする必要があります。

手順 6: エージェントのハンドオフを処理する

Einsteinから エージェント にアクセスする場合、エージェント はrequest/応答 モデルでのみ使用されます。ユーザーのクエリに基づいて、エージェント は最も適切なKBを取得し、回答を要約します。

Einstein ボットの構成を継続できるため、Einstein で他のトピックトリガーやエスカレーション トリガーを実装できます。 この追加構成により、ユーザーは適切な Salesforce Live Agent キューにエスカレーションできます。

詳細については、Salesforce のドキュメント 強化されたボットから会話をルーティングするを参照してください。