Pular para o conteúdo principal

Expressões e variáveis

Expressões são pequenas fórmulas que deixam seus campos dinâmicos: em vez de um texto fixo, o valor é calculado na hora, com base no que o usuário digitou, em parâmetros da URL ou nos dados do usuário logado.

Se você já usou fórmulas no Excel, a ideia é a mesma — só que a "célula" aqui é outro componente da sua página.

Sintaxe básica

Tudo que estiver entre chaves duplas {{ ... }} é avaliado como expressão. O resto do texto fica literal:

Olá, {{ $form.Nome }}! Seja bem-vindo.

Se o campo Nome contém "Maria", o resultado é:

Olá, Maria! Seja bem-vindo.

Você pode misturar quanto texto e quantas expressões quiser na mesma frase:

Total: {{ $form.Quantidade * $form.Preco }} reais

Se Quantidade for 3 e Preço for 10, o resultado é:

Total: 30 reais

Onde você pode usar expressões

O campo de expressão aparece em vários lugares do editor:

  • No campo "Expressão" de um componente (aba Config) — o resultado vira o valor exibido daquele componente. É assim que se cria um "campo calculado" ou um texto que se atualiza sozinho.
  • No valor padrão de um campo.
  • Nos campos de uma automação — URL, cabeçalhos e corpo de uma requisição HTTP, por exemplo, aceitam {{ }}.

Variáveis disponíveis

Uma variável sempre começa com $ e tem o formato $origem.chave. Existem três origens:

$form — valores da própria página

Referencia o valor de outro componente da página. Use o rótulo (o nome que aparece no componente):

{{ $form.Nome_do_Cliente }}
Rótulos com espaço, acento ou hífen

No formato com ponto, espaços viram sublinhado (Nome do ClienteNome_do_Cliente) e acentos funcionam normalmente ({{ $form.Usuário }}).

Mas hífens (-) atrapalham, porque o - é o sinal de subtração. Para rótulos com hífen, espaço ou qualquer caractere especial, use colchetes com aspas:

{{ $form["Terça-feira"] }}
{{ $form["Data de Nascimento"] }}

Além do valor simples, o $form consegue "entrar" em dados estruturados:

  • Coluna de uma tabela (componente de banco/HTTP com linha selecionada):

    {{ $form.Tabela_de_Produtos.nome }}
  • Célula de uma planilha (endereço no estilo A1):

    {{ $form.Minha_Planilha.B2 }}

$args — parâmetros da URL

Qualquer valor passado na URL do link público vira uma variável $args. Por exemplo, ao abrir:

/p/SEU_TOKEN?cliente=Acme&plano=premium

você pode usar:

{{ $args.cliente }} → Acme
{{ $args.plano }} → premium

Ótimo para pré-preencher um workflow a partir de um link personalizado.

$user — dados do usuário logado

Disponível apenas quando o workflow exige login. Traz informações do perfil de quem está usando:

VariávelO que contém
$user.nameNome do usuário
$user.usernameLogin/usuário
$user.playerIdID do player
$user.personIdID da pessoa
$user.tenantIdID do tenant (empresa)
$user.workgroupNamesNomes dos workgroups (separados por vírgula)
$user.workgroupIdsIDs dos workgroups
$user.firstWorkgroupNameNome do primeiro workgroup
$user.firstWorkgroupIdID do primeiro workgroup
observação

Se o workflow não exige login, todas as variáveis $user ficam vazias.

Operadores

TipoOperadoresExemplo
Aritméticos+ - * / %{{ $form.Preco * 2 }}
Comparação== != > < >= <={{ $form.Idade >= 18 }}
Lógicos&& (e) || (ou) ! (não){{ $form.Ativo && $form.Pago }}
Condicionalcondição ? valorSeVerdadeiro : valorSeFalso{{ $form.Idade >= 18 ? "Maior" : "Menor" }}

Você pode agrupar com parênteses para controlar a ordem:

{{ ($form.A + $form.B) * $form.C }}
O operador + soma OU concatena

Se os dois lados forem números, o + soma. Se algum lado for texto, ele junta (concatena):

{{ 2 + 3 }} → 5
{{ $form.Nome + " Silva" }} → Maria Silva

Para garantir uma soma, certifique-se de que os dois campos são numéricos.

Detalhes que evitam surpresas
  • Comparações == e != comparam como texto: 1 == "1" é verdadeiro.
  • Divisão ou resto por zero retorna 0 (não dá erro nem "infinito").
  • > < >= <= comparam como número.

Funções

As funções não diferenciam maiúsculas de minúsculas (IF e if funcionam igual).

FunçãoO que fazExemploResultado
IF(cond, a, b)Retorna a se a condição for verdadeira, senão bIF($form.Idade >= 18, "OK", "Bloqueado")OK
UPPER(texto)Converte para MAIÚSCULASUPPER("maria")MARIA
LOWER(texto)Converte para minúsculasLOWER("MARIA")maria
LEN(texto)Conta os caracteresLEN("abc")3
ABS(número)Valor absoluto (sem sinal)ABS(-7)7
ROUND(número, casas)Arredonda para N casas decimais (padrão 0)ROUND(3.14159, 2)3.14
CONCAT(a, b, ...)Junta vários valores como textoCONCAT($form.Nome, " - ", $form.Cidade)Maria - Recife
NOW()Data/hora atualNOW()1719856800000
NOW retorna um número, não uma data

NOW() retorna o instante atual em milissegundos (um número grande), e não uma data formatada como 01/07/2026. Por enquanto não há função de formatação de data no editor — use NOW() para comparar ou calcular tempos, não para exibir uma data bonita.

Recálculo automático

Um campo com expressão se atualiza sozinho sempre que um dos campos que ele referencia muda. Se o Preço ou a Quantidade mudam, um campo Total com a expressão {{ $form.Preco * $form.Quantidade }} recalcula na hora.

Referências circulares

Se o campo A depende do B e o B depende do A, o editor detecta esse "laço" e simplesmente ignora o recálculo, em vez de travar. Evite montar dependências circulares.

Componentes de banco de dados são uma exceção

Diferente dos campos comuns, um componente de banco de dados roda sua consulta uma única vez, no momento em que a página abre. Isso muda duas coisas na prática:

  • Dentro da consulta, referencie os campos com $ + o nome do campo: por exemplo, $Cliente_ID — um único $, sem as chaves {{ }}. (Dica: digite $ na caixa de SQL para ver a lista de campos.)
  • Não dá para usar um campo da mesma página: como a consulta roda assim que a página abre, um campo que o usuário ainda vai preencher ali estará vazio — e a consulta não retorna nada. Para alimentar a consulta, use um $args (parâmetro da URL) ou um valor vindo de uma página anterior.

Erros comuns (leia antes de pedir ajuda 😉)

Esqueceu o prefixo $form

Escrever {{ Nome }} não pega o valor do campo Nome — o editor trata palavras soltas como texto literal e o resultado vira a própria palavra "Nome". O certo é sempre {{ $form.Nome }}.

Um erro de sintaxe apaga o campo inteiro

Se uma expressão tem um erro (um parêntese que não fecha, aspas faltando, etc.), o campo inteiro fica vazio — não aparece mensagem de erro na tela. Se um campo "sumiu", quase sempre é uma expressão quebrada. Revise as chaves, parênteses e aspas.

  • Referência que não existe (campo apagado ou nome errado) resulta em texto vazio, não em erro.
  • Chaves simples não funcionam: é sempre {{ }} (duplas), nunca { }.

Exemplos prontos para copiar

Saudação personalizada:

Olá, {{ $form.Nome }}! Que bom te ver.

Total de um pedido:

{{ $form.Quantidade * $form.Preco_Unitario }}

Mensagem condicional:

{{ $form.Idade >= 18 ? "Acesso liberado" : "Acesso apenas para maiores de 18" }}

Juntar nome e sobrenome em maiúsculas:

{{ UPPER(CONCAT($form.Nome, " ", $form.Sobrenome)) }}

Usar um dado da URL como padrão:

{{ $args.cliente }}