交互节点:自定义
快速阅读
本文用于统一说明呼叫中心 IVR 交互节点中的“自定义节点”产品口径。自定义节点也可理解为脚本节点,用于在 IVR 流程中引用已维护的脚本或扩展逻辑,完成复杂变量处理、条件判断、外部协同和流程扩展。
本文的核心结论是:
- 自定义节点适合承载比普通判断、变量、HTTP交互更复杂的流程逻辑。
- 自定义节点不等于任意代码无限制执行,应由已维护、已发布、已验收的脚本或扩展逻辑承接。
- 自定义节点通常需要配置输入变量、输出变量、超时时间、成功路径、失败路径和版本口径。
- 自定义节点输出的变量只有按配置进入话单、推送或导出后,才适合长期查询和对账。
- 上线自定义节点时,必须重点验证脚本版本、入参、出参、超时、异常兜底和影响范围。
阅读地图
- 如果只想理解自定义节点是什么,重点阅读“二、产品总览”和“三、核心概念”。
- 如果要配置脚本或扩展逻辑,重点阅读“六、产品功能说明”。
- 如果要做上线验收和风险控制,重点阅读“八、上线准备与运营建议”和“附录 C:实施检查清单”。
- 如果要区分自定义节点和 HTTP交互、变量节点、判断节点,重点阅读“九、与周边能力的关系”。
一、文档说明
1.1 文档目的
标准 IVR 节点可以完成播放、按键、收号、时间、地区、判断、队列等常见流程。但有些客户场景需要更复杂的逻辑,例如多条件组合、变量加工、业务状态转换、脚本化判断、复杂外部系统结果处理等。
自定义节点用于承接这类标准节点不容易表达的扩展逻辑。
如果自定义节点配置不清,容易出现:
- 脚本未发布或版本不一致。
- 输入变量为空,执行结果异常。
- 输出变量没有被后续节点正确读取。
- 执行超时导致客户长时间等待。
- 异常失败后没有兜底路径。
- 修改脚本影响多个 IVR 流程。
本文用于建立自定义节点统一说明,支撑复杂 IVR 逻辑设计、脚本引用、变量处理、上线验收和风险控制。
1.2 适用对象
- 客户业务负责人:用于确认哪些复杂规则需要脚本化处理。
- 运营管理人员:用于分析自定义逻辑对客户路径和转人工的影响。
- 实施顾问:用于配置脚本、入参、出参、超时和失败路径。
- 产品经理:用于统一自定义节点与标准节点、HTTP交互、变量和话单的口径。
- 技术负责人:用于理解扩展逻辑、版本、异常和排障边界。
1.3 文档范围
本文覆盖 IVR 自定义节点的产品说明,包括脚本引用、输入变量、输出变量、同步/异步口径、超时、成功路径、失败路径、变量沉淀、上线验收和常见问题。
本文不展开脚本底层运行机制、代码实现和内部实现细节。具体脚本能力、版本管理和配置项以实际系统版本为准。
二、产品总览
2.1 什么是自定义节点
自定义节点是 IVR 中用于引用脚本或扩展逻辑的交互节点。它可以读取当前通话上下文,执行一段预设逻辑,并将结果写回变量或决定后续路径。
人话总结:
自定义节点就是“让 IVR 调用一段已配置好的业务逻辑,再根据结果继续走”的节点。
2.2 自定义节点解决什么问题
自定义节点适合:
- 多条件业务判断。
- 变量加工和转换。
- 查询结果格式处理。
- 复杂客户标签计算。
- 机器人转人工前上下文处理。
- 多系统结果归并。
- 标准节点难以表达的流程扩展。
2.3 自定义节点不是什么
| 容易混淆对象 | 区别 |
|---|---|
| HTTP交互节点 | HTTP交互调用外部服务;自定义节点承载脚本或扩展逻辑。 |
| 变量节点 | 变量节点写入简单变量;自定义节点可处理复杂变量逻辑。 |
| 判断节点 | 判断节点做真假分支;自定义节点可先计算结果再分支。 |
| 任意代码执行 | 自定义节点应受脚本管理、版本、超时和权限控制。 |
2.4 核心价值
| 价值 | 说明 |
|---|---|
| 扩展能力 | 支撑标准节点难以表达的复杂逻辑。 |
| 变量加工 | 对输入变量做转换、拼接、校验或计算。 |
| 流程复用 | 通过脚本复用同类业务规则。 |
| 降低画布复杂度 | 避免大量判断节点串联。 |
| 可控上线 | 通过版本和验收控制风险。 |
三、核心概念
3.1 脚本
脚本是预先维护的业务逻辑。自定义节点通常引用已发布脚本,而不是在节点中临时编写复杂逻辑。
3.2 输入变量
输入变量是脚本执行前读取的上下文,例如客户号码、订单号、客户标签、机器人意图等。
3.3 输出变量
输出变量是脚本执行后写回的结果,例如处理状态、分流结果、提示文本、转人工原因等。
3.4 超时时间
超时时间用于控制自定义逻辑最长执行时间。超时后应进入失败路径或兜底路径。
3.5 成功路径
成功路径是脚本或扩展逻辑正常执行后的下一节点。
3.6 失败路径
失败路径是脚本异常、超时、输入不合法或执行失败后的下一节点。
3.7 版本口径
版本口径用于确认当前 IVR 引用的是哪一版脚本。修改脚本可能影响多个流程,应有变更记录和回滚方案。
四、对象关系与主流程
4.1 标准自定义节点流程
客户进入自定义节点
↓
读取输入变量和通话上下文
↓
执行已配置脚本或扩展逻辑
├─ 执行成功:写入输出变量并进入成功路径
├─ 执行失败:进入失败路径
└─ 执行超时:进入超时或失败路径4.2 与变量的关系
自定义节点既可以读取变量,也可以生成变量。
常见变量来源:
- 内置变量。
- 自定义变量。
- 缓存变量。
- 收号结果。
- HTTP交互返回结果。
- 机器人意图或摘要。
4.3 与记录和沉淀的关系
自定义节点执行结果不自动进入话单。若客户需要事后查询脚本结果,应配置输出变量进入主话单、从话单、推送日志、记录扩展字段或导出结果。
五、能力地图
| 能力层 | 能力 | 说明 |
|---|---|---|
| 脚本层 | 脚本选择、版本、发布 | 提供可执行逻辑。 |
| 输入层 | 内置变量、自定义变量、缓存变量 | 提供入参。 |
| 输出层 | 输出变量、状态、分流结果 | 提供后续节点输入。 |
| 控制层 | 超时、成功路径、失败路径 | 控制流程稳定性。 |
| 沉淀层 | 话单、推送、导出、记录 | 按需保留结果。 |
| 治理层 | 权限、版本、变更、回滚 | 控制风险。 |
六、产品功能说明
6.1 脚本选择
自定义节点应引用已维护、已发布、已验收的脚本或扩展逻辑。
建议:
- 脚本名称清晰。
- 业务用途明确。
- 版本可追溯。
- 不直接引用测试脚本上线。
6.2 输入变量配置
输入变量应提前生成并可读取。
建议:
- 明确每个输入变量来源。
- 变量为空时有处理策略。
- 敏感变量不直接输出或播报。
6.3 输出变量配置
输出变量应服务于后续节点。
常见用途:
- 判断节点读取。
- 逻辑选择节点分流。
- TTS 播报。
- 弹屏展示。
- 推送回传。
- 记录沉淀。
6.4 成功路径
成功路径应进入符合业务预期的节点,例如播放结果、判断、队列、机器人或结束。
6.5 失败路径
失败路径必须配置。
常见方式:
- 播放失败提示。
- 转人工。
- 留言。
- 返回上级。
- 结束流程。
6.6 超时控制
自定义逻辑不应长时间阻塞 IVR。
建议:
- 设置合理超时。
- 外部依赖慢时转人工。
- 超时后有明确提示。
6.7 版本与变更
自定义节点引用的脚本若被修改,可能影响多个 IVR 流程。
建议:
- 变更前确认引用范围。
- 保留回滚版本。
- 上线前完成拨测。
- 核心流程避开高峰修改。
七、典型业务场景
7.1 复杂客户标签计算
脚本根据客户号码、历史标签、业务变量计算客户分层,输出客户类型供后续分流。
7.2 查询结果加工
HTTP交互返回复杂结果后,自定义节点整理为适合 IVR 判断或 TTS 播报的变量。
7.3 机器人转人工上下文处理
机器人生成会话摘要后,自定义节点加工成座席可读摘要,并写入转人工变量。
7.4 多条件分流前处理
自定义节点先计算业务状态,再交给逻辑选择节点按状态分流。
八、上线准备与运营建议
8.1 上线前确认事项
- 脚本用途是否明确。
- 脚本版本是否已发布。
- 输入变量是否已生成。
- 输出变量是否被后续节点使用。
- 超时时间是否合理。
- 成功和失败路径是否完整。
- 是否需要沉淀输出结果。
- 修改脚本是否影响其它 IVR。
8.2 运营建议
- 不把所有复杂逻辑都堆到一个脚本。
- 对关键脚本保留说明和负责人。
- 定期检查脚本失败率。
- 对高频异常增加兜底或拆分逻辑。
8.3 验收建议
验收应覆盖:
- 输入正常。
- 输入为空。
- 脚本成功。
- 脚本失败。
- 脚本超时。
- 输出变量被后续节点读取。
- 输出结果按需沉淀。
九、与周边能力的关系
9.1 与 HTTP交互节点的关系
HTTP交互节点适合固定外部请求;自定义节点适合复杂逻辑加工和流程扩展。
9.2 与变量节点的关系
变量节点适合简单写值;自定义节点适合复杂变量处理。
9.3 与判断节点的关系
自定义节点可先计算结果,再由判断节点判断是否命中。
9.4 与逻辑选择节点的关系
自定义节点可输出枚举结果,逻辑选择节点按结果多路分流。
9.5 与话单和推送的关系
脚本输出不自动进入话单或推送。需要长期追溯时,应配置沉淀字段或推送字段。
十、FAQ
10.1 自定义节点和脚本节点是什么关系?
客户版可近似理解为同一类能力:通过预设脚本或扩展逻辑处理复杂流程。
10.2 自定义节点能否执行任意逻辑?
不应这样理解。它应受脚本管理、权限、版本、超时和验收约束。
10.3 脚本输出为什么后续节点读不到?
可能是输出变量名不一致、脚本失败、流程未经过该节点或变量为空。
10.4 脚本结果是否会进入话单?
不一定。需要配置记录字段或推送字段。
10.5 修改脚本会影响哪些流程?
可能影响所有引用该脚本的 IVR 流程。修改前应确认引用范围。
十一、总结
自定义节点是 IVR 中用于复杂流程扩展的交互节点。它适合处理标准节点难以表达的变量加工、复杂判断和业务扩展。使用时应重点关注脚本版本、输入输出、超时、失败兜底和沉淀边界。
附录 A:入口与权限
| 入口 | 说明 |
|---|---|
| IVR 流程画布 | 配置自定义节点。 |
| 脚本管理 | 维护和发布脚本。 |
| 变量配置 | 定义输入和输出变量。 |
| 通话记录 | 查看流程路径和结果。 |
附录 B:关键字段口径
| 字段 | 说明 |
|---|---|
| 脚本名称 | 被引用的脚本。 |
| 输入变量 | 脚本读取的变量。 |
| 输出变量 | 脚本写出的变量。 |
| 超时时间 | 等待脚本执行的时间。 |
| 成功路径 | 执行成功后的下一节点。 |
| 失败路径 | 执行失败后的下一节点。 |
附录 C:实施检查清单
| 检查项 | 检查内容 |
|---|---|
| 脚本发布 | 引用脚本已发布。 |
| 入参验证 | 输入变量存在且格式正确。 |
| 出参验证 | 输出变量能被后续节点读取。 |
| 超时兜底 | 超时后有失败路径。 |
| 版本确认 | 脚本版本和引用范围已确认。 |
| 沉淀验证 | 需要追溯的结果已配置沉淀。 |
附录 D:常见问题速查
| 问题 | 可能原因 | 建议处理 |
|---|---|---|
| 节点执行失败 | 脚本异常或入参为空 | 检查脚本和变量。 |
| 后续读不到结果 | 输出变量名不一致 | 统一变量名。 |
| 流程等待过久 | 脚本超时或外部依赖慢 | 调整超时和兜底。 |
| 修改后影响其它流程 | 多个 IVR 引用同一脚本 | 变更前确认引用范围。 |
附录 E:术语表
| 术语 | 说明 |
|---|---|
| 自定义节点 | 引用脚本或扩展逻辑的 IVR 节点。 |
| 脚本 | 可复用的业务处理逻辑。 |
| 输入变量 | 脚本执行前读取的变量。 |
| 输出变量 | 脚本执行后写出的变量。 |
| 版本口径 | 当前节点引用的脚本版本说明。 |