---
title: "使用先前步骤的数据"
description: "将触发器字段、步骤输出和变量映射到自动化输入中，并处理工作流走不同路径时的缺失值。"
canonical: "https://bird.com/zh-sg/wendang/guides/automations/data"
---

# 使用先前步骤的数据

字段映射让每次运行使用自己的收件人、消息或决策数据。连接决定下一个步骤；映射决定该步骤输入的值。

> Automations is in Early access. Your workspace permissions determine which actions you can perform.

## 选择字段的值

将要配置的步骤连接到其数据源之后。源选择器取决于所选步骤以及能到达它的路径。

可用的模式取决于字段：

| 模式   | 用途                                                               |
| ------ | ------------------------------------------------------------------ |
| 固定值 | 输入一个在每次运行中保持不变的值。                                 |
| 值     | 从触发器、先前步骤或变量中选择数据。                               |
| 文本   | 将文本与插入的值组合，例如问候语和客户姓名。                       |
| fx     | 输入 Common Expression Language (CEL) 表达式，用于计算或条件判断。 |
| 列表   | 在字段接受多个值时配置一个列表。                                   |

要使用先前的值：

1. 在画布上选择目标步骤。
2. 打开字段的值控件，选择所需的源。
3. 检查所选字段的类型是否正确，例如电子邮件地址应为文本类型。
4. 使用示例数据查看**步骤预览**中解析后的输入。

表达式保持其结果类型。包含插入值的文本生成文本。包含数字的文本值不会自动变为数字。

## 示例：个性化问候语

从 [SMS 通知模板](/docs/get-started/automations)的草稿开始，选择一个发送者。其触发器包含一个**客户姓名**字段。

1. 选择**发送 SMS 通知**并打开**编辑消息**。
2. 在**消息**中，保持**文本**模式，将现有内容替换为 `Hi` 加一个空格。
3. 选择**插入数据**，在**通知请求**下选择**客户姓名**。在插入值后添加 `, your appointment is confirmed.`。
4. 展开**使用示例数据测试**，使用 `customer_name` 设置为 `Ada` 的触发器示例。
5. 选择**预览步骤**，如果已有结果则选择**刷新预览**。准备好的消息显示为 `Hi Ada, your appointment is confirmed.`

更改示例姓名并选择**刷新预览**即可更新问候语。插入的字段为每次运行提供姓名。

## 了解数据源

| 数据源       | 使用示例                                           |
| ------------ | -------------------------------------------------- |
| 触发器数据   | 运行开始时提供的预约 ID 或收件人。                 |
| 先前步骤输出 | 获取联系人返回的联系人，或发送 SMS 返回的消息 ID。 |
| 先前步骤错误 | 操作失败路径中使用的失败信息。                     |
| 变量         | 由 Set values 创建的命名值。                       |

**Set values** 在后续步骤需要相同计算结果时非常有用。例如，只准备一次客户显示名称，然后将该变量插入多条消息中。

## 处理缺失和条件数据

字段可以不存在、为空或显式没有值。针对每种情况决定工作流应执行的操作。对于缺失的姓名，使用通用问候语可能是合适的。对于缺失的收件人，应走另一路径或结束运行。

在分支之后，只有运行经过了产生该输出的路径时，输出才存在。如果电子邮件路径和 SMS 路径汇合，共享步骤不能假设两次发送都已执行。

在读取可选数据之前使用条件判断，或在每条入站路径上分配共享变量。源选择器会区分仅在部分路径上可用的值。显示某条成功路径的示例不会使其输出在另一路径上可用。

高级 CEL 表达式使用 `trigger.data.data`、`steps.lookup.output` 和 `variables.customer_name` 等名称。表达式中的步骤 ID 必须与实际数据源步骤一致。建议在可用时优先使用选择器，让它为你选择数据源。

## 检查计算值

预览典型输入、缺失的可选字段以及每条相关分支。准备好的输入在实际运行中仍可能失败，如果传入数据类型不同或必需值缺失。

先前步骤的输出是该步骤运行时记录的值。在延迟之后复用它不会重新获取联系人或消息。如果决策需要最新数据，请添加另一个读取步骤。

## 后续步骤

- [发送消息](/docs/guides/automations/messages)。
- [预览和检查工作流](/docs/guides/automations/preview)。
- [排查自动化问题](/docs/guides/automations/troubleshooting)。
- [浏览自动化指南](/docs/guides/automations)。