有时,我们希望我们的机器人提供一些用户没有明确要求的额外信息,如特别优惠、促销等。在 Teneo 中,可以使用提示触发器来实现这一点。

在正常流执行之后,在给出响应之前,将测试提示触发器。如果提示触发器匹配,将执行包含此触发器的流,并将生成的输出添加到响应中。在下面的示例中,自动程序答案的第一部分来自”用户想要订购咖啡”流,而第二个突出显示的部分来自具有提示触发器的流:

用户:我能买个大马基亚托吗?
机器人:好的,一个大的macchiato将在5分钟内准备好取件。
现在是饼干小时!你会得到一个免费的饼干,以配合你的咖啡。

在此页面上,我们将创建一个简单的流程,并提示触发器,为客户购买的每杯咖啡推广免费 Cookie。我们将分两个步骤完成此工作:

  1. 我们将使用提示触发器创建流,该触发器将始终触发并对其进行测试。
  2. 然后,我们将进一步限制提示触发器,以便它每天只工作从 16:00 到 17:00,最后测试它。

这就是最终流的外观:

使用提示触发器创建流

继续创建新流并命名它: Cookie hour campaign .

添加提示触发器

首先,我们将添加和设置提示触发器,然后我们将删除使用流创建的默认触发器:

  1. 单击在功能区中添加”提示触发器”。
  2. 命名提示触发器 Cookie hour
  3. 选择提示触发器并 true 添加到表达式字段。
  4. 确保提示触发器设置为可重复 – “每次会话一次”(默认情况下将选择它)
  5. 删除默认触发器。

请注意,提示触发器不会针对用户输入进行测试,而是针对编程条件进行测试。在本例中,我们将此条件设置为”true”,以便触发器始终触发为输出节点命名 It is cookie hour ,然后保存流。

测试流

继续尝试中测试提示触发器:

  1. 转到”试用”窗口
  2. 重新启动会话
  3. Hello there!在”试用”窗口中键入

答案文本来自两个不同的流。使用问候语的回答的第一部分由对话资源中的流给出。但是,在向用户返回响应之前,Teneo 始终评估是否有提示触发器,应考虑这些触发器,以便向响应添加其他信息。在这里,我们的”Cookiehour 活动”流的提示触发就是这种情况,该流的输出将附在答案中。

您可能已经注意到,如果您现在在 Hello there “试用”窗口中再次键入,您会看到它这次不会将有关”Cookie 小时活动”的信息添加到响应中。这是因为我们在创建提示触发器时选择了”每个会话可重复一次”。

进一步限制提示触发器

目前,”Cookie 小时”触发器的表达式设置为”true”。这意味着”Cookie 小时”触发器将始终触发,每次会话一次。在下面,我们将确保”Cookie 一小时”仅在 16:00 到 17:00 之间触发。

为了确保流仅在 16:00 到 17:00 之间触发,我们必须执行以下操作:

  1. 在编辑模式下打开”Cookie 小时活动”流。
  2. 选择提示触发器
  3. 将 true 替换为:
// get the hour of the day def currentHour = java.time.LocalDateTime.now().getHour() 

// is it cookie hour? (currentHour == 16)

提示触发器现在仅在 16:00 到 17:00 之间工作

与常规触发器一样,也会命令提示触发器。但是请注意,常规触发器和提示触发器的顺序在 Teneo 中单独管理。提示触发器始终在常规触发器后进行测试。

保存和测试您的流

就是这样!现在,您可以继续保存您的流并对其进行测试。请记住,如果时间是在16:00之前和17:00之后,它不应该提示你这是饼干小时现在!你会得到一个免费的饼干,以配合你的咖啡

16:00前和17:00后:

用户:我能买个大马基亚托吗?
机器人:好的,一个大的macchiato将在5分钟内准备好取件

现在是饼干小时!你会得到一个免费的饼干,以配合你的咖啡。

在此示例中,我们使用服务器时间(即 UTC)(因此结果可能因您所在的位置而异)。

Comments are closed.