为机器人配置上下文变量

重要提示

继在生成式人工智能的重大投资和跨 Microsoft Copilot 的增强集成之后,Power Virtual Agents 功能和特性现已成为 Microsoft Copilot Studio 的一部分

更新文档和培训内容时,文章和屏幕截图可能会参考 Power Virtual Agents。

本文列出了 Azure 和 Copilot Studio 机器人的上下文变量,以及如何在 Customer Service 全渠道中配置这些变量。 要了解如何创建上下文变量,请参阅管理上下文变量

Azure 机器人的上下文变量

下表包含 Customer Service 全渠道中可用于配置 Azure 机器人的上下文变量列表。

上下文变量类型 上下文变量名称 Description 如何在 Azure 中映射
对话前调查 使用您在 Customer Service 全渠道中创建的对话前调查问题名称。 系统将对话前调查的响应存储为上下文变量。 使用以下信息将 Customer Service 全渠道中的问题名称映射为 Azure 中的变量类型:
  • 单行:字符串
  • 多行:字符串
  • 选项集:字符串
  • 用户同意:布尔值
自定义上下文 使用在 Customer Service 全渠道中创建或使用 setContextProvider API 传递的变量名称。 您创建的自定义上下文变量可以通过实时聊天 SDK 传递。 将用户的响应映射为 JSON 以在 Customer Service 全渠道中使用自定义上下文变量。
对话 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

备注

使用符合规定的上下文变量名称,并且在 Azure 或 Copilot Studio 机器人中创作流时不更改这些名称。 另外,请确保使用完全匹配将值传递给上下文变量,因为它区分大小写。 如果存在不匹配的情况,不会自动识别记录。 详细信息:自动识别记录

Copilot Studio 机器人的上下文变量

下表包含 Customer Service 全渠道中提供的可用于配置 Copilot Studio 机器人的上下文变量列表。

重要提示

要使用消息传递和语音变量,请确保首先安装扩展解决方案

上下文变量类型 上下文变量名称 Description 如何在 Copilot Studio 中映射
对话前调查 使用您在 Customer Service 全渠道中创建的对话前调查问题名称。 系统将对话前调查的响应存储为上下文变量。 使用以下信息将 Customer Service 全渠道中的问题名称映射为 Copilot Studio 中的变量类型:
  • 单行:用户的整个响应
  • 多行:用户的整个响应
  • 选项集:用户的整个响应
  • 用户同意:布尔值
自定义上下文 使用您在 Customer Service 全渠道中创建或使用 setContextProvider API 传递的变量名称。 您创建的自定义上下文变量可以通过实时聊天 SDK 传递。 使用以下信息将 Customer Service 全渠道中的自定义上下文变量映射为 Copilot Studio 中的变量类型:
  • 字符串:用户的整个响应
  • 布尔值:布尔值
  • 数字浮点数:数字
对话 msdyn_ConversationId 使用包含持续对话的对话 ID 并且可以在 Microsoft Dataverse 中的记录上获取和执行操作的上下文变量。 字符串:用户的整个响应。
消息和语音变量 msdyn_CustomerType 使用此上下文变量包含链接到对话的客户联系人记录的客户类型。 选择 Customer Service 全渠道扩展解决方案变量。
msdyn_CustomerName 使用此上下文变量包含链接到对话的客户联系人记录的客户名称。 选择 Customer Service 全渠道扩展解决方案变量。
msdyn_CustomerId 使用此上下文变量包含链接到对话的客户联系人记录的客户 ID。 选择 Customer Service 全渠道扩展解决方案变量。
msdyn_CaseId 使用此上下文变量包含链接到对话的案例记录的 ID。 选择 Customer Service 全渠道扩展解决方案变量。
msdyn_CaseTitle 使用此上下文变量包含链接到对话的案例记录的标题。 选择 Customer Service 全渠道扩展解决方案变量。
仅语音变量 CustomerPhoneNumber 将此上下文变量用于电话活动中的客户电话号码。 选择 Customer Service 全渠道扩展解决方案变量。
OrganizationPhoneNumber 将此上下文变量用于电话活动中的组织电话号码。 选择 Customer Service 全渠道扩展解决方案变量。
扩展方法名称 va_SurveyConsent 使用此对话确定客户是否已同意在对话期间参与调查。 使用此方法将对话详细信息升级到 Customer Service 全渠道。
va_CustomerLocale 使用此对话将当前与机器人交谈的用户转移到另一个可以使用不同语言的机器人。 通过选择输入变量并使用正确的区域设置代码来设置代码。

为 Copilot Studio 机器人配置上下文变量

要让 Copilot Studio 机器人从全渠道读取上下文变量,执行以下步骤:

  1. 主题页面,选择添加主题从空白开始

  2. 为您的主题输入名称(例如,“设置上下文变量”)并保存。

  3. 向主题添加新节点,然后选择变量管理 > 设置变量值

  4. 在新节点中,在设置变量下,选择创建新变量

  5. 单击新变量名称打开变量属性窗格。 在窗格中,设置变量名称,使其与全渠道上下文变量的名称完全匹配(区分大小写)。

  6. 引用部分,选择省略号 (...),然后选择从此节点获取值(如果为空)。 Copilot Studio 机器人将在运行时从此节点检索变量值。

  7. 使用情况部分,选择全局(任何主题均可访问)外部源可以设置值。 Copilot Studio 将接受全渠道中的数据。 关闭变量属性窗格。

  8. 在节点中,在目标值中输入一个值,该值与机器人预期的数据类型相匹配。 例如,如果您的机器人预期是一个字符串,设置 Text("")。 如果数据未到达对话,Copilot Studio 将回退到您在此处设置的值。

    在主题中配置上下文变量。

  9. 保存并发布更改。

在对话过程中,来自全渠道上下文变量的数据在 Copilot Studio 变量中设置,可以在机器人的逻辑下使用。

机器人还可以在对话过程中设置全渠道上下文变量。 要从您的 Copilot Studio 逻辑设置全渠道变量,确保机器人使用正确的变量名称,并在变量管理节点的“目标值”属性中设置值。 Copilot Studio 会在转移到代理的过程中将变量移交给全渠道。 这通常用于在机器人将对话升级到代理时将对话链接到案例。 有关如何从这些数据链接全渠道中的记录的更多信息:将客户和案例链接到对话

在升级对话时,在 Copilot Studio 中创建的全局变量可以传递到 Customer Service 全渠道。 有关完整列表,请参阅转交时可用的上下文变量

分析 JSON 对象以提取记录 ID

请确保您具有以下详细信息:

  • Customer Service 全渠道上下文变量,例如 msdyn_contact_msdyn_ocliveworkitem_Customer。
  • 架构详细信息

示例架构详细信息的副本如下所示:

        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>"
}

另请参见

集成 Copilot Studio 机器人
集成 Azure 聊天机器人
配置机器人以升级和结束对话
实时聊天 SDK 参考