调用工作流

工作流:子流程专业版+

介绍

用于在一个工作流中调用其他的流程,可以使用当前流程的变量作为子流程的输入,并使用子流程的输出作为当前流程的变量在后续节点中使用。

调用工作流的处理过程如下图所示:

20241230134634

通过调用工作流可以复用一些通用的流程逻辑,例如发送邮件、短信等,或者将一个复杂的流程拆分为多个子流程,便于管理和维护。

本质上工作流不区分一个流程是否是子流程,任意一个工作流都可以作为子流程被其他流程调用,也可以调用其他流程。所有工作流都是平等的,只存在调用和被调用的关系。

同样的,调用工作流的使用分处于两个位置:

  1. 主流程中:作为调用方,通过“调用工作流”节点,调用其他的工作流。
  2. 子流程中:作为被调用方,通过“流程输出”节点,保存当前流程中需要输出的变量,可在调用当前流程的工作流中被后续节点使用。

创建节点

在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“调用工作流”节点:

添加调用工作流节点

配置节点

选择工作流

选择要调用的工作流,可以通过搜索框快速查找:

选择工作流

:::info{title=提示}

  • 未启用的工作流也可以作为子流程被调用。
  • 当前工作流为同步模式时,也只能调用同步模式的子流程。 :::

配置工作流的触发器变量

选定工作流后,还需要配置触发器的变量,作为触发子流程的输入数据。可以直接选择静态的数据,也可以选择当前流程中的变量:

配置触发器变量

不同类型的触发器所需的变量不同,可以根据需要在表单上完成配置。

流程输出节点

参考流程输出节点的内容,配置子流程的输出变量。

使用流程输出

回到主流程中,在调用工作流下方的其他节点,要使用子流程的输出值时,可以选择调用工作流节点的结果。如果子流程输出的是一个简单值,如字符串、数字、逻辑值、日期(日期为 UTC 格式的字符串)等,可以直接使用;如果是一个复杂对象(如数据表中的对象),需要先通过 JSON 解析节点进行映射后,才能使用其中的属性,否则只能按整个对象使用。

如果子流程没有配置流程输出节点,或者没有输出值,那么在主流程中使用调用工作流节点的结果时,只能获得一个空值(null)。