対象: Dynamics 365 Customer ServiceおよびDynamics 365 Contact Center ― スタンドアロンのみ
注意
Copilot Studio ボットは、Copilot エージェント (エージェントまたは AI エージェント) として名前が変更されます。 人間 エージェント は、顧客サービス担当者 (サービス担当者または担当者) に名前が変更されました。 製品の UI、ドキュメント、トレーニング コンテンツを更新しているときに、古い用語と新しい用語への言及に出くわす可能性があります。
この記事では、AzureエージェントとCopilot エージェントのコンテキスト変数と、それらをDynamics 365 Contact Centerで構成する方法を示します。 コンテキスト変数の作成方法を理解するには、コンテキスト変数を管理する を参照してください。
Copilot エージェントのコンテキスト変数
次の表に、Copilot エージェントの構成>
重要
- 拡張機能ソリューションをインストールすると、一部の変数に簡単にアクセスできます。
- Copilot Studio は、会話中に非同期的に変数を受け取ることができます。 これにより、AI エージェントは、会話中に Contact Center によって提供されるカスタム データを使用しながら、待機時間が短いユーザーにあいさつできます。 エージェントを設計するときは、Dataverse 環境からの情報に遅延が発生する可能性があるため、データ ソースと取得時間の両方を考慮してください。 変数定義でタイムアウト設定を構成して、到着遅延データを適切に管理します。 詳細については、「 外部ソースからのグローバル変数の設定」を参照してください。
| コンテキスト変数の種類 | コンテキスト変数の名前 | 説明 | Copilot Studio でマップする方法 |
|---|---|---|---|
| 会話前調査 | Dynamics 365 Contact Centerで作成した会話前アンケートの質問名を使用します。 | システムは、会話前のアンケートの回答をコンテキスト変数として保存します。 | 次の情報を使用して、Dynamics 365 Contact Centerの質問名を Copilot Studio の変数の型にマップします。
|
| チャットのカスタム コンテキスト | Dynamics 365 Contact Centerで作成した変数名を使用するか、setContextProvider API を使用して渡します。 | 作成したカスタム コンテキスト変数は、ライブチャット SDK を通してパスできます。 | 次の情報を使用して、Dynamics 365 Contact Centerのカスタム コンテキスト変数を Copilot Studio の変数型にマップします。
|
| Direct Line のカスタムコンテキスト | Dynamics 365 Contact Centerで作成する変数名を使用します。 | 作成したカスタム コンテキスト変数は、DirectLine クライアントが会話を開始するときに、Activity.ChannelData.ConversationContext でキーと値のペアとして渡すことができます。 | 次の情報を使用して、Dynamics 365 Contact Centerのカスタム コンテキスト変数を Copilot Studio の変数型にマップします。
|
| 作業分類ルールによって設定される変数 | 連絡先センター管理センターで作成した変数名を使用します。 | 作業分類ルールの一部として生成されるカスタム変数では、コンテキストを生成するために追加の処理時間が必要です。 AI エージェントの作業分類コンテキストのタイムアウトを設定します。 詳細については、「 外部ソースからのグローバル変数の設定」を参照してください。 | 次の情報を使用して、Dynamics 365 Contact Centerのカスタム コンテキスト変数を Copilot Studio の変数型にマップします。
|
| 会話 | msdyn_ConversationId | 進行中の会話の会話 ID を含み、Microsoft Dataverseのレコードに対する操作をフェッチして実行できるコンテキスト変数を使用します。 | 文字列: ユーザーの応答全体。 |
| メッセージングのみの変数 | msdyn_CustomerType 1 | 会話にリンクされている 取引先企業 または 取引先担当者 レコードの顧客タイプを含むこのコンテキスト変数を使用します。 | オムニチャネル拡張ソリューション変数を選択します。 |
| msdyn_CustomerName 1 | 会話にリンクされている 取引先企業 または 取引先担当者 レコードの顧客名を含むこのコンテキスト変数を使用します。 | オムニチャネル拡張ソリューション変数を選択します。 | |
| msdyn_CustomerId 1 | 会話にリンクされている 取引先企業 または 取引先担当者 レコードの顧客 ID を含むこのコンテキスト変数を使用します。 | オムニチャネル拡張ソリューション変数を選択します。 | |
| msdyn_CaseId 1 | 会話にリンクされているケースレコードのIDを含むコンテキスト変数を使用してください。 データは、 自動顧客識別の一部として Dataverse 環境から取得されます。 そのため、AI エージェントでは、データの受信に待機時間が発生する可能性があります。 | オムニチャネル拡張ソリューション変数を選択します。 | |
| msdyn_CaseTitle 1 | 会話にリンクされている案件レコードのタイトルを含むコンテキスト変数を使用します。 | オムニチャネル拡張ソリューション変数を選択します。 | |
| msdyn_ChannelInstanceId | チャネル インスタンス レコードの一意識別子である Dataverse には、例えば、構成済みの チャット ウィジェット や Facebook ページの一意識別子が含まれています。 | 文字列: ユーザーの応答全体。 | |
| msdyn_WorkstreamId | チャネル インスタンスに関連する Workstream の Dataverse ユニーク識別子。 | 文字列: ユーザーの応答全体。 | |
| msdyn_Locale | チャネル インスタンスに構成されているロケール コード ( チャット ウィジェット や Facebook ページなど)。 これは、多言語Copilot Studio エージェントなどのシナリオで使用できます。 | 文字列: ユーザーの応答全体。 | |
| msdyn_SocialProfileId | Dataverse レコードは、会話に関連付けられている ソーシャル プロファイル の一意の識別子を記録します。 | 文字列: ユーザーの応答全体。 | |
| msdyn_LineCustomerName | LINE API の顧客名。 | 文字列: ユーザーの応答全体。 | |
| msdyn_TeamsCustomerName | Microsoft Teamsからの顧客名。 | 文字列: ユーザーの応答全体。 | |
| msdyn_TeamsCustomerEmail | Microsoft Teamsからの電子メール アドレス (UPN)。 | 文字列: ユーザーの応答全体。 | |
| msdyn_能力リスト | Apple Messages for Businesses 機能では、値が区切り文字列として一覧表示されます。 | 文字列: ユーザーの応答全体。 | |
| msdyn_AppleMessagesForBusinessGroupId | Apple Messages for Business 用グループ ID。 | 文字列: ユーザーの応答全体。 | |
| msdyn_AppleMessagesForBusinessIntentId | Apple Messages for Business のインテント ID。 | 文字列: ユーザーの応答全体。 | |
| msdyn_AppleMessagesForBusinessLocale | Apple Messages for Businesses API によって提供されるロケール。 | 文字列: ユーザーの応答全体。 | |
| msdyn_AppleBusinessId | Apple Messages for Business アカウントのビジネス ID。 | 文字列: ユーザーの応答全体。 | |
| msdyn_FacebookCustomerName | Facebook の顧客名。 | 文字列: ユーザーの応答全体。 | |
| msdyn_FacebookLocale | Facebook からの顧客のエンド ユーザーロケール。 | 文字列: ユーザーの応答全体。 | |
| msdyn_FacebookTimezone | Facebook からの顧客のタイムゾーン。 | 文字列: ユーザーの応答全体。 | |
| msdyn_FacebookUserPageScopedId | Facebook からの顧客のページ固有のユーザー ID。 | 文字列: ユーザーの応答全体。 | |
| msdyn_FacebookPageId | Facebook ページの PageID。 | 文字列: ユーザーの応答全体。 | |
| msdyn_CustomerPhoneNumber | WhatsApp と SMS チャネルで顧客がテキストを送信している電話番号。 | 文字列: ユーザーの応答全体。 | |
| msdyn_OrganizationPhoneNumber | 顧客からメッセージを受信する電話番号 (組織の番号)。 これは、Azure Communication Services経由で WhatsApp に渡されないことに注意してください。 | 文字列: ユーザーの応答全体。 | |
| msdyn_WhatsAppCustomerFirstMessage | WhatsApp ユニバーサル リンクで事前入力されたメッセージを使用している場合は、その情報がこの変数に渡されます。 | 文字列: ユーザーの応答全体。 | |
| 音声のみの変数 2 | Activity.From.Name | このコンテキスト変数は、テレフォニー活動で提供される顧客の電話番号に使用します。 会話の開始トピックのグローバル変数にこの変数を割り当てます。 詳細については、 Copilot Studio エージェントのコンテキスト変数の構成を参照してください。 | Microsoft Copilot Studioからシステム変数を選択します。 |
| アクティビティ.受信者.名前 | このコンテキスト変数は、テレフォニー活動で提供される組織の電話番号に使用します。 会話の開始トピックのグローバル変数にこの変数を割り当てます。 詳細については、 Copilot Studio エージェントのコンテキスト変数の構成を参照してください。 | Microsoft Copilot Studioからシステム変数を選択します。 | |
| 拡張子のメソッド名 | va_アンケート同意 | このダイアログを使用して、会話中に顧客がアンケートへの参加に同意したかどうかを判断します。 | 会話の詳細をDynamics 365 Contact Centerにエスカレートするには、このメソッドを使用します。 |
| va_CustomerLocale | このダイアログでは、現在エージェントと会話しているユーザーを、別の言語で会話できる別のエージェントに転送します。 | 入力変数を選択し、正しいロケール コードを使用してコードを設定します。 |
1 音声に他のコンテキスト変数を使用するには、Copilot Studio から取得できます。 詳細については、変数の使用をご覧ください。
Copilot エージェントのコンテキスト変数を構成する
Copilot エージェントでDynamics 365 Contact Centerからコンテキスト変数を読み取できるようにするには、次の手順を実行します。
[トピック] ページで、[トピックの追加] >空白から選択します。 呼び出されていない、または既に存在するトピックを使用します。そうしないと、コンテキスト変数が機能しないためです。
トピックの名前 ( コンテキスト変数の設定など) を入力して保存します。
トピックに新しいノードを追加し、[ 変数の管理] > [変数の値を設定する] を選択します。
新規ノードで、変数の設定 で 新しい変数の作成 を選択します。
新しい変数名を選択して、[ 変数のプロパティ ] ウィンドウを開きます。 ペインで、オムニチャネル コンテキスト 変数名 と正確に一致するように変数名を設定します (大文字と小文字が区別されます)。
[ 参照 ] セクションで縦の省略記号を選択し、 空の場合は [このノードから値を取得] を選択します。 Copilot Studio エージェントは、実行時にこのノードから変数値を取得します。
Usage セクションで、グローバル (任意のトピックでアクセス可能) とExternal ソースで値を設定できますを選択して、Copilot Studio エージェントがオムニチャネルからのデータを受け入れ、この変数を任意のトピックで使用できるようにします。
変数で作業分類規則のデータを使用している場合は、変数定義でタイムアウト長を設定していることを確認してください。 詳細については、「 外部ソースからのグローバル変数の設定」を参照してください。
変数プロパティ ペインを閉じます。
ノードで、エージェントが期待するデータ型と一致する To value に値を入力します。
Copilot Studio のトピック内のコンテキスト変数のスクリーンショット 変更を保存して公開します。
注意
Activity.From.Name変数には、会話の開始トピックからのみアクセスできます。 会話の開始トピックでグローバル変数を作成し、変数の値を Activity.From.Name に設定してから、他のトピックでグローバル変数を使用することをお勧めします。 これにより、Copilot Studio エージェントの任意のトピックで顧客の電話番号にアクセスできます。
会話中、連絡先センター コンテキスト変数のデータは Copilot Studio 変数に設定され、エージェントのロジックで使用できます。
エージェントは、会話中にオムニチャネルコンテキスト変数を設定することもできます。 Copilot Studio ロジックからオムニチャネル変数を設定するには、エージェントが正しい変数名を使用していることを確認し、変数管理ノードの "To value" プロパティに値を設定します。 Copilot Studio は、カスタマー サービス担当者への転送中に、変数を Omnichannel に引き継ぐことができます。 これは、エージェントが会話を サービス担当者 にエスカレーションしたときに、会話をケースにリンクするためによく使用されます。 このデータからオムニチャネルのレコードをリンクする方法の詳細については、顧客とケースを会話にリンクする を参照してください
Copilot Studio で作成されたグローバル変数は、会話がエスカレートされたときにDynamics 365 Contact Centerに渡すことができます。 完全なリストについては、ハンドオフ時に利用可能なコンテキスト変数を参照してください。
JSON オブジェクトを解析してレコード ID を抽出する
次の詳細を確認してください。
- msdyn_contact_msdyn_ocliveworkitem_CustomerなどのDynamics 365 Contact Center コンテキスト変数。
- スキーマの詳細。
サンプル スキーマの詳細のコピーは次のとおりです:
Schema:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"RecordId": {
"type": "string"
},
"PrimaryDisplayValue": {
"type": "string"
}
},
"required": [
"RecordId",
"PrimaryDisplayValue"
]
}
}
PrimaryDisplayValue には Dataverse エンティティの属性の値が含まれています。 エンティティ属性のマッピングは次のとおりです。
- 案件 : 案件のタイトル
- 連絡先 : 氏名
- アカウント: 名前
コンテキスト レコードの例は次のとおりです。
{
"msdyn_contact_msdyn_ocliveworkitem_Customer": [
{
"RecordId": "<GUID>",
"PrimaryDisplayValue": "<FullName>"
}
],
"msdyn_liveworkitemid": "<GUID>"
}
Azure エージェントのコンテキスト変数
次の表には、Azure エージェントの構成に使用できる Dynamics 365 Contact Center のコンテキスト変数の一覧が示されています。
| コンテキスト変数の種類 | コンテキスト変数の名前 | 説明 | Azureでマップする方法 |
|---|---|---|---|
| 会話前調査 | Dynamics 365 Contact Centerで作成した会話前アンケートの質問名を使用します。 | システムは、会話前のアンケートの回答をコンテキスト変数として保存します。 | 次の情報を使用して、Dynamics 365 Contact Centerの質問名をAzureの変数の型にマップします。
|
| カスタム コンテキスト | Dynamics 365 Contact Centerで作成した変数名を使用するか、setContextProvider API を使用して渡します。 | 作成したカスタム コンテキスト変数は、ライブチャット SDK を通してパスできます。 | ユーザーの応答を JSON としてマップし、Dynamics 365 Contact Centerでカスタム コンテキスト変数を使用します。 |
| Direct Line のカスタムコンテキスト | Dynamics 365 Contact Centerで作成した変数名を使用する | 作成したカスタム コンテキスト変数は、DirectLine クライアントが会話を開始するときに、Activity.ChannelData.ConversationContext でキーと値のペアとして渡すことができます。 | 次の情報を使用して、Dynamics 365 Contact Centerのカスタム コンテキスト変数を Copilot Studio の変数型にマップします。
|
| 会話 | msdyn_ConversationId | 進行中の会話の会話 ID を含み、Microsoft Dataverseのレコードに対する操作をフェッチして実行できるコンテキスト変数を使用します。 | 文字列: 文字列 |
| 連絡先 | msdyn_contact_msdyn_ocliveworkitem_Customer | 会話にリンクされている顧客 (連絡先) レコードのレコード ID を含むこのコンテキスト変数を使用します。 | JSON を解析してレコード ID を抽出する |
| アカウント | msdyn_account_msdyn_ocliveworkitem_Customer | 会話にリンクされている取引先企業レコードのレコード ID を含むこのコンテキスト変数を使用します。 | JSON を解析してレコード ID を抽出する |
| ケース | msdyn_incident_msdyn_ocliveworkitem | この会話にリンクされているケースレコードのレコード ID を含むコンテキスト変数を使用します。 | JSON を解析してレコード ID を抽出する |
| チャネル インスタンス | msdyn_ChannelInstanceId | チャネル インスタンス レコードの Dataverse 一意識別子 (構成済みのチャット ウィジェットや Facebook ページの一意識別子など) | 文字列: ユーザーの応答全体。 |
| 作業ストリーム | msdyn_WorkstreamId | チャネル インスタンスに関連する Workstream の Dataverse ユニーク識別子。 | 文字列: ユーザーの応答全体。 |
| チャネル ロケール | msdyn_Locale | チャネル インスタンスで構成されたロケール コード。 たとえば、 チャット ウィジェット や Facebook ページなどです。 これは、多言語Copilot Studio エージェントなどのシナリオで使用できます。 | 文字列: ユーザーの応答全体。 |
| ソーシャル プロファイル | msdyn_SocialProfileId | Dataverse レコードは、会話に関連付けられている ソーシャル プロファイル の一意の識別子を記録します。 | 文字列: ユーザーの応答全体。 |
| ライン顧客名 | msdyn_LineCustomerName | LINE API の顧客名。 | 文字列: ユーザーの応答全体。 |
| Teams の顧客名 | msdyn_TeamsCustomerName | Microsoft Teamsからの顧客名。 | 文字列: ユーザーの応答全体。 |
| Teams ユーザーのメール | msdyn_TeamsCustomerEmail | Microsoft Teamsからの電子メール アドレス (UPN)。 | 文字列: ユーザーの応答全体。 |
| Apple 機能の一覧 | msdyn_能力リスト | Apple Messages for Businesses 機能では、値が区切り文字列として一覧表示されます。 | 文字列: ユーザーの応答全体。 |
| Apple グループ ID | msdyn_AppleMessagesForBusinessGroupId | Apple Messages for Business 用グループ ID。 | 文字列: ユーザーの応答全体。 |
| Apple インテントID | msdyn_AppleMessagesForBusinessIntentId | Apple Messages for Business のインテント ID。 | 文字列: ユーザーの応答全体。 |
| Apple Locale | msdyn_AppleMessagesForBusinessLocale | Apple Messages for Businesses API によって提供されるロケール。 | 文字列: ユーザーの応答全体。 |
| Apple ビジネスID | msdyn_AppleBusinessId | Apple Messages for Business アカウントのビジネス ID。 | 文字列: ユーザーの応答全体。 |
| Facebook の顧客名 | msdyn_FacebookCustomerName | Facebook の顧客名。 | 文字列: ユーザーの応答全体。 |
| Facebook ユーザー地域設定 | msdyn_FacebookLocale | Facebook からの顧客のエンド ユーザーロケール。 | 文字列: ユーザーの応答全体。 |
| Facebook 顧客タイムゾーン | msdyn_FacebookTimezone | Facebook からの顧客のタイムゾーン。 | 文字列: ユーザーの応答全体。 |
| Facebook カスタマー ページスコープID | msdyn_FacebookUserPageScopedId | Facebook からの顧客のページ固有のユーザー ID。 | 文字列: ユーザーの応答全体。 |
| Facebook ページ ID | msdyn_FacebookPageId | Facebook ページの PageID。 | 文字列: ユーザーの応答全体。 |
| 顧客の電話番号 | msdyn_CustomerPhoneNumber | WhatsApp と SMS チャネルで顧客がテキストを送信している電話番号。 | 文字列: ユーザーの応答全体。 |
| 組織の電話番号 | msdyn_OrganizationPhoneNumber | 顧客からメッセージを受信する電話番号 (組織の番号)。 これは、Azure Communication Services経由で WhatsApp に渡されない点に注意してください | 文字列: ユーザーの応答全体。 |
| WhatsApp ユニバーサル リンク メッセージ | msdyn_WhatsAppCustomerFirstMessage | WhatsApp ユニバーサル リンクで事前入力されたメッセージを使用している場合は、その情報がこの変数に渡されます。 | 文字列: ユーザーの応答全体。 |
注意
定義されているコンテキスト変数名を使用し、Azureまたは Copilot Studio エージェントでフローを作成するときに変更しないでください。 また、大文字と小文字を区別しているため、コンテキスト変数に値を渡す際は、必ず値を正確に一致させてください。 不一致がある場合、レコードは自動的に識別されません。 詳細情報: レコードを自動的に識別する
関連情報
Copilot Studio エージェントを統合する
Azure エージェントを統合します
エージェントを構成して、会話のエスカレーションと終了をさせる
ライブチャットSDKリファレンス