Skip to content

工作流节点说明

节点概述

工作流通过不同类型的节点完成业务编排。每个节点都有自己的输入、输出和配置项。设计工作流时,应先明确每个节点负责什么,再通过变量和连线把节点串联起来。

开始节点

开始节点是工作流入口,用于定义外部传入参数。

主要用途

  • 定义智能体插件调用工作流时需要提供的输入
  • 定义试运行时需要手动填写的参数
  • 把外部参数转换为后续节点可引用的输出变量

配置项

  • 名称:节点名称
  • 描述:说明入口参数用途
  • 输入:外部传入字段

开始节点的输入会自动同步为输出,因此后续节点可以直接引用开始节点输入。

示例

如果工作流需要根据通话记录查询信息,可以在开始节点中新增:

  • 字段名:CALL_RECORD_ID
  • 类型:Integer 或 Number
  • 描述:当前通话记录 ID

结束节点

结束节点用于结束当前工作流,并定义最终输出结果。

主要用途

  • 汇总工作流最终结果
  • 作为智能体插件的返回字段
  • 在试运行中查看最终输出

配置项

  • 名称:节点名称
  • 描述:说明结束节点用途
  • 输入:需要作为最终结果输出的字段

结束节点的输入会同步为输出。作为智能体插件使用时,结束节点字段会展示为插件输出字段。

选择器节点

选择器节点用于根据变量条件进入不同分支。

主要用途

  • 根据意向等级判断后续动作
  • 根据通话时长、客户状态、字段值等条件分流
  • 为未命中条件提供否则分支

条件配置

每个条件包含:

  • 变量:选择要判断的上游变量
  • 操作符:等于、不等于、大于、小于、包含、不包含
  • :手动输入比较值,或选择另一个变量

选择器会从上到下判断条件。当前面条件都不满足时,会进入「否则」分支。

注意事项

  1. 至少保留一个条件分支。
  2. 必须保留一个否则分支。
  3. 条件右侧的分支出口需要连接到目标节点。
  4. 数值类型变量只能使用数值相关操作符。

JS 转换节点

JS 转换节点用于处理输入数据并输出新字段。

主要用途

  • 从对象或数组中提取字段
  • 对字段做格式转换
  • 合并多个输入变量
  • 输出智能体更容易理解的结构化结果

配置项

  • 输入:脚本可使用的参数
  • 超时:脚本执行超时时间,单位毫秒
  • 脚本:处理逻辑
  • 输出:脚本返回的字段

脚本需要定义 main(args) 函数,并返回一个对象。返回对象中的字段应与节点输出字段保持一致。

js
function main(args) {
    var params = args.params || {};
    var analysis = params.analysisInfo || {};

    return {
        purposeLevel: analysis.purposeLevel || "",
        summary: analysis.summary || ""
    };
}

注意事项

  1. 输出字段需要在节点「输出」中预先定义。
  2. 脚本应保持简洁,避免复杂耗时计算。
  3. 如果脚本依赖对象字段,需要先在试运行中确认输入结构。

数据查询节点

数据查询节点用于读取平台业务数据。目前常用查询类型为「话单查询」。

主要用途

  • 根据话单 ID 查询通话记录
  • 获取通话时间、主叫、被叫、通话时长等基础字段
  • 获取意向等级、通话分析结果、聊天历史等分析字段

配置项

  • 查询类型:选择要查询的数据类型
  • 输入:查询所需参数,例如话单 ID
  • 输出:系统根据查询类型自动生成输出字段

选择查询类型后,系统会自动更新输入和输出字段。

常见输出字段

话单查询可能输出:

  • 通话 ID
  • 通话 UUID
  • 主叫号码
  • 被叫号码
  • 通话开始时间
  • 通话结束时间
  • 通话时长
  • 通话类型
  • 意向等级
  • 通话分析结果
  • 聊天历史记录
  • Token 消耗相关字段

实际字段以当前平台页面展示为准。

话单推送节点

话单推送节点用于将当前工作流数据推送到外部 HTTP 接口。

主要用途

  • 推送线索到 CRM
  • 推送通话结果到业务系统
  • 推送结构化字段到第三方接口

配置项

  • 请求 URL:外部接口地址,可手动填写或引用变量
  • 请求头:Header 名称和值
  • 鉴权:可配置无、API Key、Basic Auth、Bearer Token;是否生效以当前平台版本为准
  • 请求体:以 Key-Value 方式配置需要发送的字段
  • 超时时间:请求超时秒数
  • 重试次数:请求失败后的重试次数
  • 忽略异常:失败时是否继续向下执行

输出字段

  • responseStatusCode:响应状态码
  • responseBody:响应体
  • responseHeaders:响应头
  • responseTime:响应时间
  • pushResult:推送结果

第三方推送节点

第三方推送节点用于向第三方渠道发送消息,目前支持企业微信群机器人。

主要用途

  • 将高意向客户通知到企业微信群
  • 推送通话摘要和关键字段
  • 推送工作流处理结果

配置项

  • 渠道:企业微信群机器人
  • Webhook:企业微信群机器人的 Webhook 地址
  • 消息类型:文本或 Markdown
  • 消息模板:要发送的消息内容
  • 输入:模板中需要使用的变量
  • 超时:推送超时时间
  • 重试:失败重试次数
  • 忽略异常:失败时是否继续执行默认分支

消息模板可以引用输入变量。例如输入变量名为 customer,模板中可以引用该变量的字段。

输出字段

  • responseStatusCode:响应状态码
  • responseBody:响应体
  • responseTime:响应时间
  • pushResult:推送结果
  • providerCode:渠道业务码
  • providerMessage:渠道业务消息
  • resolvedContent:最终推送正文

节点配置建议

  1. 开始节点只定义外部输入:不要把中间处理字段都放在开始节点。
  2. 结束节点只保留最终结果:作为插件返回时,输出字段越清晰越好。
  3. 选择器条件写简单:复杂判断可以先用 JS 转换节点生成一个明确字段,再用选择器判断。
  4. 推送节点先测试后上线:建议先使用测试接口或测试群机器人验证。
  5. 变量描述要写完整:描述越清楚,后续配置和智能体调用越稳定。