Pular para o conteúdo principal

Variáveis e dados nos fluxos

Toda caixa de texto de um fluxo aceita variáveis entre chaves duplas. Elas são preenchidas no momento em que a mensagem sai, para aquele contato:

Oi {{first_name|cliente}}! Seu pedido #{{trigger.number}} de {{trigger.total:money}} foi confirmado.

A forma de uma variável​

{{ origem.caminho :formatação |valor padrão }}
  • a origem diz de onde vem o dado;
  • o caminho entra em dados aninhados;
  • a formatação (opcional, até duas) transforma o dado em algo que se lê;
  • o valor padrão (opcional) é o que sai quando o dado não existe.

Um {{…}} que não é uma variável — {{ texto com espaço }}, {{1}} — sai do jeito que foi escrito.

Origens​

VariávelO que traz
{{first_name}}, {{last_name}}, {{full_name}}O nome do contato (o primeiro nome cai para o nome do perfil do WhatsApp)
{{profile_name}}, {{email}}, {{phone}}Nome no WhatsApp, e-mail, telefone com +
{{field.cidade}}Um campo personalizado do contato
{{flow.nota}}A resposta que um passo guardou, ou o evento de um Aguardar evento
{{trigger.pedido.id}}O que o gatilho trouxe: os dados do webhook ou do data da API
{{$json.pedido.id}}O mesmo que trigger. — a forma do n8n
{{now}}O momento em que a mensagem sai

Caminhos​

Os dados de uma loja nunca são planos. O caminho entra neles:

CaminhoLê
trigger.billing.first_nameUm campo dentro de outro
trigger.line_items[0].nameO primeiro item de uma lista
trigger.line_items.0.nameO mesmo, com ponto
trigger.line_items[-1].nameO último item
trigger["meta data"].giftUma chave com espaço ou caractere especial

Uma lista de textos sai separada por vírgula (vip, recorrente); uma lista de objetos não tem texto próprio — escolha um campo de um item, ou conte os itens com :count.

Formatações​

FormataçãoExemploSai
:money{{trigger.total:money}}R$ 189,90
:money(USD){{trigger.total:money(USD)}}US$ 189,90
:number, :number(2){{trigger.peso:number(2)}}1,50
:date{{trigger.date_created:date}}22/09/2026
:datetime, :time{{trigger.date_created:time}}11:03 (horário de Brasília; outro fuso: :time(America/Manaus))
:title{{trigger.billing.first_name:title}}Maria da Silva
:upper, :lower{{trigger.cupom:upper}}BEMVINDO10
:first_word{{trigger.billing.first_name:first_word}}Maria
:digits{{trigger.billing.phone:digits}}11987654321
:join, :join( / ){{trigger.tags:join( / )}}vip / recorrente
:count{{trigger.line_items:count}}2
:truncate(20){{trigger.produto:truncate(20)}}Camiseta básica de…

Os nomes em português também valem: :moeda, :data, :data_hora, :hora, :capitalizar, :maiusculas, :minusculas, :primeiro_nome, :somente_digitos, :juntar, :contar, :limitar. Um número pode vir como 189.9, "189.90" ou "1.234,56"; uma data, em ISO, em segundos desde 1970 ou como dd/mm/aaaa. Um dado que a formatação não consegue ler — um total "n/a" — conta como ausente e sai o valor padrão.

Valor padrão​

{{field.cidade|sua cidade}} escreve sua cidade para quem não tem o campo. Sem valor padrão, um dado ausente vira texto vazio, e a publicação avisa.

Em templates​

As variáveis de um template, num passo de template, têm duas origens a mais além do contato:

  • Dado do gatilho — um caminho nos dados do gatilho, com formatação opcional;
  • Respostas do fluxo — o que um passo guardou.

O valor padrão é obrigatório, como nas campanhas: a Meta recusa uma variável vazia. Um texto fixo também aceita variáveis — Pedido {{trigger.number}} —, para montar um valor com o dado no meio.

É assim que uma confirmação de pedido sai fora da janela de 24 horas, onde só um template pode ser enviado.

O link de um botão de URL e o endereço do webhook de saída também aceitam variáveis: https://loja.com/pedido/{{trigger.id}}?nome={{first_name}}. Cada valor no meio do link é codificado (um espaço ou um & não quebram a URL); uma variável no começo é a própria base — {{trigger.tracking_url}}. O link precisa virar um endereço https://, senão a execução termina com o motivo link inválido.

Os títulos dos botões — de resposta, o da lista e o do botão de URL — também aceitam variáveis: Pagar {{trigger.total:money}}. O WhatsApp limita um título a 20 caracteres, então o que os dados formaram é cortado com … nesse limite; um título que ficaria vazio usa o texto fixo escrito em volta das variáveis, e dois botões de resposta com o mesmo título ganham um número (Sim 2). As opções da lista também aceitam variáveis no título e na descrição: o título é cortado em 24 caracteres e numerado quando sai igual a outra opção; a descrição é cortada em 72 e não aparece se os dados a deixarem vazia. O título da seção também aceita variáveis e é cortado em 24; com mais de uma seção (quando o WhatsApp o exige) ele nunca sai vazio.

Em condições e campos​

  • A regra Dado do gatilho compara um caminho — status igual a processing, total maior que 500. As comparações são: igual, diferente, contém, não contém, começa com, é um destes (lista separada por vírgula), vazio, preenchido, maior, maior ou igual, menor, menor ou igual. O valor comparado também aceita variável: {{field.limite}}.
  • Definir campo pode somar e subtrair (um contador de pedidos, o total gasto), acrescentar e tirar opções de uma lista, gravar o momento atual ou limpar o campo.
  • Espera pode ir até uma data que está nos dados — uma hora antes de {{trigger.appointment.start}}, por exemplo — e diz o que fazer se a data já passou.

Validação​

Ao publicar, o fluxo avisa sobre uma formatação que não existe (erro), uma origem desconhecida, um caminho que não aparece nos exemplos capturados do webhook e uma variável sem valor padrão (avisos). O editor mostra, embaixo de cada caixa, a mensagem preenchida com o exemplo capturado.