---
title: 工作流模块
description: 在当前流程中运行另一个工作流
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Image } from '@/components/ui/image'

## 功能简介

<div className='flex justify-center my-6'>
  <Image
    src='/static/blocks/workflow.png'
    alt='工作流模块配置'
    width={500}
    height={400}
    className='rounded-xl border border-border shadow-sm'
  />
</div>

当您希望在更大的流程中调用子工作流时，可以使用工作流模块。该模块运行该工作流的最新部署版本，等待其完成后，再继续执行父流程。

## 配置方法

1. **从下拉菜单中选择一个工作流**（自引用被阻止以防止循环）。
2. **映射输入**：如果子工作流有一个输入表单触发器，您将看到每个字段并可以连接父变量。映射的值是子工作流接收到的内容。

<div className='flex justify-center my-6'>
  <Image
    src='/static/blocks/workflow-2.png'
    alt='带有输入映射示例的工作流模块'
    width={700}
    height={400}
    className='rounded-xl border border-border shadow-sm'
  />
</div>

3. **输出**：子工作流完成后，该模块会暴露以下内容：
   - `result` – 子工作流的最终响应
   - `success` – 是否运行无错误
   - `error` – 运行失败时的消息

## 部署状态徽章

工作流模块显示一个部署状态徽章，帮助您跟踪子工作流是否已准备好执行：

- **已部署** – 子工作流已部署并可以使用。模块将执行当前已部署的版本。
- **未部署** – 子工作流从未部署过。您必须先部署它，工作流模块才能执行。
- **重新部署** – 自上次部署以来，检测到子工作流发生了更改。点击徽章以重新部署子工作流并应用最新更改。

<Callout type="warn">
工作流模块始终执行子工作流的最新已部署版本，而不是编辑器版本。请确保在进行更改后重新部署，以确保模块使用最新逻辑。
</Callout>

## 执行注意事项

- 子工作流在相同的工作区上下文中运行，因此环境变量和工具会被继承。
- 模块使用部署版本控制：任何 API、计划、Webhook、手动或聊天执行都会调用已部署的快照。当您更改子工作流时，请重新部署。
- 如果子工作流失败，模块会引发错误，除非您在下游处理它。

<Callout>
保持子工作流的专注性。小型、可重用的流程更容易组合，而不会导致深层嵌套。
</Callout>
