使用 Architect 创建数字机器人来安排预约

您可以在 Architect 中创建数字机器人流来安排约会,并在入站消息流中使用该机器人流。在流程中创建数字机器人,或者单独创建它,然后从入站消息流中调用它。 

使用 Architect 创建用于安排预约的数字机器人 

此过程描述如何为入站消息流创建机器人。在这个例子中,用户从机器人提供的时间段列表中选择一个预约日期和时间。日历事件是从有助于安排或预订的第三方 API 端点检索的。

您还可以在 Genesys Cloud 中创建自定义操作以与数据操作集成一起使用。 复制现有操作(静态或自定义)以用作模板,或者按照以下步骤创建全新的操作。 添加操作时,您可以添加合同和配置,也可以从其他数据操作导入它们。

在 Genesys Cloud 中,使用数据操作来检索机器人对话期间的值。定义输入合同和输出合同。数据操作中的输出合同必须与您在路由到端点中配置的返回消息相匹配。 

要在 Genesys Cloud 中创建数据操作,请完成以下步骤:

  1. 在 Genesys Cloud 中,单击 管理员
  2. 在 集成下,单击 操作。
  3. 点击菜单> IT与集成>数据操作
  4. 为集成创建自定义操作
  5. 添加合约。 
  6. 添加配置。 
  7. 测试操作

有关更多信息,请参阅 管理集成的单个操作。

例子:测试 API 端点

笔记:某些消息传递渠道不支持以秒或毫秒为单位的时间选择。在这种情况下,您可以将流程中的时间格式限制为小时和分钟,以防止用户输入不匹配。

自然语言理解 - 时间段

例子:Genesys Cloud 数据操作合同选项卡

自然语言理解 - 时间段

  1. 在 Architect 主页上,单击或将鼠标悬停在 流动 菜单并选择 数字机器人流程.
  2. 单击 “ 添加”。 将打开 “创建机器人流程” 对话框。
  3. 在里面 姓名 字段,输入流的唯一名称。 
  4. (可选)在 “ 描述” 字段中,添加简短的句子或短语来描述此流程。
  5. 单击 默认语言 列表,然后选择流程的默认支持语言。
  6. 单击 “ 分区” 列表,然后选择要放置流程的部门。
  7. 点击 创建流程. 流程的配置页面打开。

要从 Architect 机器人流程中调用数据操作,请执行以下步骤:

  1. 从 Architect 工具箱 中,将 “ 调用数据操作” 拖动到 “开始” 元素下方的任务编辑器中。
  2. 在 “ 类别” 下,选择相应的集成类别;例如 “Web 服务数据操作”。
  3. 在下面数据行动,选择您在 Genesys Cloud Actions 中创建的调度程序数据操作。
  4. 要配置成功输出,请执行以下操作:
    • 插槽开始时间字段用于存储从呼叫数据操作。例如,Flow.availableStartTimes
    • 时隙.持续时间字段用于存储从呼叫数据操作。例如,Flow.appointmentDurations
  5. 定义故障输出和超时。

例子:呼叫数据操作

自然语言理解 - 时间段

通过转换数据操作中的数据来准备要在流程中使用的时间段对象列表。 

要读取检索到的数据,请使用环形行动:

  1. 从 Architect 工具箱中,拖动环形操作进入任务编辑器,在呼叫数据操作
  2. 添加索引数据名称,例如Flow.loopindex
  3. 将循环的最大计数设置为表达式,Count(Flow.availableStartTimes) 。您可以选择成功路径中定义的任何变量呼叫数据操作
    通过遵循此方法,您将对数据操作返回的每个项目运行一次循环。稍后,您可以创建时间段对象列表并将其存储在 Collection 数据类型中。
  4. 要创建时间段集合, 
    1. 从工具箱中展开数据类别并拖动更新数据行动起来环形行动。
    2. 在更新数据工作区中,单击旁边更新语句并选择收藏
    3. 打开收藏夹列表后,选择时间段收集
    4. 在下面变量名称 1 ,输入必须存储完整时间段列表的列表名称。例如,Flow.timeslots
    5. 在下面待分配值 1 ,添加表达式,AddItem(Flow.timeslots, MakeTimeslot(ToDateTime(Flow.availableStartTimes[Flow.loopindex]), ToDuration(Flow.appointmentDurations[Flow.loopindex])))
      前面的表达式取列表中的项目Flow.availableStartTimes与当前循环索引匹配并将其转换为 DateTime 对象。它还从列表中获取相应的项目Flow.appointmentDurations并将其转换为持续时间对象。最后,它将两者组合成一个新的时间段对象,并将该对象添加到时间段集合变量中。

注释:
  • 一些消息传递渠道不支持以秒或毫秒为单位的时间选择。在这种情况下,您可以将流程中的时间格式限制为小时和分钟,以防止用户输入不匹配。
  • 每个时间段集合最多可以有 50 个 DateTime 值。

例子:循环动作

自然语言理解 - 时间段

例子:更新数据操作

自然语言理解 - 时间段

  1. 在下面自然语言理解,点击插槽
  2. 点击投币口
  3. 为插槽提供一个有意义的名称,然后单击节省
  4. 在下面自然语言理解,点击插槽类型
  5. 单击新添加的插槽类型名称。 
  6. 在“时间段”下,单击添加收藏。这时间段窗口出现。
  7. 添加表达式,Flow.timeslots并点击关闭

例子:表达式模式中的时间段

自然语言理解 - 时间段

  1. 从 Architect 工具箱中,拖动询问插槽操作进入任务编辑器,在环形行动。
  2. 在 Slot 下,选择您之前创建的时间段,然后填写相关字段。
  3. 自定义提示图像、标题、副标题和地址,以便机器人能够按照要求呈现。
  4. 发布流程

例子:请求带有时间选择器定制的时段

自然语言理解 - 时间段

案件:数据操作失败

如果第三方 API 遇到错误,机器人流程将采用失败路径呼叫数据操作。根据您的用例定制失败路径。例如,您可以使用转接至 ACD将交互路由到可用代理的操作。 

案件:数据操作超时

如果对第三方 API 的请求超时,则机器人流程将采用呼叫数据操作。数据操作可能会在第二次或第三次尝试时成功。要设置多次尝试,您可以放置呼叫数据操作环形具有相当低的最大循环次数的动作。确保你还放置了一个退出循环之后的行动呼叫数据操作

案件:第三方 API 未返回任何时间段

即使所有时段都已预订完毕,呼叫数据操作由于请求已成功处理,因此采用成功路径。由于没有可用的时间段值来为时间段供电,机器人可能会遇到错误。在这种情况下,会显示消息 Error.Expresson.EmptyCollection。为了防止出现此错误,您可以放置决定阻止后更新数据行动(在现有的环形行动)。您可以使用决定块来执行询问插槽仅当存在有效的时间段值时才采取行动。要确定时间段列表是否为空,请使用表达式,IsNotSetOrEmpty(Flow.timeslots)

案件:所有时间段都已过去

即使所有时间段都已过去,呼叫数据操作由于请求已成功处理,因此采用成功路径。然而,机器人无法呈现过去的时间段。为了确保呈现给用户的所有时间段都在未来,您可以放置另一个决定块之前更新数据动作(在环形行动)。

表达式,ToDateTime(Flow.availableStartTimes[Flow.loopIndex]) > GetCurrentDateTimeUtc() ,帮助您查找时间段是在过去还是在未来的日期。

现在,您可以从入站消息流调用此数字机器人流。