各种对话的工作流程建立在称为对话生成器的画布上。您可以在对话生成器中设置资源库和每个对话要执行的自动操作。
建立对话
有三个主要元素用于构建对话: 区块、路径和变量。
区块
区块是构建混合对话的基本要素。您可以连续添加区块来定义 Zia 对用户的回复。
欢迎区块默认出现在对话生成器中。要添加区块并构建连续对话,请执行以下操作
- 在对话结束处或路径上点击
。 - 可用区块将列在可折叠的右窗格中。您可以搜索所需的区块。
- 点击区块进行配置并将其添加到对话中。
- 根据所添加的区块,对话将分支为多个路径,让您可以为各种输入建立响应。
您可以将右侧窗格中的图块视图修改为列表视图
或网格视图
。 对话创建器中有两种类型的区块--回复区块和操作区块。

回复区块:
响应块用于通过显示答案或收集更多信息来响应用户的询问。您可以使用消息、问题和选择块来构建回复。
消息块: 显示文本或信息作为回复。
区块 | 目的 |
文本 | 向用户显示一条信息。 - 信息* - 输入要显示给用户的文本。
- 区块名* - 添加一个唯一的名称来标识区块。
- 高级设置- 切换 "打开结束区块",以便在用户回复区块后结束对话。
 |
信息卡 | 向用户显示信息。 - 信息卡类型 - 将信息卡类型选择为静态或动态。
- 静态卡片用于向所有用户显示信息。
- 动态卡片则根据用户的输入向其显示信息。
在对话中添加一个 webhook 块,在添加动态信息卡之前获取动态选项。 - 信息- 输入要显示给用户的文本。
- 渲染样式(仅适用于动态卡片) - 选择要将动态获取的选项渲染为单个还是多个卡片
- webhook中包含元素列表的流量变量将作为对象列出。选择对象可将其数据填充为选项。
- 卡片信息列表* - 输入卡片名称。点击卡片字段并定义显示的信息,如下所述。点击添加卡片字段可添加文本或按钮。
卡片字段 | 描述 | 图片 | - 上传图像* (仅适用于图像卡字段) - 上传与显示信息相关的图像。确保图像大小不超过 14MB。
- 值* - 添加显示给用户的文本。
- 标签* - 用参考名称标记显示的图像/文本。
- 网站地址* (仅适用于按钮卡字段) - 通过添加网站 URL 将用户重定向到网站。
- 高级设置 - 定义卡片字段设置。
- 卡片字段样式是预定义的。
- 切换打开隐藏标签可隐藏标签,不向用户显示。
- 切换打开隐藏字段可隐藏卡片字段和标签,使其不显示给用户。
点击添加信息卡,创建多个信息卡。 | 标题 | 副标题 | 描述 | 文本 | 按钮 |
点击保存,您可以点击 以复制卡片。 - 区块名称* - 添加一个唯一的名称来标识区块。
- 高级设置 -切换 "打开结束区块",以便在用户回复区块后结束对话。
 |
* 必填字段
点击保存,您还可以在保存前预览区块。
问题区块: 显示问题,向用户收集更多详细信息。
区块 | 目的 |
文本 | 收集文本回复。 - 问题- 输入问题供用户回答。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称将作为变量生成,用于存储用户输入的内容。如有需要,可点击
编辑变量。 - 高级设置 - 定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
图像 | 接收图像。 - 问题- 输入问题供用户回答。
- 格式* - 选择可上传的图像文件格式。
- 区块名称* -添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称将作为变量生成,用于存储上传的图片。如有需要,可点击
编辑变量。 - 高级设置 - 定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
视频 | 接收视频文件 - 问题- 输入问题供用户回答。
- 格式* - 选择可上传的视频文件格式。
- 区块名称* -添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称将作为变量生成,用于存储上传的视频。如有需要,可点击
编辑变量。 - 高级设置 -自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
音频 | 接收音频文件 - 问题- 输入问题供用户回答。
- 格式* - 选择可上传的音频文件格式。
- 区块名称* -添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称将作为变量生成,用于存储上传的音频。如有需要,可点击
编辑变量。 - 高级设置 -自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
文件 | 接收文件 - 问题- 输入问题供用户回答。
- 格式* - 选择可上传的文件格式。
- 区块名称* -添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称将作为变量生成,用于存储上传的文件。如有需要,可点击
编辑变量。 - 高级设置 -自定义区块设置。
- 切换 "跳过区块 "为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
滑块 | 允许用户在一定范围内选择一个值。 - 问题-输入问题供用户回答。
- 最小/最大值* - 输入滑块范围的最小值和最大值。
- 默认值* - 输入滑块默认选择的值。
- 左标签 - 为滑块上的最小值指定一个标签。
- 右标签 - 为滑块上的最大值指定一个标签。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称作为变量生成,用于存储用户选择的值。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块 "为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
电子邮件 | 收集电子邮件地址。 - 问题 - 输入问题供用户回答。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* -区块名称作为变量生成,用于存储电子邮件地址。如有需要,请点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
URL | 收集web URL地址。 - 问题 -输入问题供用户回答。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* -区块名称将作为变量生成,用于存储所提供的 URL。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
货币 | 接收与付款相关的详细信息。 - 问题- 输入问题供用户回答。
- 货币- 选择用于支付的货币。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* - 区块名称将作为变量生成,用于存储付款值。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
日历 | 允许用户选择日期/时间。 - 问题- 输入问题供用户回答。
- 格式- 选择用户从日历中选择的格式: 日期或日期和时间。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* -区块名称作为变量生成,用于存储日期/日期和时间。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
数值 | 收集数值。 - 问题- 输入问题供用户回答。
- 数值格式 - 选择用户输入的是整数还是小数。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* -区块名称作为变量生成,用于存储数值。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
* 必填字段
选择块: 显示一系列选项,让用户选择一个或多个回复。
区块 | 目的 |
按钮 | 允许用户从显示为按钮的预定义选项中选择一个或多个选项。 - 按钮类型 - 确定要显示的按钮类型。
- 问题 - 输入问题供用户回答。
- 按钮选择类型 - 选择是让用户选择单个还是多个选项。
- 按钮列表* - 选择 "添加按钮 "并定义要列为选项的值。分别点击
或 ,即可删除按钮或对按钮进行排序。 - 创建路径 - 打开该选项可为每个按钮指定唯一路径。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* - 程序块名称将作为变量生成,用于存储所选值。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块 "为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
动态按钮 | 允许用户从显示为按钮的动态获取选项中选择一个或多个选项。 在对话中添加一个 webhook 块,在添加动态按钮之前获取动态选项。 - 按钮类型 - 确定要显示的按钮类型。
- 问题 - 输入问题供用户回答。
- 按钮选择类型 - 选择是让用户选择单个还是多个选项。
- 变量* - 输入之前在对话中添加的 Webhook 响应。Webhook 响应包含动态获取选项的数组变量。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* - 程序块名称将作为变量生成,用于存储所选值。如有需要,可点击
编辑变量。 - 错误信息 - 输入通过变量获取选项时返回空值时要显示的错误信息。
- 高级设置 - 自定义区块设置。
- 切换 "跳过区块 "为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。

|
选择卡 | 允许用户从以卡片形式显示的预定义选项中选择一个或多个选项。 - 卡片类型 - 确定要显示的卡片类型。
- 问题 - 输入供用户回答的问题。
- 按钮选择类型 - 选择您希望用户选择单个还是多个选项。
- 卡片列表* -输入卡片名称。点击卡片字段并定义显示的信息,如下所述。点击添加卡片字段可添加文本或按钮。
卡片字段 | 描述 | 图像 | 点击 "添加卡片 "创建多选卡。 | 标题 | 副标题 | 描述 | 文本 | 按钮 |
点击保存,您可以点击 以复制卡片。 - 创建路径 - 打开该选项可为每个按钮指定唯一路径。
- 区块名称* - 添加一个唯一的名称来标识区块。
- 区块变量* - 程序块名称将作为变量生成,用于存储所选值。如有需要,可点击
编辑变量。 - 高级设置 - 自定义区块设置。
- 切换 "跳过区块"为打开,允许用户跳过问题。
- 切换 "结束区块 "为打开,以便在用户回复区块后结束对话。
 
|
* 必填字段
点击保存,您也可以在保存前预览区块。
操作区块:
操作块用于根据用户的询问或回复执行操作。
区块 | 目的 |
跳过 | 通过跳过对话块或跳过对话继续其他对话来浏览对话。您可以从以下位置跳转对话 - 同一对话中的一个区块对另一个区块。
- 不同对话中的一个区块对另一个区块。
区块名称* | 添加一个唯一的名称来标识区块。 | 跳转至流程 | 选择是在当前对话中跳转还是跳转到其他对话。 | 跳转到区块 | 选择要跳转到的区块。 如果要跳转到另一个对话块,请指定以下内容: - 输入变量映射* - 将当前对话中的块变量、对话变量或本地变量与目标对话中的变量进行映射。
只有在目标对话的目标代码块之前创建的变量才会在用户界面中列出,以便进行映射。 - 输出变量映射* - 将目标对话中的块变量和局部变量与当前对话中的变量进行映射。如果当前对话中不存在相关变量,请在文本框中输入名称,以立即创建并映射一个变量。
点击 "添加映射 "可映射多个输出变量。 | 错误信息 | 输入跳转失败时显示的错误信息。 |

|
分叉 | 根据用户的反应将对话分成多个路径。 区块名称* | 添加一个唯一的名称来标识区块。 | 路径列表 | 配置路径和执行每个路径的标准。 - 输入路径名称。
- 通过选择变量、操作和值来定义路径标准。
- 点击
可使用 AND/OR 逻辑运算符添加多个条件。您可以使用下拉菜单或编辑公式修改逻辑运算。
点击添加路径配置多个路径,并为每个路径定义标准。 | 其他路径 | 将此选项切换为打开,可在不满足已配置路径中的标准时配置默认路径。 | 错误信息 | 输入未执行任何配置路径时显示的错误信息。 只有在未启用其他路径时才能设置错误信息。 |

|
操作 | 定义执行基本算术运算的公式。 表现* | 使用基本运算按钮输入要执行的公式,您也可以点击 删除公式。 点击 下拉菜单插入变量。这样,Zia 就可以使用用户提供的数字输入进行计算。 | 错误信息 | 输入表达式执行失败时显示的错误信息。 | 区块名称* | 添加一个唯一的名称来标识区块。 | 区块变量* | 程序块名称将作为变量生成,用于存储用户提供的输入值。如有需要,可点击 编辑变量。 |

|
Webhook | 向外部应用程序发出 webhook 调用。 区块名称* | 添加一个唯一的名称来标识区块。 | 方法 |
- GET - 允许您通知任何外部应用程序有关 ServiceDesk Plus Cloud 中的数据修改。
- PATCH - 在外部应用程序上创建、更新或删除特定数据。
- POST - 在外部应用程序上创建特定数据。
- PUT - 创建和更新外部应用程序上的特定数据。
- DELETE - 删除外部应用程序中的任何指定数据。
| URL* | 输入 URL 以进行 webhook 调用。您可以键入 @ 来选择包含 URL 的变量。 | 查询参数 | 从外部应用程序网页复制 "检查元素">"网络">"有效载荷 "下的查询字符串参数。 | 标题 | 将身份验证类型设置为 ServiceDesk Plus Cloud。 | 连接 | 选择一个连接,将对话与第三方 API 集成。 | 格式化 | 使用 Deluge 格式化作为 webhook API 响应获取的详细信息。您可以为格式化数据提供key。 | 响应 | 通过 Webhook API 获得的响应可以存储为流量变量。这样,用户就可以在对话中调用特定数据。 - 提供来自 API 的输出响应代码作为状态代码。状态代码存储为一个块变量。
- 在webhook API 页面上,转到 "检查元素">"网络"。
- 从 "状态 "栏复制webhook状态,并将其作为状态代码。
- 配置流程变量,以存储来自 API 调用的输出响应值。
- 提供流量变量名称。
- 指定从格式化器或通过 webhook API 获取的数据的键名。
- 选择变量类型。
- 选择存储在流量变量中的数据类型。
| 多路径 | 如果在响应值中设置为状态代码的 API 响应失败,则为对话流指定备用路径。 | 错误信息 | 输入 webhook 调用失败时显示的错误信息。 |

|
* 必填字段
点击保存。保存前可以预览区块。
当用户首次尝试访问通过Webhook模块获取的信息时,需要对相关连接进行授权。
在 Zia 聊天机器人中点击授权,然后在弹出的窗口中点击接受。
路径
决定对话流方向的每条轨道都称为路径。
路径会在添加区块时自动添加。根据添加的区块,您可以建立多条路径。这样,Zia 就能根据用户选择的回复来转移对话。

变量
变量是数据占位符,用于在程序块中存储输入或输出数据。
对话生成器包含以下类型的变量: 区块变量、本地变量和对话变量。
区块变量
块变量用于存储用户输入值。它们会根据程序块名称自动填充,但也可根据需要进行编辑。
区块变量可以整合到其他区块中,以添加上下文信息或执行与区块相关的操作。下面的截图解释了如何使用块变量来个性化对话:

区块变量可以整合到文本、操作符、Webhook、动态按钮和动态选择卡区块中。
默认情况下,块变量只能在其创建的对话中本地访问。不过,通过使用跳转节点,块变量可以在链接的对话中全局使用。
本地变量
本地变量用于存储对话中常见的详细信息,如登录用户名或电子邮件地址。创建本地变量的方法如下:
- 点击对话生成器左侧的
。 - 选择变量类型为本地变量。
- 点击添加本地变量。
- 为变量输入唯一名称。
- 选择可存储在变量中的数据类型。
- 为变量定义值。对于字符串类型,可以点击
将动态数据插入变量。 - 如果需要,添加说明来解释变量的用途。
- 点击保存。
本地变量只能在创建它们的对话中进行访问和整合。

会议变量
会议变量存储应用程序的通用数据,如服务器 URL 或应用程序名称。会议变量默认配置在应用程序中。您无法创建或修改它们。
会议变量包含在所有混合对话的 webhook 块中。
此外,对话生成器还包含Webhook专用的数组变量和流程变量。
区块/路径操作
在对话创建器中,点击一个区块即可:
- 编辑区块详情。
- 复制区块或路径。要将复制的区块或路径添加到对话中,请点击
。复制的剪贴板项目将列在右侧面板上。 - 将某个区块设置为结束区块,以停止对话流。只有路径中的最后一个区块才能设置为结束区块。
- 从对话中删除一个区块。
- 删除路径和路径中所有连续的区块。

将鼠标悬停在路径上并点击
即可在对话之间添加区块。
对话生成器操作
您可以在对话创建器的左上角执行以下操作:
- 取消/重做- 分别点击
或
即可撤销或重复之前在区块中的操作。
- 添加变量- 点击
以配置本地变量。
- 输入全屏 - 点击
仅查看对话生成器。 - 折叠路径 - 点击
可在处理大量对话时查看较少的路径。如有需要,您可以展开折叠路径。 - 重定位 - 点击
可将生成器画布重新定位到对话的中心。 - 放大/缩小 - 点击
或
以大/小比例查看对话。

在对话创建器标题上,您可以执行以下操作:
- 搜索 - 搜索对话中的区块或变量。如果路径已折叠,则可以执行搜索操作。
- 预览 - 深入了解对话的执行情况。预览窗格同时显示代理视图和客户视图。
- 查看日志 - 跟踪对话中执行的所有操作。
- 保存 - 保存对话草稿。
- 帮助 - 访问资源,了解对话生成器及其元素。您可以启用 "悬停时显示区块工具提示 "选项,以便在右侧窗格中悬停时了解各种区块的用法。
发布对话
保存混合对话后,点击右上角的发布。刷新页面,将已发布的对话整合到 Zia Chatbot 中。
