このドキュメントでは、Einsteinボット を作成して Copilot Studio エージェント に適用する方法について、手順を追って説明します。 この統合により、両方のプラットフォームの機能を活用して エージェント エクスペリエンスを強化できます。
前提条件
始める前に、次の前提条件が設定されていることを確認してください。
- Einstein ボットが有効になっているアクティブな Salesforce アカウント。
- Copilot Studio アカウント。
- Salesforce と Microsoft Power Platform の両方への管理者または開発者アクセス権。
手順1: エージェント のシークレットを取得する Direct Line
- Direct LinesSecret を取得します。
ステップ 2: Salesforce リモート サイト設定を構成する
Salesforce のアカウントにサインインします。
Salesforce で、セットアップ に移動します。
簡易検索 ボックスに リモート サイトの設定 と入力し、リモート サイトの設定を選択します。
新しいリモート サイトを追加し、リモートサイト名 を Copilot Studio 、リモートサイト URLを https://directline.botframework.com として入力します
保存を選択します。
注意
他の地域の場合は、DirectLine API URL に適切な URL を使用します
ステップ 3: DirectLine API に接続するための Apex クラスを作成する
Salesforce のアカウントにサインインします。
Salesforce で、セットアップ に移動します。
簡易検索 ボックスに Apex Classes と入力します。
次の情報を使用して 3 つの新しいクラスを作成します。
DL_GetConversation
- 入力: なし
- 出力:
conversationId
(文字列)、responseCode
(整数)、errorMessage
(文字列) InvocableMethod getConversationID
: DirectLine のシークレットを使用して、DirectLine エンドポイントへの HTTP 呼び出しを行い、会話を開始します。
DL_PostActivity
- 入力:
conversationId
(文字列)、userMessage
(文字列) - 出力:
responseCode
(整数)、errorMessage
(文字列)、watermark
(文字列) InvocableMethod postActivity
: URL のconversationId
とuserMessage
を使用して、アクティビティ投稿 DirectLine API の HTTP 呼び出しを実行します。
DL_GetActivity
- 入力:
conversationId
(文字列)、watermark
(文字列) - 出力:
message
(文字列)、watermark
(文字列)、responseCode
(整数)、errorMessage
(文字列) InvocableMethod getActivity
:getActivity
DirectLine API への HTTP 呼び出しを実行します。conversationId
とwatermark
を使用して、ユーザーに送り返すメッセージのアクティビティ オブジェクトを取得し、解析します。
ステップ 4: Einstein ボットをセットアップする
Salesforce のアカウントにサインインします。
Salesforce で、セットアップ に移動します。
簡易検索 ボックスに、 Einstein と選択 Einstein Botsと入力します。
Salesforce Einstein ドキュメント の手順に従って、新しい Einstein ボットを作成します。
ステップ 5: Apex クラスを使用して Einstein ボットを PVA に接続する
Einstein ボットで、Einstein トピック以外の各発話に対してボットに連絡させるには、以前に作成した Apex クラスへの参照を追加します。
Welcome トピック で、
DL_GetConversation
クラスを参照する Apex クラスのアクションを追加し、応答 変数を適切に割り当てます。Confused トピックで、
DL_PostActivity
クラスを参照する Apex クラスのアクションを追加し、conversationId
と最後のユーザー入力を渡します。 応答変数を他の変数に必ず設定してください。DL_PostActivity Apex アクションからの応答コードを確認する条件を作成します。コードが 200 または 204 の場合は続行でき、それ以外の場合はエラー メッセージが表示されます。
DL_GetActivity に別の Apex クラスのアクションを追加し、
GetConversation
からconversationId
、PostActivity
からwatermark
を設定し、応答変数を割り当てます。
注意
GetActivity
を別のトピックとして作成することもできます。 取得に時間がかかる場合は、実際の応答を取得するために DL_GetActivity
をループする必要がある場合があります。
応答コードを確認し、戻りメッセージが設定されていることを確認する条件を作成します。設定されている場合は、メッセージ ノードに移動して応答を出力します。
フローの最後のステップは「顧客入力を待機する」のままにする必要があります。
手順 6: エージェントのハンドオフを処理する
Einsteinから エージェント にアクセスする場合、エージェント はrequest/応答 モデルでのみ使用されます。ユーザーのクエリに基づいて、エージェント は最も適切なKBを取得し、回答を要約します。
Einstein ボットの構成を継続できるため、Einstein で他のトピックトリガーやエスカレーション トリガーを実装できます。 この追加構成により、ユーザーは適切な Salesforce Live Agent キューにエスカレーションできます。
詳細については、Salesforce のドキュメント 強化されたボットから会話をルーティングするを参照してください。