> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-clara.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# 工作流动作

> 了解 Twenty 工作流中可用的操作。

export const VimeoEmbed = ({videoId, title = 'Video'}) => <div style={{
  padding: '69.01% 0 0 0',
  position: 'relative',
  margin: '32px 0px'
}}>
    <iframe src={`https://player.vimeo.com/video/${videoId}?autoplay=1&loop=1&autopause=0&background=1&app_id=58479`} frameBorder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style={{
  position: 'absolute',
  top: 0,
  left: 0,
  width: '100%',
  height: '100%',
  borderRadius: '16px',
  border: '2px solid black'
}} title={title} />
  </div>;

## 关于操作

动作定义触发后将发生的事件。 你可以将多个操作串联在一起，以构建复杂的自动化流程。

<Tip>
  * 使用变量选择器（点击`(x+)`图标）浏览来自先前步骤的可用数据
  * 将鼠标悬停在任意输入字段上即可查看变量来自哪个步骤——当相同字段（例如，ID）存在于多个先前步骤时，这很有帮助
  * 为每个操作指定一个具有描述性的名称，以便于维护
</Tip>

## 记录操作

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/workflows/workflow_actions.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=a06f922da32daf9af85008d6b5feaaf9" style={{width:'100%'}} width="1596" height="2268" data-path="images/user-guide/workflows/workflow_actions.png" />

### 创建记录

在选定的对象中添加新记录。

**配置**:

* 选择目标对象
* 填写必填和可选字段
* 使用来自先前步骤的数据，或手动输入值来填充字段

**输出**：新创建的记录数据可在后续步骤中使用。

### 更新记录

修改选定对象中的现有记录。

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/workflows/update_record.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=2d6eb543746205b0436637fe915d7840" style={{width:'100%'}} width="1584" height="1120" data-path="images/user-guide/workflows/update_record.png" />

**配置**:

* 选择目标对象
* 选择要更新的特定记录.
  * 你可以通过下拉菜单选择一个固定记录，该菜单会显示所有可用记录。
  * 或者通过使用`(x+)`指定在先前步骤中找到的记录，让记录被动态选择。 此阶段无法根据不同条件搜索该记录。 如果你尚未确定该记录，请在此`Update Record`步骤之前添加一个`Search Record`步骤。
* 选择要修改的字段并输入新值

**输出**：更新后的记录数据可用于后续步骤。

### 删除记录

从选定的对象中删除记录。

**配置**：

* 选择目标对象
* 选择要删除的特定记录

**输出**：已删除的记录数据可继续用于后续步骤。

### 搜索记录

在选定对象中使用过滤条件查找记录。

**配置**：

* 选择要搜索的对象
* 设置过滤条件以缩小结果
* 配置排序和限制

**输出**：返回可在后续步骤中使用的匹配记录。

<Note>
  **限制**：Search Records 最多返回 **200 条记录**。 如果需要处理更多，请添加特定筛选器以减少结果，或使用计划的工作流分批处理。
</Note>

**最佳实践**：在 Search Records 之后使用[分支](/l/zh/user-guide/workflows/capabilities/workflow-branches)来处理"找到"与"未找到"场景。

### Upsert 记录

根据匹配条件创建新记录或更新现有记录。 当你不确定记录是否已存在时，这非常有用。

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/workflows/upsert_double_identifier.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=4a5d7867b4de0685b402eb472ce88562" style={{width:'100%'}} width="2908" height="2288" data-path="images/user-guide/workflows/upsert_double_identifier.png" />

**配置**：

* 选择目标对象
* 请注意哪些字段可用于匹配：People 使用 email，Companies 使用 domain，任何对象使用 ID，或任何标记为 "Unique" 的字段。 你需要在下方至少填充其中一个。
* 填写字段值。 别忘了至少填充一个唯一标识符。

<Note>
  **仅添加一个唯一标识符时，匹配通常效果更好。** 例如，下面的截图将基于其域名匹配公司。 不一定需要 ID。
</Note>

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/workflows/upsert_simple_identifier.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=3bc33c35044330442e5cf6ff9cdbea40" style={{width:'100%'}} width="2924" height="2308" data-path="images/user-guide/workflows/upsert_simple_identifier.png" />

* 使用来自先前步骤的数据填充字段

**工作原理**:

1. 搜索与您的条件匹配的记录
2. 如果找到 → 更新现有记录
3. 如果未找到 → 创建新记录

**输出**：已创建或已更新的记录数据可用于后续步骤。

## 工作流操作

### 迭代器

**循环遍历**前一步返回的记录数组，允许你对每条记录分别执行操作。

**配置**：

* 从前一步中选择记录数组（例如，来自“搜索记录”的结果、来自具有批量可用性的手动触发、来自代码节点）
* 定义要对循环中每个记录执行的动作.

<Note>
  - 你可以在迭代器中添加多个操作。
  - 在迭代器中使用分支时，确保每个分支的最后一步连接回迭代器以闭合循环。
</Note>

* 访问 `Current Item` 字段：要使用当前正在处理的记录中的字段，点击 **Iterator** 步骤，然后选择 **Current item**。 将显示该记录可用字段的列表，并可选择用于后续操作。

<VimeoEmbed videoId="1146577247" title="视频演示" />

### 过滤

根据指定条件过滤记录，仅允许满足条件的记录通过。

**配置**：

* 选择要过滤的记录
* 定义过滤条件和标准
* 配置哪些记录应通过到后续步骤

<Note>
  1. **输出**：筛选器节点不返回数据——它们充当闸门。 如果满足条件，工作流将继续。 否则，工作流会在该分支停止。
  2. `IS` 运算符可用于数值字段。 其作用等同于 `EQUAL`。
</Note>

### 延迟

将工作流执行暂停指定时长或直到特定日期/时间。

**延迟类型**:

| 类型       | 描述                |
| -------- | ----------------- |
| **持续时间** | 等待特定时长（天、小时、分钟、秒） |
| **计划日期** | 等待直到特定日期和时间       |

**持续时间的配置**：

* 设置天、小时、分钟和/或秒
* 组合多个单位（例如 2 天 4 小时）

**计划日期的配置**：

* 选择日期和时间
* 可以引用前一步的日期字段（例如，在会议后 3 天跟进）

**用法**：

* 在发送跟进邮件前等待 24 小时
* 暂停直到商机的关闭日期
* 将操作安排在工作时间内

<Note>
  计划日期不能早于当前时间。 如果使用了前一步的日期字段且该日期已过去，工作流将失败。
</Note>

**限制与点数**：

* **无最长期限限制**——你可以设置分钟、天、周或更长的延迟
* **消耗 1 个点数**——无论持续时间如何，延迟节点执行时会消耗。
* **等待期间不消耗点数**——5 分钟的延迟与 5 天的延迟成本相同

## 通信操作

### 发送邮件

从工作流发送电子邮件。 这非常适合使用模板的群发邮件。 邮件看起来就像你从邮箱发送的邮件。
不适合新闻简报（需要更丰富的格式）或自动化邮件序列。

**先决条件**：在“设置” → “账户”中添加电子邮件账户

**配置**：

* 选择发件邮箱账户

<Note>
  你只能从与自己 Twenty 账户同步的邮箱发送邮件。 从其他团队成员的邮箱发送（例如账户所有者的邮箱）已在规划中。
</Note>

对于以下所有步骤，你可以引用前面步骤中的变量以实现个性化。

* 输入收件人电子邮件地址.

<Note>
  目前只能指定一个收件人。
</Note>

* 设置主题行。
* 撰写消息内容. 你可以设置链接格式、创建编号列表、项目符号列表、添加附件。

<Note>
  目前无法添加 HTML 签名。
</Note>

### 表单

在工作流执行期间提示表单以收集用户输入。 随后可在后续步骤中使用这些响应，根据输入创建记录、发送电子邮件或执行其他任何操作。

<Warning>
  **表单当前仅设计用于手动触发。** 对于具有其他触发器（记录创建、更新等）的工作流，表单仅可通过工作流运行界面访问，这不是预期的用户体验。 将于 2026 年发布通知中心，以适当支持自动化工作流中的表单。
</Warning>

**配置**：

* 配置要求用户填写的字段。 针对每个字段，选择
  * 一种类型：文本、数字、日期、指定记录、选择字段。 所有对象的选择字段均可用。
  * 一个标签
  * 在 `Placeholder` 下设置默认值（可选）
* 编辑表单标题

**输出**：表单响应可在后续步骤中使用。

**示例**："Quick Lead" 工作流在所有工作区中默认可用，可在任意位置通过命令菜单 `Cmd + K` 调用。

**如何填写表单**：

* 从命令菜单 `Cmd K` 触发你的手动工作流
* 在侧边面板中填写显示的表单并点击 `Submit`。

<Note>
  这些字段无法设为必填。
</Note>

<VimeoEmbed videoId="1147277989" title="视频演示" />

## 集成操作

### 代码

在工作流中运行自定义 JavaScript。

**配置**：

* 访问先前步骤中的变量. 你可以动态编辑变量名称。

<VimeoEmbed videoId="1147281795" title="视频演示" />

* 在编辑器中编写 JavaScript 代码
* 返回变量以供后续步骤使用
* 直接在步骤中测试代码

<Note>
  如果需要在代码中使用外部 API 密钥，必须将其直接输入到函数主体中。 你无法在其他位置配置 API 密钥并在逻辑函数中引用它们。
</Note>

<Tip>
  **处理数组？** 来自外部系统或前序步骤的数组可能以字符串形式传入。 解决方案请参见 [如何在 Code 操作中处理数组](/l/zh/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions)。
</Tip>

<Tip>
  点击代码编辑器右上角的方形图标以全屏显示——这很有用，因为默认编辑器宽度有限。
</Tip>

### HTTP请求

作为工作流的一部分，向外部API发送请求。

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/workflows/http_action.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=902a5edc52c87a350a10d44972ad8897" style={{width:'100%'}} width="1568" height="1968" data-path="images/user-guide/workflows/http_action.png" />

**配置**：

* 输入 API 端点 URL. 可以使用前面步骤中的参数。
* 选择 HTTP 方法（GET、POST、PUT、PATCH、DELETE）
* 添加必需的标头和值
* 提供示例响应以供结构预览

## AI 操作

### AI 代理 - 即将推出

在你的工作流中运行 AI 代理以执行智能任务。

**配置**：

* **代理**：选择一个现有 AI 代理或使用默认代理
* **提示**：为 AI 代理编写指令
* 在提示中引用前面步骤中的变量

**AI 代理能做什么**：

* 分析并总结数据
* 对记录进行分类或归类
* 生成文本内容
* 基于数据做出决策
* 使用工具与你的 CRM 数据交互

**输出**：AI 代理的响应可用于后续步骤。 如果代理具有结构化的输出模式，响应将遵循该格式。

<Note>
  AI 代理操作会根据所用 AI 模型消耗工作流点数。 详见 [工作流点数](/l/zh/user-guide/workflows/capabilities/workflow-credits)。
</Note>

<Note>
  AI 代理遵循基于角色的权限。 你可以在 **设置 → 角色** 下为代理分配特定角色，以控制其可访问的数据。 详见 [权限](/l/zh/user-guide/permissions-access/capabilities/permissions)。
</Note>
