文档节点
本页目录

调用工作流

通过已声明的输入和输出,复用另一个已发布工作流。

调用工作流节点(Call Workflow)可以调用当前账号名下、已发布且具有开始节点接口的工作流。平台根据目标已发布的接口生成端口,调用方无需重建目标的内部执行图。

选择目标

{
  "op": "node.add", "as": "greeting", "type": "workflow", "name": "Call greeting",
  "config": { "flowId": "TARGET_FLOW_ID" },
  "inputs": { "name": { "kind": "value", "value": "Ada" } }
}

公开节点类型是 workflow。选择的目标应具有调用方要传入的字段。没有工作流输出节点的目标,会返回空的业务结果。

保存的接口

节点会保存所选目标的接口快照。普通编辑不会更新它;需要加载目标当前已发布的接口时,使用 node.refresh。

{ "op": "node.refresh", "node": "CALL_NODE_REFERENCE" }

如果目标的新修订版本保留了相同的字段名、schema 和 null 约束,调用方无需刷新即可继续调用。接口变化时则需要刷新。字段按名称精确匹配,无法解析的引用会保留,以便诊断。

调用工作流节点向另一个工作流传入姓名,并读取对方声明的业务结果。

调用工作流节点向另一个工作流传入姓名,并读取对方声明的业务结果。
输入
{"name":"Ada"}
预期结果
被调用工作流的 message 输出成为当前工作流的 message 结果。
运行前准备
选择当前账号名下、已启用且已发布、具有匹配的 name/message 接口的工作流,再刷新节点。案例中的目标 ID 仅作示意。
下载工作流

运行时行为

执行时,部署端检查目标当前已启用的 Live 版本,并创建版本固定的子运行。子运行成功后,调用方接收它声明的业务输出。子工作流中的等待属于子运行;父运行取消或失败时,尚未完成的后代运行也会被取消。

不允许自调用和递归调用链。草稿可以保留当前不可用的目标,但实际执行仍需要符合条件的已发布目标。调用工作流节点不支持普通任务的重试策略。

Agent 和代码节点也可以使用明确声明的工作流工具。详见 Agent 和代码节点。

资料来源

搜索