用于在一个工作流中调用其他的流程,可以使用当前流程的变量作为子流程的输入,并使用子流程的输出作为当前流程的变量在后续节点中使用。
调用工作流的处理过程如下图所示:

通过调用工作流可以复用一些通用的流程逻辑,例如发送邮件、短信等,或者将一个复杂的流程拆分为多个子流程,便于管理和维护。
本质上工作流不区分一个流程是否是子流程,任意一个工作流都可以作为子流程被其他流程调用,也可以调用其他流程。所有工作流都是平等的,只存在调用和被调用的关系。
同样的,调用工作流的使用分处于两个位置:
在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“调用工作流”节点:

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

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

不同类型的触发器所需的变量不同,可以根据需要在表单上完成配置。
参考流程输出节点的内容,配置子流程的输出变量。
回到主流程中,在调用工作流下方的其他节点,要使用子流程的输出值时,可以选择调用工作流节点的结果。如果子流程输出的是一个简单值,如字符串、数字、逻辑值、日期(日期为 UTC 格式的字符串)等,可以直接使用;如果是一个复杂对象(如数据表中的对象),需要先通过 JSON 解析节点进行映射后,才能使用其中的属性,否则只能按整个对象使用。
如果子流程没有配置流程输出节点,或者没有输出值,那么在主流程中使用调用工作流节点的结果时,只能获得一个空值(null)。