category
在今天的分享中,我将聚焦于Copilot Studio,但并非着眼于其新功能的探索,而是深入挖掘当它与Dynamics 365客户服务实现集成时,那些鲜为人知却至关重要的细节!相信我,有些内幕连你自己都可能未曾察觉。此外,我还将揭秘如何将Dynamics 365客户服务中的丰富数据无缝引入Copilot Studio,让你的工作流程更加顺畅。
撰写此文的初衷,源自我个人在将传统副驾驶系统升级至全新Copilot Studio过程中遭遇的一系列挑战。尤为棘手的是,我发现Dynamics 365客户服务的数据流在升级后突然中断了,不再如预期般顺畅地传递给Copilot Studio。若你也正面临这一困境,那么接下来的内容定能让你受益匪浅,因为我将逐一剖析可能导致这一问题的几大关键因素,助你快速定位问题根源,恢复数据传递的畅通无阻。
当我提到“从D365客户服务传递数据”时,我指的是Dynamics 365客户服务中与客户相关的数据。例如,客户的唯一id,或发起聊天并在聊天开始时在对话前调查中输入数据的客户的姓名。早在2021年6月,我就写了一篇关于如何在经典的Copilot(又名Power Virtual Agent)中配置此功能的文章,但设置此功能的方式与Power Virtual Agent时代相比发生了巨大变化!原因很简单!今天,当您将Copilot Studio连接到Dynamics 365客户服务时,系统将自动安装一个名为“设置全渠道上下文项(会话更新活动)”的新主题。注意:在Copilot Studio的主题列表中找不到此主题,因为它是隐藏的。
这是非常重要的信息,因为这意味着我们不必再配置任何东西来将基本的Dynamics 365客户服务数据引入Copilot。此新主题(受管理且不可自定义)自动将Dynamics 365客户服务的基本数据存储在多个全局变量中,以便我们可以在Copilot Studio中访问这些数据。然后,Copilot可以在与客户的对话中使用这些数据。您将在Copilot Studio中识别这些变量,因为它们的名称以global.msdyn_开头。以下是存储Dynamics 365客户服务数据的最重要变量:
-
Global.msdyn_CaseNumber: The Case Number (ticketnumber)
-
Global.msdyn_CaseTitle: The title of the case
-
Global.msdyn_CustomerId: The unique id of the customer
-
Global.msdyn_CustomerName: The name of the customer
-
Global.msdyn_CustomerType: The type of customer, this can be set to ‘contact’ or ‘account’.
-
Global.msdyn_CustomerPhone: The phone number of the customer. I assume this will only be available if you have the voice channel enabled and configured.
将对话前调查答案传递给Copilot Studio
您可能会注意到,从Dynamics 365客户服务传递到Copilot Studio的数据并不多。好消息是,管理员可以添加配置,使我们能够带来更多数据。微软在这里谈到了我们可以为Copilot配置的自定义上下文变量(如对话前调查答案),但这篇文章对我来说不是很清楚,这就是我写自己的原因。那么,让我们来谈谈如何将对话前调查问题的答案带到Copilot Studio。
首先,让我解释一下这些对话前调查问题是什么。如果您启用并配置了此功能,客户在通过单击聊天小部件发起聊天时将看到一个或多个问题。这些问题可以在Dynamics 365客户服务中配置。为此,打开客户服务管理中心应用程序并导航到工作流。单击聊天工作流的名称以打开工作流,然后单击屏幕右侧“删除”按钮旁边的“编辑”。这将打开聊天频道详细信息设置屏幕。当您单击“行为”选项卡时,您需要将“对话前调查”按钮设置为“打开”,然后显示“调查问题”部分。要创建新的调查问题,您需要单击“+添加”,输入唯一的调查问题名称、问题文本并选择答案类型。答案类型是指将为问题输入的数据类型。您可以选择将此问题配置为用户从聊天小部件发起聊天时所需的问题。
重要的是要理解,当我们在Copilot Studio中设置变量值以存储调查前问题数据时,我们需要精确匹配调查问题的名称。例如,我创建了一个字段来捕获聊天前调查问题中的电子邮件地址。调查问题名称为“电子邮件”。我用来设置变量值的PowerFX公式需要引用聊天前调查问题名称的确切名称(包括大写和小写字母)。要将聊天前调查问题中的数据传递给Copilot Studio,请打开Copilot工作室并导航到“主题和插件”。由于我想在每次有新的对话时存储这些数据,我将在“对话开始”主题中添加此功能。您可以通过单击“系统”选项卡来访问此主题。在触发器下方,单击+按钮并选择“变量管理”,然后选择“设置变量值”。单击“创建新变量”并输入变量名(使其有意义)。单击“目标值”字段中的向右箭头,然后单击“公式”。然后输入以下公式:文本(System.Activity.Value.<variablname>)。如果聊天前调查问题变量的名称为“电子邮件”,则PowerFX公式如下:
Text(System.Activity.Value.Email)
要将其他聊天前调查问题的答案传递给Copilot,您可以按照与上述完全相同的方式创建其他节点。
上下文变量与聊天前问题
注意:您还可以创建上下文变量,这与聊天前的问题变量几乎相同,但不同的是,它们不会在聊天小部件上显示为问题。上下文变量允许应用程序将数据存储在变量中,而无需任何手动输入。这些变量可以存储与其他事物相关的数据,例如关于聊天渠道的数据。在我的环境中,我有一个名为va_Scope的上下文变量,它存储与应答聊天的代理类型相关的数据。当聊天首次进入时,变量为空。如果聊天由机器人应答,则va_Scope变量将设置为“bot”。这很有趣,因为我们可以使用此变量将对话路由到正确的队列。在这个例子中,如果我想让Copilot在聊天启动时接听聊天,我的逻辑是如果“va_Scope=blank”,则将此聊天路由到机器人队列(该队列中只有一个机器人用户)。我希望这能让你更多地了解背景价值的重要性。
删除经典的聊天前调查配置
如果你实现了我在文章中提供的解决方案,那么你需要先删除这些配置,因为它们将不再工作,变量将干扰我之前提到的新主题中的变量。当我将我的经典Copilot(又名Power Virtual Agent)升级到新的Copilot时,我注意到了这一点。由于这是一次机器人升级,我必须先复制我的经典复制品,以便将其升级到新版本。这意味着我文章中提到的配置是我新升级的Copilot的一部分。我必须删除所有的配置,所以让我来告诉你如何做到这一点。在我的文章中,我展示了如何创建一个名为“聊天前调查变量主题”的新主题,该主题创建了多个变量;bot.msdyn_contact_msdyn_ocliveworkitem_Customer,包括电子邮件地址和联系人名字。如您所知,这些是任何主题都可以调用的全局变量,因此我必须从所有主题中删除这些变量。您可以通过打开最初为此创建的主题(“帽子前调查变量主题”)并单击主题中的变量来完成此操作。例如,bot.msdyn_contact_msdyn_ocliveworkitem_Customer变量。完成此操作后,您应该会看到屏幕右侧打开的变量主题窗口。当你点击“查看所有引用”,然后点击“其他”时,你会看到使用该变量的所有主题。您可以打开每个主题并删除/更新使用该变量的节点。一旦从主题中删除了所有变量,您就可以删除创建变量的主题,在我的例子中是我的“聊天前调查变量主题”,您还可以删除电力自动化流程。
检查Copilot用户的机器人提供者列!
如果您也遭遇了与我相似的困境,即Dynamics 365客户服务的数据无法顺利传递给Copilot Studio,那么我建议您首先检查一下机器人用户的“机器人提供者”列。不知为何,我的机器人用户的这一列被更改为了“其他”,但实际上它应该被设置为“虚拟代理”。机器人提供者的不同选择至关重要,因为每种提供者都附带不同的功能集。举例来说,“虚拟代理”类型的机器人提供程序所存储的数据变量,就与Azure机器人所存储的截然不同。在我的情况中,由于机器人被错误地设置为“其他”,因此Dynamics 365客户服务的数据无法传递。幸运的是,通过将机器人提供者列从“其他”更正为“虚拟代理”,我成功地解决了这个问题。
若要检查并更改“机器人提供者”列,请访问make.powerapps.com(请确保您已处于正确的环境中)。随后,导航至用户表并定位到机器人的用户帐户。将“机器人提供者”列添加到视图中,并确保其已设置为“虚拟代理”。需要注意的是,如果这是在PVA或Copilot Studio中创建的副驾驶,那么此设置应显示为“虚拟代理人”。
希望这篇文章能对您有所帮助!别忘了下周再来查看新文章,或在此处订阅,以免错过任何精彩内容!
- 登录 发表评论
- 8 次浏览
最新内容
- 2 days 17 hours ago
- 2 days 19 hours ago
- 2 days 19 hours ago
- 5 days 10 hours ago
- 5 days 18 hours ago
- 5 days 19 hours ago
- 5 days 19 hours ago
- 5 days 19 hours ago
- 1 week 3 days ago
- 1 week 3 days ago