将网页中的上下文变量传递给代理

在自定义网站上部署代理时,您可能希望将上下文变量从网页传递给代理,并使用这些变量来增强用户体验。 上下文变量允许您的代理为您网站的访问者提供量身定制的更有效的交互。

何时传递上下文变量

下面是将上下文传递给代理可能有用的情况示例:

  • 将网页中的网页分析跟踪 ID 传递给代理,来同时分析 Web 和代理。

  • 将订单 ID 从网页传递给代理,让客户不必再次为代理键入订单 ID。 代理只需从网页中获取订单 ID 信息。

  • 传递网站的当前页面,让代理可以根据客户访问的网页自定义体验。

  • 传递网页的语言,让代理可以根据网页的语言自定义体验。

传递上下文变量的过程分为两步:首先将上下文从网页传递给代理,然后将代理中的上下文作为变量保存。

将网页中的上下文传递给代理

在调用代理的 JavaScript 代码中,包含要作为上下文发送的值。 您可以将任何信息从您的网站传递给您的代理。 例如,以下代码片段发送三个上下文变量:LanguagecurrentURLOrderId

{
Language: siteLanguage,
currentURL: window.___location.href,
OrderId: '12345'
}

有关详细信息,请参阅向自定义区域添加全局变量。 此外,要了解完整的自定义区域 Webchat.js HTML/JavaScript 示例代码块,请参阅自定义代理的外观

将上下文作为变量保存在代理中

对话开始系统主题中,添加问题节点。 要正确配置主题,请按以下步骤进行:

  1. 将问题留空。您只是将问题节点用作从外部源获取上下文的工具。

  2. 对于标识,将默认的多选择选项替换为用户的整个回复或相应的数据类型。

  3. 选择默认变量名称,然后在变量属性面板中,将其替换为代表姓名。

  4. 选择全局(任何主题都可以访问)

  5. 选择外部源可以设置值

    “变量属性”面板的屏幕截图,显示 Copilot Studio 中全局变量的配置。

  6. (可选)设置所需的超时值,以允许变量从外部源接收其值。

备注

虽然此示例使用了对话开始系统主题,但您可以将从网页接收到的上下文保存在任何主题中。 一个好的做法是专门指定一个主题,您可以在其中配置全局变量以保存您期望从外部源获得的信息。 有关详细信息,请参阅从外部源设置全局变量

您的代理可以将这些变量用于任何目的,例如,获取订单 ID 的订单详细信息,或自定义语言的聊天行为。 要获取如何使用此概念合并 Web 和代理分析的示例,请参阅合并 Web 和代理分析