Automações

Definir variáveis de execução, mapeamento multi-chave, sanitização e uso de {{variables}}.

Nó Variável

O nó Variável (set_variable) grava valores no contexto de execução para que nós posteriores os referenciem como {{variables.name}}. É a forma principal de normalizar dados de webhook, armazenar cálculos intermediários e reutilizar valores no workflow.

Localizado em Lógica em Automações.

Workflows > editor > Variable node with multiple entries Figura 1: Nó Variável definindo vários pares chave → valor

O que faz

Quando o nó Variável executa:

  1. Para cada par chave / valor, o engine resolve templates no valor (ex.: {{trigger.body.email}}).
  2. Sanitiza chaves para alfanumérico + underscore (remove [^a-zA-Z0-9_]).
  3. Armazena resultados em context.variables[key] pelo resto da execução.
  4. Expõe o mesmo mapa como saída do nó (e em context.nodes[nodeId]).

Variáveis definidas aqui existem somente na execução atual — não são salvas na definição do workflow.

Não é o mesmo que globais do workflow. Valores no painel Variáveis → aba Workflow persistem no banco e também usam sintaxe {{variables.name}}. Veja Variáveis no workflow para a distinção completa.

Como configurar

Clique duas vezes no nó Variável.

Múltiplas variáveis (recomendado)

Adicione linhas com:

CampoDescrição
KeyNome da variável — contact_phone, order_id, message_body
ValueTexto literal ou expressão {{…}}

Um nó pode definir várias variáveis de uma vez (exibido no canvas como "3 variables", etc.).

Variável única legada

Workflows antigos podem usar campos variable name + variable value — ainda suportados; prefira o editor multi-linha para fluxos novos.

Resolução de valores

Valores suportam sintaxe de template completa:

{{trigger.body.customer.phone}}
{{http_1.data.id}}
{{openai_1.result}}
{{contact.name}}
{{item.sku}}

Texto estático é permitido: Hello, https://api.example.com/v1/.

Saída e referências

Após este nó executar:

ReferênciaConteúdo
{{variables.contact_phone}}Valor armazenado (qualquer nó posterior)
{{set_vars_1.contact_phone}}O mesmo, pelo ID do nó
{{input.contact_phone}}Se o nó anterior foi este Variável

Inspecione valores no painel Variáveis → aba Context durante ou após um teste.

Dicas e boas práticas

  • Normalize cedo. Coloque Variável logo após o trigger para mapear trigger.body em nomes estáveis (phone, name, email) usados em todo o fluxo.
  • Use chaves descritivas. contact_phone é melhor que p — autocomplete e logs permanecem legíveis.
  • Não confie em chaves inválidas. Caracteres especiais são removidos; user-id vira userid. Use underscores de propósito.
  • Combine várias atribuições em um nó em vez de encadear cinco nós Variável de uma chave só.
  • Sobrescrita é permitida. Um nó Variável posterior pode substituir {{variables.status}} no meio do fluxo.
  • Variáveis de loop. Dentro de um Loop, você pode definir {{variables.last_error}} por iteração para rastrear erros em Ao concluir.
  • Globais para config, Variável para runtime. IDs de calendário e caminhos de API → globais do Workflow; campos parseados do webhook → nó Variável.

Exemplos de uso

Exemplo 1 — Mapeamento de campos do webhook

Trigger: Webhook — { "from": "+5511999999999", "name": "Ana", "msg": "Pricing?" }.

Fluxo:

  1. Variável
    • contact_phone = {{trigger.body.from}}
    • contact_name = {{trigger.body.name}}
    • inbound_text = {{trigger.body.msg}}
  2. Send TextOlá {{variables.contact_name}}, obrigado por perguntar sobre preços…
  3. CRM Upsert — phone {{variables.contact_phone}}

Exemplo 2 — Montar URL dinâmica

Fluxo:

  1. HTTP — obter id do cliente → {{http_1.data.id}}
  2. Variável
    • customer_id = {{http_1.data.id}}
    • detail_url = https://app.example.com/customers/{{variables.customer_id}}
  3. Send TextVeja sua conta: {{variables.detail_url}}

Exemplo 3 — Limpeza de saída de IA

Fluxo:

  1. Gemini — retorna texto livre em {{gemini_1.result}}
  2. JavaScript — parse JSON da IA (opcional)
  3. Variável
    • intent = {{js_1.result.intent}}
    • confidence = {{js_1.result.score}}
  4. Condição em {{variables.intent}} e {{variables.confidence}}

FAQ

Por que {{variables.x}} está vazio?

O nó Variável ainda não executou nesta execução, o nome da chave difere (typo / sanitização) ou o valor upstream resolveu vazio. Verifique a aba Context e input_resolved.

Posso definir variáveis pelo JavaScript?

Sim — atribua a variables.key em um nó JavaScript. O nó Variável é mais simples para mapeamento só com templates.

Variáveis persistem entre execuções?

Não. Use globais do Workflow no painel Variáveis para config persistente.

Uma chave pode guardar JSON?

Valores são armazenados como strings. Passe JSON como string e faça parse em JavaScript, ou referencie caminhos aninhados se o nó de origem já fornece objetos em {{input.data}}.

Quais caracteres são permitidos nas chaves?

Letras, números e underscore após sanitização. Comece com letra quando possível.

Artigos relacionados

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda