---
title: "Usar dados de etapas anteriores"
description: "Mapeie campos do gatilho, saídas de etapas e variáveis para entradas de automação, e trate valores ausentes quando um fluxo segue caminhos diferentes."
canonical: "https://bird.com/pt-br/documentacao/guides/automations/data"
---

# Usar dados de etapas anteriores

Os mapeamentos de campos permitem que cada execução use seu próprio destinatário, mensagem ou dados de decisão. Uma conexão escolhe a próxima etapa; um mapeamento escolhe um valor para a entrada dessa etapa.

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

## Escolher o valor de um campo

Conecte a etapa que você quer configurar após sua fonte de dados. O seletor de fonte depende da etapa selecionada e dos caminhos que podem alcançá-la.

Os modos oferecidos dependem do campo:

| Modo  | Finalidade                                                                         |
| ----- | ---------------------------------------------------------------------------------- |
| Fixed | Insira um valor que permanece o mesmo entre execuções.                             |
| Value | Selecione dados do gatilho, de uma etapa anterior ou de uma variável.              |
| Text  | Combine texto com valores inseridos, como uma saudação e o nome de um cliente.     |
| fx    | Insira uma expressão Common Expression Language (CEL) para um cálculo ou condição. |
| List  | Configure uma lista quando o campo aceita múltiplos valores.                       |

Para usar um valor anterior:

1. Selecione a etapa de destino no canvas.
2. Abra o controle de valor do campo e escolha a fonte desejada.
3. Verifique se o campo selecionado tem o tipo correto, como texto para um endereço de e-mail.
4. Inspecione a **Step preview** com dados de amostra para ver a entrada resolvida.

Uma expressão mantém seu tipo de resultado. Texto com valores inseridos produz texto. Um valor de texto contendo dígitos não se torna automaticamente um número.

## Exemplo: personalizar uma saudação

Comece com um rascunho do [template de notificação SMS](/docs/get-started/automations) e escolha um remetente. O gatilho inclui um campo **Customer name**.

1. Selecione **Send SMS notification** e abra **Edit message**.
2. Em **Message**, mantenha o modo **Text** e substitua o conteúdo existente por `Hi` seguido de um espaço.
3. Selecione **Insert data** e escolha **Customer name** em **Notification requested**. Adicione `, your appointment is confirmed.` após o valor inserido.
4. Expanda **Test with sample data** e use uma amostra de gatilho com `customer_name` definido como `Ada`.
5. Selecione **Preview step**, ou **Refresh preview** se um resultado já estiver exibido. A mensagem preparada exibe `Hi Ada, your appointment is confirmed.`

Alterar o nome da amostra e selecionar **Refresh preview** atualiza a saudação. O campo inserido fornece o nome para cada execução.

## Entender as fontes

| Fonte                   | Exemplo de uso                                                                  |
| ----------------------- | ------------------------------------------------------------------------------- |
| Dados do gatilho        | O ID do agendamento ou destinatário fornecido quando a execução inicia.         |
| Saída de etapa anterior | O contato retornado por Get contact ou o ID da mensagem retornado por Send SMS. |
| Erro de etapa anterior  | As informações de falha usadas no caminho de falha de uma ação.                 |
| Variáveis               | Valores nomeados criados por Set values.                                        |

**Set values** é útil quando etapas posteriores precisam do mesmo cálculo. Por exemplo, prepare um nome de exibição do cliente uma vez e depois insira essa variável em várias mensagens.

## Tratar dados ausentes e condicionais

Um campo pode estar ausente, vazio ou explicitamente sem valor. Decida o que o fluxo deve fazer em cada caso. Para um nome ausente, uma saudação genérica pode ser adequada. Para um destinatário ausente, siga outro caminho ou encerre a execução.

Após uma ramificação, uma saída existe quando a execução seguiu o caminho que a produziu. Se um caminho de e-mail e um caminho de SMS se reconectam, a etapa compartilhada não pode assumir que ambos os envios aconteceram.

Use uma condição antes de ler dados opcionais, ou atribua uma variável compartilhada em cada caminho de entrada. O seletor de fonte distingue valores disponíveis em apenas alguns caminhos. Uma amostra mostrando um caminho bem-sucedido não torna sua saída disponível em outro caminho.

Expressões CEL avançadas usam nomes como `trigger.data.data`, `steps.lookup.output` e `variables.customer_name`. O ID da etapa em uma expressão deve corresponder à etapa de origem real. Prefira o seletor quando disponível para que ele escolha a fonte para você.

## Verificar valores calculados

Visualize uma entrada típica, um campo opcional ausente e cada ramificação relevante. Uma entrada preparada ainda pode falhar durante uma execução real se os dados recebidos tiverem um tipo diferente ou um valor obrigatório estiver ausente.

Uma saída anterior é o valor registrado quando aquela etapa foi executada. Reutilizá-la após um intervalo não busca o contato ou a mensagem novamente. Adicione outra etapa de leitura se a decisão exigir dados atuais.

## Próximos passos

- [Enviar mensagens](/docs/guides/automations/messages).
- [Visualizar e verificar um fluxo](/docs/guides/automations/preview).
- [Solucionar problemas de uma automação](/docs/guides/automations/troubleshooting).
- [Explorar os guias de Automações](/docs/guides/automations).