Skip to Content
行为配置行为流行为流

行为流

Zion 平台的行为流为用户提供了流程化操作编排和多种触发方式的工具,最终产出为自定义“行为”,类似于市面上的工作流编辑、自动化流程产品。

免费版用户仅支持配置 1 个行为流,高级版及以上用户可配置无限个行为流。

适用场景

适用于需要执行复杂数据处理和业务逻辑的自动化场景。

  • 商城应用:如用户购买金额超 1 万元时自动升级为金卡会员。
  • 定时任务:如每日检查所有未支付订单并发送通知。
  • 支付:如收到支付成功信息后自动执行后续业务逻辑。

行为流的组成

基础属性

  • ID:每个行为流有唯一 ID,可在日志功能中查询。详见 日志服务
  • 版本:每次变更并保存行为流都会生成新版本。
    • 更新预览:前端和后端同时更新到最新的版本
    • 同步变更:仅将后端变更同步到最新版本
    ⚠️

    如果只同步后端,而前端仍在调用旧版本的行为流,会导致不符合预期的情况。

  • 执行方式:支持同步和异步两种执行方式(指行为流本身,不是节点)。
    • 同步:调用后会等待执行结果。同步行为流具备 ACID 特性:
      • 原子性:整个行为流被视为一个不可分割的最小单元,对数据库数据的修改要么全部成功,要么全部失败。不会出现只修改了部分数据的情况。大大增加了数据的可靠性。
      • 一致性:保证数据库数据始终处于合法的状态,不会出现脏数据。
      • 隔离性:行为流之间不会互相干扰,避免因数据争抢导致的混乱和错误,让结果更加可控和可预测。
      • 持久性:一旦行为流执行完成,对数据库的修改就会永久生效,保证数据安全。
    • 异步:先调用,后监听结果。 如果通过 webhook 方式触发异步行为流,需用 fz_listen_action_flow_result 订阅接口监听结果:
      subscription listenResult { fz_listen_action_flow_result(taskId: "_____") { output status } }
    • 同步和异步的详细对比
      同步异步
      超时时长整个行为流 15 秒(付费项目无限制)每个节点 15 秒(付费项目无限制)
      超时/出错处理所有数据库的数据修改都会被回滚错误节点上的数据库的数据更改会被回滚

行为流首页示意图

行为流变量

定义后可被行为流内所有节点引用,也可用“赋值行为流变量”节点赋值。

节点

目前已支持数据库操作、执行 AI、权限修改、API 调用、执行代码块等多类型节点。

  • 数据库:可以选择一张表进行数据的查询、插入、修改和删除
  • 调用 API:可以选择执行一个已经在API功能上配置的api,可以将api的返回结果绑定在出参上,即可在行为流上输出该api的执行结果
  • 运行 AI:执行配置好的 Agent
  • 运行行为流:调用一个行为流,同步行为流无法调用异步行为流
  • 设置变量:可以对已经声明的行为流变量进行赋值(在行为流基本信息中声明)
  • 帐户:获取当前用户 id,微信 Union ID、Open ID、Access token
  • 权限:可以对某些帐户进行角色授权和移除
  • 运行代码:可以执行自定义的代码块,具体教程见 代码块
  • 条件:用以增加逻辑判断的分支流程,执行顺序为从左到右依次判断。配合行为流变量可以输出整个分支最后的结果
  • 循环:用于遍历列表中的每个元素,并对每个元素执行指定操作。循环的运行过程如下:
    1. 输入: 此节点接收一个列表作为数据源。
    2. 执行: 它会从列表的第一项开始,执行循环内部的所有动作。完成后,它会自动处理第二个项,并重复此过程,直到列表中的所有项都被处理完毕。
    3. 输出: 在每次循环中,都可以使用“项数据 (item)”作为内部节点的输入。

    如需循环指定次数,可用 SEQUENCE 公式生成相应长度的数组,并将其作为循环数据源。

触发方式

支持配置自动化触发器来触发行为流,也可以在组件或者页面右边栏上,添加”请求-行为流-“ 行为即可通过前端页面组件点击事件触发该行为流。

  • 定时触发:设置周期性执行(支持 Cron 表达式)。
  • 数据库变更触发详情
  • Webhook 触发:通过 Webhook 触发(需要配置回调体)。
💡
  1. 自动化执行次数需要付费购买,Zion会给不同版本的项目赠送不同的自动化执行次数。当次数用完后需要重新购买,购买方式:个人中心-项目-管理-自动化执行次数。
  2. 节点配置完成并保存、发布后,才可以配置触发器。

使用教程

整体流程为:创建并配置行为流节点内容、配置触发器、配置权限、前端调用/自动化执行行为流。

配置行为流

  • 点击行为流上的创建按钮,即可新增一个行为流。
  • 配置行为流指的是按照业务逻辑行为节点操作的编排,除几大类型节点外,还支持配置分支,用以处理逻辑分叉。
  • 每一个行为流也可以通过设置入参来接受外部的数据,配置出参来向外部输出该行为流执行结果。
  • 行为流执行方式:有同步和异步两种方式,想要执行 AI 节点,必须使用异步的执行方式。
  • 行为流变量:指的是在行为流中声明一个变量,通常在条件分支里用以接受不同分支的过程结果。

配置行为流节点

  1. 入参 可以配置行为流执行时需要传入的数据,该入参可以被行为流所有节点使用

  2. 行为节点:点击“+”号新增节点

  3. 出参 可以配置该行为流对外输出的结果

配置触发器

配置所需要的触发器,触发器可以配置多个,但官方建议一个行为流使用一个触发器,以防混淆。也可以在组件或者页面右边栏上,添加”请求-行为流-“ 行为即可通过前端页面组件点击事件触发该行为流。

配置权限

每一条行为流都可以在设置-权限中设置哪些角色可以使用

行为流权限设置示意图

查看日志

可以在项目详情页-运行日志中查看行为流的运行日志,可以通过上文的行为流进行精确搜索。

注意事项

  1. API 在行为流中被调用,请求超过60s会被直接终止。
  2. 行为流有版本的概念:行为流编辑是不会自动化保存的,必须点击右上角的保存后进行后端部署才会更新线上应用使用的版本,webhook 和定时触发器执行的是最新部署后端的最新版本
  3. 行为流支持的公式较少,具体内容见产品内部
Last updated on