自动化任务设计画布
设计画布定义自动化任务怎么开始、做什么:触发方式、记录范围、执行策略,以及开始节点和结束节点之间的处理节点与分支关系。
打开 自动化任务,在目标任务上点击 打开设计画布。
画布上的内容分成四部分:
| 部分 | 位置 | 负责 |
|---|---|---|
| 顶部操作 | 画布顶部 | 返回、复制、保存、保存并发布,以及当前版本或历史快照 |
| 节点库 | 左侧 | 点击即把节点加进画布 |
| 画布 | 中间 | 节点编排与连线 |
| 配置面板 | 右侧 | 配置选中节点,顶部显示「未保存 / 已保存」状态 |
一、顶部操作
| 操作 | 说明 |
|---|---|
| 返回 | 返回任务列表;有未保存修改时会先确认是否放弃 |
| 当前版本 / 历史快照 | 顶部标签显示正在编辑的版本;查看历史版本时显示「历史快照 vN」 |
| 复制 | 用当前通过校验的画布复制出一个新任务,默认名称为「原名称 - 副本」 |
| 保存 | 把当前画布保存成新的草稿版本 |
| 保存并发布 | 保存并立即发布该版本 |
保存或保存并发布时会先弹出基础信息弹窗,可以修改名称和描述,编码只读。
二、触发方式与记录范围
触发方式
任务有且只有一种启动方式,保存前必须配置完整。
| 触发方式 | 配置项 | 说明 |
|---|---|---|
| 手动 | 是否绑定表单、表单、执行范围、数据范围 | 由任务列表的 立即运行 选一条记录启动 |
| 定时 | 定时模式、表单与范围设置、执行策略 | 按 Cron 表达式或固定间隔自动运行 |
| 数据变化 | 表单、数据操作、监听字段 | 表单记录发生指定操作时启动 |
| 表单按钮 | 表单、自定义按钮、执行重叠策略 | 在查看页、列表页,或查看页的从表/关联表中点击指定按钮时启动 |
表单按钮
按钮触发适合把自动化任务作为表单记录上的明确业务操作,例如“生成合同”“发起同步”或“通知负责人”。
- 先在目标表单的按钮设计中新建并启用自定义按钮。
- 选择按钮位置:查看页-顶部、列表页-行内操作、列表页-批量操作、查看页列表-行内操作 或 查看页列表-批量操作。适用页面由按钮位置决定:查看页位置使用 查看页,列表页位置使用 列表页。
- 回到自动化任务的设计画布,把触发方式设为 表单按钮。
- 依次选择表单和自定义按钮,再配置执行重叠策略。
- 保存并发布任务,并在自动化任务列表中启用任务。
- 在对应位置点击按钮;批量操作需先在列表、从表或关联表中勾选记录。
按钮触发固定绑定所选表单,执行范围由按钮位置决定,不需要另外设置记录筛选条件:
| 按钮位置 | 执行对象 |
|---|---|
| 查看页-顶部 | 查看页当前记录,单条执行 |
| 查看页列表-行内操作 | 查看页列表中按钮所在行的记录,单条执行 |
| 查看页列表-批量操作 | 本次在查看页列表中勾选的记录,启动一次批量执行,并为每条选中记录创建子执行 |
| 列表页-行内操作 | 列表页中按钮所在行的记录,单条执行 |
| 列表页-批量操作 | 本次在列表页中勾选的记录,启动一次批量执行,并为每条选中记录创建子执行;不会处理未勾选的数据 |
查看页列表包括查看页中的从表列表和关联表单列表。该位置的按钮绑定列表对应的表单,自动化中的当前记录也是按钮所在行或本次勾选的列表记录,不是查看页主记录。按钮点击时仍会执行已配置的点击脚本和审批;匹配同一按钮的已启用自动化任务也会分别启动。执行重叠策略仍适用于每次点击。
按钮下拉框只显示已启用、位置与适用页面对应的自定义按钮,并标明位置。按钮被删除、停用或更改位置/适用页面后,已有自动化版本将无法通过资源校验,应重新选择按钮并发布。原来只绑定查看页位置的版本也需重新保存发布,才能按新的位置配置执行。
重复打开触发方式面板时,同一表单的自定义按钮列表会复用已加载的数据。
表单按钮触发会记录实际点击按钮的成员;批量执行的每条子执行沿用同一位点击人。后续节点可使用 变量 → 按钮点击人。将触发方式切换为其他类型时,画布会清除已选择的按钮点击人,其他人员和字段配置保留。
一次按钮点击关联的审批和自动化由后端统一提交。任一选中记录提交校验失败时,本次流程提交整批回滚并返回错误;提交成功后由后台执行,关闭页面不会中断流程。该事务不包含后续流程执行失败或按钮点击脚本的操作,自动化也不会等待审批结束后才开始。
定时模式
| 模式 | 说明 |
|---|---|
| Cron | 填写 Cron 表达式 |
| 固定间隔 | 填写间隔数值并选择单位:秒、分钟、小时、天、周、月、年 |
数据变化
- 选择表单
- 勾选要监听的数据操作:新增、编辑、删除
- 选择监听字段:全部字段,或只监听指定字段的变化
数据变化和表单按钮触发的任务,表单和执行对象来自触发方式本身,不再单独配置记录范围。
记录范围
| 设置 | 说明 |
|---|---|
| 是否绑定表单 | 手动和定时触发时可选;数据变化和表单按钮会自动绑定所选表单;数据处理、人工处理、分支和接收人字段都依赖绑定的表单 |
| 执行范围 | 手动触发可选单条记录或批量记录;定时触发按批量执行;查看页-顶部、列表页-行内操作、查看页列表-行内操作为单条执行;列表页-批量操作和查看页列表-批量操作只针对本次勾选的记录批量执行 |
| 数据范围(批量) | 符合筛选条件的数据 需要配置筛选条件;全部数据 会给出「将对该表单中的全部数据执行任务」的警示 |
| 执行重叠策略 | 运行中则跳过、全部排队、替换当前执行 |
| 错过执行策略 | 跳过,或补执行一次(例如停机期间错过的定时) |
三、节点库
| 节点 | 用途 | 主要配置 |
|---|---|---|
| 开始 | 自动化入口,画布只有一个开始节点 | 无需配置 |
| 数据处理 | 新增、更新或删除表单数据 | 操作类型、目标表单、提交审批、字段赋值 |
| 人工处理 | 由用户办理表单数据后继续 | 办理人、处理对象、目标表单、关联字段、待处理字段、默认值 |
| 智能体执行 | 让指定智能体按任务指令执行并输出结果 | 智能体、执行时机、任务指令 |
| 服务调用 | 调用 Studio 脚本或集成流 | 服务调用方式、脚本或集成流 |
| 消息 | 发送应用消息或群聊消息 | 消息通道、模板、接收人、输入映射 |
| 可视化 | 输出供后续节点使用的报表链接 | 报表或图表 |
| 等待回调 | 等待入站 Webhook 回调后继续 | 入站 Webhook 集成流、关联键、等待超时 |
| 分支 | 根据当前记录条件选择后续路径 | 判断条件、Y/N 两条出口 |
| 结束 | 自动化完成,画布只有一个结束节点 | 无需配置 |
四、节点配置
数据处理节点
- 先在触发方式中绑定表单,再添加数据处理节点
- 选择操作类型:数据新增、数据更新、数据删除
- 数据新增时选择目标表单;数据更新和数据删除作用于当前记录
- 数据新增可选择「新增后提交审批」,数据更新可选择「更新后提交审批」
- 配置字段赋值,然后保存版本
字段赋值支持四种取值来源:指定值、空值、触发源(触发记录字段)、节点输出(选择上游节点并填写输出路径,例如 result.documentId)。
表单按钮触发时,触发源 还可选择 按钮点击人,写入点击成员的 ID。
| 操作类型 | 必填的审计字段 | 可附加的审计字段 |
|---|---|---|
| 数据新增 | 创建人 | 更新人 |
| 数据更新 | 更新人 | 无 |
| 数据删除 | 无 | 无 |
普通表单的创建人/更新人对应系统字段 __system_createdBy、__system_updatedBy;组织、部门、成员这三张内置档案表单对应 so_createdBy、so_updatedBy。必填字段会自动加入,不能删除。
人工处理节点
- 打开 配置人员,选择固定成员、数据字段,或表单按钮触发时在 变量 中选择 按钮点击人
- 选择处理对象:编辑当前数据、创建新数据、编辑关联表单数据、选择已有数据并关联
- 按处理对象补齐目标表单、是否必填、关联字段
- 配置待处理字段(点击左侧字段加入,可标记「处理时必填」)
- 需要时填写创建数据默认值,并选择提交后是否触发表单审批
| 处理对象 | 必填配置 | 说明 |
|---|---|---|
| 编辑当前数据 | 待处理字段 | 在当前记录上办理 |
| 创建新数据 | 目标表单、是否必填 | 办理人创建一条新记录 |
| 编辑关联表单数据 | 目标表单、关联字段、待处理字段 | 通过当前记录的关联字段定位目标数据 |
| 选择已有数据并关联 | 目标表单、关联字段 | 办理人选择已有记录并建立关联 |
执行会在人工处理节点进入「等待人工处理」,办理人提交后继续。
配置人员弹窗没有可选成员字段时,不显示 数据字段 分类。
智能体执行节点
- 选择已启用的智能体(没有可用智能体时先到 Luna 里启用)
- 选择执行时机:成功时、失败时、始终
- 填写任务指令:只描述本次执行要完成和返回的具体任务,不要重复智能体的职责或通用规范
| 执行时机 | 说明 |
|---|---|
| 成功时 | 自动化正常执行后运行 |
| 失败时 | 仅在自动化执行失败后运行,并把失败节点与错误码交给智能体分析 |
| 始终 | 成功与失败都运行 |
服务调用节点
服务调用用于调用 Studio 脚本或集成流;脚本和集成流都必须已发布才能被选中。
- 在 Soln Studio 或 OpenLink 中准备并发布脚本或集成流
- 添加服务调用节点,选择服务调用方式(Studio 脚本或集成流)
- 选择脚本(含入口文件)或选择已发布的集成流
- 对照执行载荷预览确认脚本读取的字段 API 名称
- 连接一条入口和一条出口,保存并发布
被调用目标收到什么
节点会把 soln.runtime-context/v1 上下文交给脚本或集成流,配置面板里可以复制当前流程的预览。
| 字段 | 用途 |
|---|---|
source.type | 固定为 automation |
source.definitionId、source.executionId、source.nodeKey | 自动化定义、本次执行和当前节点 |
source.trigger | 触发方式快照(手动、定时、数据变化或表单按钮及其配置) |
source.trigger.buttonClickerId | 表单按钮触发时,点击按钮的成员 ID |
source.steps | 已执行节点的步骤输出 |
form、record | 表单信息与当前记录快照(字段值在 record.data 中) |
result | 上游节点结果 |
runtime.traceId | 本次节点执行的追踪 ID,可作为外部请求的幂等键 |
后续节点也可以通过输入映射读取来源类型、来源定义或执行 ID、来源节点 Key、上游结果、运行语言与时区、表单 ID/API 名称/名称,以及失败错误码与失败信息。
消息节点
| 设置 | 说明 |
|---|---|
| 消息通道 | 应用消息或群聊 |
| 应用通道 | 选择应用消息时必填,使用所选应用的消息通道 |
| 消息模板 | 必填,模板决定消息内容与可用的输入变量 |
| 接收人 | 固定接收人、关联表单中的成员字段,或表单按钮触发时的 变量 → 按钮点击人;使用数据字段前必须先绑定表单 |
| 按接收人分组发送 | 仅支持绑定表单的批量任务,并且必须选择接收人字段 |
| 群聊 | 选择群聊时必填发送智能体和目标群聊;智能体没有加入任何群聊时无法选择 |
| 输入映射 | 把上下文路径或固定值映射到模板声明的输入变量 |
接收人的 配置人员 弹窗没有可选成员字段时会隐藏 数据字段;输入映射可选 source.trigger.buttonClickerId。
可视化节点
- 选择已保存的报表或图表
- 保存并发布版本
- 将输出连接到后续智能体执行或消息节点
节点输出报表链接,包含 kind: analysis_report_link、chartId、path 和 Markdown text。此节点只选择报表,消息通道与接收人在后续消息节点配置。
需要自动分析并发送到群聊时,配置 可视化 → 智能体执行 → 消息(群聊)。在智能体执行节点填写分析指令,并为对应智能体启用 system.analysis.chart.query。查询按已保存的字段、筛选及聚合读取当前数据;结果有截断时,分析需要说明限制。消息节点负责发送分析文本及报表链接,查看链接仍需报表访问权限。
等待回调节点
外部系统先受理任务、稍后才返回结果时使用:
服务调用 → 等待回调 → 后续节点
- 把 等待回调 直接连接在发起外部任务的服务调用节点之后
- 选择已发布的入站 Webhook 集成流
- 配置关联键(用于把回调定位到本次等待)和等待超时(数值 + 单位;单位为秒时不能少于 60)
- 连接一条出口,保存并发布
- 把渲染后的关联键交给外部系统,要求它原样回传
外部系统调用所绑定的 Webhook 时,请提供面板展示的请求结构:callbackId 用于幂等,自动化根据 correlationKey 定位等待节点,并把 status、result 和 error 作为该节点的输出。
等待超时后仍未收到回调时,等待节点和本次自动化执行会失败,可以在执行记录里看到错误。
两类工作流完整的载荷结构、回调协议和脚本示例见工作流集成。
分支节点
- 触发方式里必须已绑定表单
- 添加分支节点并配置判断条件(可以配置多条)
- 分别连接 Y(满足)和 N(不满足)两条出口
分支节点必须有一条入口;两条出口都要连接,后续节点才能继续流转。
五、校验、保存与发布
画布校验
保存或发布前必须通过校验:
- 触发方式配置完整;表单按钮必须选择位置与适用页面匹配的自定义按钮,手动或定时批量「符合筛选条件的数据」必须配置筛选条件
- 流程从开始节点连到结束节点,不能存在孤立节点或循环
- 分支节点必须有一条入口,并分别连接 Y 和 N 两条出口
- 等待回调节点只能由服务调用节点直接连入,且等待超时必须是有效的数值与单位(单位为秒时不能少于 60)
- 服务调用和等待回调节点必须各有一条入口和出口,且不能使用同一连接点
- 数据处理:绑定表单,数据新增需要目标表单,新增或更新至少有一条完整且不重复的字段赋值
- 人工处理:配置办理人、处理对象、对应的目标表单与关联字段,编辑数据时需要待处理字段
- 智能体执行:选择已启用的智能体并填写任务指令
- 消息:选择消息通道和模板;群聊需要发送智能体与目标群聊;数据字段接收人需要绑定表单;按接收人分组发送需要接收人字段
- 可视化:选择报表或图表、消息通道,并至少配置一个接收人
保存与发布
| 操作 | 说明 |
|---|---|
| 保存 | 把当前画布保存成新的草稿版本 |
| 保存并发布 | 保存并立即发布该版本 |
发布后任务才有可运行版本,任务状态在 自动化任务 列表里管理。
复制当前画布
在设计画布顶部点击 复制,用当前通过校验的画布创建新任务。弹窗只需要填新名称和可选描述(默认名称为「原名称 - 副本」),系统自动生成编码。新任务是独立草稿,不会复制发布状态、执行记录和历史版本。
六、验证设计
- 配置触发方式后保存版本
- 发布版本,或用 保存并发布 直接发布当前画布
- 手动、定时或数据变化触发可以按对应方式验证;表单按钮触发需在 查看页-顶部、列表页-行内操作、查看页列表-行内操作,或勾选记录后的对应批量操作位置点击绑定按钮
- 在执行记录里确认任务经过的节点和运行结果
七、常见问题
| 现象 | 检查方向 |
|---|---|
| 保存被拒绝 | 校验提示会指出哪个节点或哪项配置不完整 |
| 表单按钮里找不到按钮 | 检查按钮是否为已启用的自定义按钮,位置是否为 查看页-顶部、列表页-行内操作、列表页-批量操作、查看页列表-行内操作或查看页列表-批量操作,且适用页面与位置相符 |
| 点击按钮没有启动任务 | 检查任务是否已发布并启用、当前按钮是否与发布版本绑定的按钮一致,再查看按钮执行和自动化执行记录 |
| 加不了数据处理节点 | 需要先在触发方式里绑定表单;数据新增还需要目标表单和至少一条完整的字段赋值 |
| 等待回调节点发布不了 | 必须紧跟在服务调用节点之后,绑定已发布的入站 Webhook 集成流,并填写有效的等待超时(单位为秒时不能少于 60) |
| 消息节点发布不了 | 需要通道、模板,以及固定接收人或接收人字段;按接收人分组发送要求已绑定表单 |