高级课程: 任务编辑器和表达式帮助

Architect 的任务编辑器可帮助您对更全面的流程中的相关步骤进行分组。 在许多情况下,您将使用表达式来构建这些复杂的呼叫流计算。 Architect 还提供了集中、全面的元素列表,以帮助您构建表达方式。 我们将在本课中探讨其中的一些领域。

在这里,我们想要构建一个任务序列来确定有关当前调用的以下信息:

  • 一天中的时间(早上、下午或晚上)
  • 主叫姓名
  • 一周中的当前几天

接下来,我们希望系统以音频序列的形式向呼叫者播放信息。 当呼叫者进入流程时,他或她会听到 “[早上、下午或晚上] 好,[呼叫者姓名]。  今天是 [星期几]。” 此外,周五来电者将通过以下消息了解周六的新营业时间: “这是一个友好的提醒,我们周六的营业时间已经改变。  如果你明天需要联系我们,我们将从九点到中午有空。”  

注意: 在本课中,您将创建包含流变量和调用变量的 集合 、使用 “ 更新数据 ” 操作定义表达式、构建 音频序列以及访问 Architect 的 “表 达式帮助”

目标

创建一个收集有关当前呼叫的信息和有关当前呼叫的信息的任务,然后将该信息播放给呼叫者

预计完成时间: 40 分钟

其他结果

点击图片放大。

任务编辑器或表达式帮助

任务

  1. 在 Architect 主页中,单击呼 入呼叫流程 选项卡。
  2. 添加新的入站流程,包括唯一的名称和(可选)简短的句子或短语,以进一步描述此呼叫流。 在我们的示例中,我们将入站呼叫流命名为 工作日。
  3. 创建一个新的可重用任务并将其设置为起始任务。
  4. 将任 务命名为 “星期几”。
  5. 对于 初始问候语,可以选择录制提示音或添加 TTS 来迎接来电者。
  6. 单击 “ 编辑任务”

通过向任务添加音频开始构建起始任务, 然后创建一个决策操作,指导流程从字符串集合中提取星期中的当前一天。

  1. 将 “ 播放音频” 动作拖 动到任务编辑器中,并为其命名为 “ 初始音频
  2. 录制提示或添加 TTS 来迎接来电者:

“感谢来电!

  1. 将 “ 决策” 任务拖到 “播放音频” 任务下方,然后将 “ 更新数据” 操作拖 动到 “决策” 操作的 “ 无” 路径下方
  2. 将 “更新数据” 操作命名为 “星期 几”。
  3. 单击 添加更新语句下 拉列表末尾的箭头,然后执行以下操作:
    1. 单击 创建收藏夹
    2. 选择 字符串集合
  4. 在 “ 变量名称 ” 框中,键入 flow.Days ofWeek。
  5. 在 “要分配的值” 框中,单击 + 字符串
  6. 在里面物品盒式星期日。 
  7. 重复步骤 7 以添加一周中的剩余天数。

你的收藏应该是这样的:

字符串 集

在这里,通过添加 “更新数据” 操作来继续该序列,以从通话中检索当天。

  1. 将 “ 更新数据” 操作拖动到 “星期 更新数据” 操作下方。
  2. 命名 “ 今天” 的操作
  3. 单击 添加更新语句下 拉列表末尾的箭头,选择 String,然后执行以下操作:
    1. 变量名称 框中,键入 Flow.Today。
    2. 在 “要分配的 ” 框中,切换到表达式模式并打开大型表达式编辑器。 将打开 编辑要分配 1′ 表达式的值 对话框。
    3. 开始键入 Get。 下拉列表中将显示可用函数的列表。
    4. 假设您不确定此处要使用哪个表达式,然后在下拉列表中单击 ? 在 GetAT 旁边。 表达式帮助打开,我们看到此特定函数在集合中的特定位置检索项目。 这看起来像我们想要使用的函数。 您可以选择通过展开 实施 部分了解更多详细信息和使用示例来了解有关它的更多信息。 
    5. 完成后,单击右 上角的 X 以关闭表达式帮助。
  4. 返回到 “ 编辑要分配 1 的值” 表达式 对话框中,完成 GetAat () 函数的键入,然后按 Enter 键。 请注意,光标位于圆括号集内
    1. 确保光标位于 GetAT 括号内,然后开始键入 Flow。, 然后 从显示的列表中选择 Flow.DayofWeek。
    2. 将光标定位在右括号之前,添加一个逗号,然后开始键入 dayAif。 请注意下拉列表中的可用选项列表。
    3. 要确认选择了正确的函数,请单击 ?DayofWeek 旁边。 表达式帮助打开,我们看到此特定函数从提供的值中获取星期几。 
    4. 在表达式帮助中,展开整数部分以获取更多详细信息和示例。 这看起来像我们想要使用的函数。
    5. 完成后,单击右 上角的 X 以关闭表达式帮助。
  5. 返回到 “编辑要分配 1 的值” 表达式对话框中,完成 DayOfWeek () 函数的键入。
  6. 将光标定位在表达式末尾的两个右括号之前,开始键入 Flow。 然后 从列表中选择 flow.startDateTimeutc。
  7. 单击 “ 关闭”

你的最后一个表达式应该是这样的:

GetAat (Flow. 星期几、星期几 (Flow.startdateTimeutc))

接下来,通过添加指示系统收集一天中的时间的 “更新数据” 操作来继续该序列:

  1. 将 “ 更新数据” 操作拖到 “ 今天 更新数据” 操作下方
  2. 将操作命名为 “ 时间”
  3. 单击 添加更新语句下 拉列表末尾的箭头,选择 String,然后执行以下操作
    1. 在 “ 变量名称 ” 框中,键入 Flow.timeOfDay。
    2. 选中 “要分配的 ” 框,切换到表达式模式, 然后打开大型表达式编辑器。 将打开 编辑要分配 1′ 表达式的值 对话框。
    3. 开始键入 如果。 下拉列表中将显示可用函数的列表。
    4. 或者单击 在列表中的如果 () 表达式旁边打开表达式帮助。 在这里,您可以浏览函数详细信息并展开实现,完成后,单击 X 关闭表达式帮助。
  4. 返回 “编辑要分配 1 的值” 表达式 对话框中,完成键入 如果 () 函数
    1. 将光标置于如果括号内,开始键入 “ 小时”, 然后 从显示的列表中选择 “小时” ()。
    2. 将光标定位在两个右括号之前,开始键入 Flow。 请注意下拉列表中的可用选项列表。
    3. 选择 Flow.startDateTimeutc
  5. 继续使用表达式,以便如果小时小于 12,则系统将读为早上的时间。 如果时间小于 17 点,则为下午或晚上。
  6. 将光标定位在最后一个右括号内时,键入 <12 “Morning”。
  7. 将光标置于最后一个逗号和最后一个右圆括号之间,键入 if (Hour (flow.startDateTimeutc)
  8. 将光标定位在最后两个右括号内时,键入 <17、“下午”、“晚上”。
  9. 单击 “ 关闭”

你的最后一个表达式应该是这样的:

如果 (小时 (Flow.startDateTimeutc) < 12,“早上”,如果 (小时 (Flow.startDateTimeutc) < 17,“下午”,“晚上”))

根据收集的数据,创建通知呼叫者日期和时间的音频序列。

  1. 将 “每日 时间 更新数据” 操作下方的 “ 播放音频” 操作拖动到 “ 问候语” 操作下
  2. 在 “音频” 框中,单击音频序列编辑器按钮,然后执行以下操作:
    1. 在 “ 文本转语音 ” 框中,键入 Good
    2. 单击 添加数据 按钮,然后在数据框中键入 Flow.timeOfDay。
    3. 单击 “选择选项” 下拉列表末尾的箭头,然后选 择 “ 文本转语音”。 
    4. 单击 添加数据 按钮,然后在数据框中键入 call.remoteName。
    5. 单击 “选择选项” 下拉列表末尾的箭头,然后选 择 “ 文本转语音”。
    6. 单击 添加 TTS 按钮,然后在 “文本转语音” 框中键入 “ 今天是”。
    7. 单击 添加数据 按钮,然后在数据框中键入 Flow.Today。
    8. 单击 “选择选项” 下拉列表末尾的箭头,然后选 择 “ 文本转语音”。
    9. 单击 “ 关闭”。

设置当系统检测到第二天是否是星期六时要采取的路径,如果是,则在周六小时向呼叫者播放。 然后完成任务。

  1. 决策 动作拖动到 “ 问候语 播放音频” 操作下方的任务编辑器中,然后将其命名 为 “明天星期六?
  2. 在 “表 达式” 框中,切换到表达式模式,删除 True 文本,然后键入 Flow.Tday== “星期五”。
  3. 播放音频 动作拖到 “是明天星期六?” 下方 决策操作的 “是” 路径并将其命名为 “ 玩周六时间”
  4. 音频” 框中,录制提示音或添加 TTS 以通知呼叫者星期六的时间:

友好地提醒我们,我们周六的营业时间已经改变。  如果你明天需要联系我们,我们将从九点到中午有空。 

  1. 将 “ 跳转到菜单” 操作拖动到任务编辑器底部的最后一个空格中。
  2. 选择 菜单,然后验证并保存或发布流程。

主动

现在轮到你了。 尝试在自己的环境中创建类似的体验。 例如,您可以设置在特定月份特定呼叫者播放的问候语,例如 12 月的 “季节问候语”。 或者,您可以通知来电者季节性时间,例如 7 月的夏季时间。 有关其他帮助,请参阅相应的任务说明和支持视频。