Skip to content

Variáveis · set_variable / assigner / variable_assigner

Para que serve

Pensa num bloco de notas que fica do seu lado durante o atendimento. Você anota o nome do cliente, o número do pedido, a resposta que ele deu — e a qualquer momento pode consultar, mudar ou apagar esse conteúdo. Os nós de variável fazem exatamente isso: guardam informações para você usar mais à frente no fluxo.

Quando usar
  • Salvar a escolha que o cliente fez num menu de botões
  • Construir uma mensagem personalizada juntando nome + produto + data
  • Acumular itens numa lista ao longo de uma iteração
  • Limpar o valor de uma variável antes de começar um novo ciclo
  • Mesclar dados de fontes diferentes numa saída tipada e organizada

Os três nós de variável

O Flow Builder tem três nós com funções parecidas mas objetivos diferentes. Veja qual usar em cada situação:

KindPara que usar
Atribuir VariávelassignerCriar ou alterar variáveis uma a uma, com controle de operação
Variável (legado)set_variableVersão antiga — ainda funciona, mas prefira o assigner
Mesclar Variáveisvariable_assignerCombinar N entradas em uma saída tipada (texto, número, objeto…)

Nome do nó e referência nas variáveis

Além das variáveis declaradas no Gerenciador, cada nó do fluxo expõe suas próprias saídas — e você as referencia pelo nome do nó, não por um código interno.

Ao criar um nó novo, ele já nasce com um id legível derivado do tipo: um nó Agente de IA vira agente, um segundo Agente de IA na mesma tela vira agente_2, e assim por diante. Isso substitui o esquema antigo de ids opacos como n_agent_1722538_3.

Você pode trocar esse nome a qualquer momento pelo título editável no topo do painel de configuração (veja A tela do Flow Builder para o quadro completo da interface). Ao confirmar, o nome digitado vira o id do nó: acentos são removidos, tudo vira minúsculas e espaços viram _ — "Consulta CPF" vira consulta_cpf. Se o resultado colidir com o id de outro nó, ganha um sufixo numérico (consulta_cpf_2, consulta_cpf_3...).

Exemplo

Um nó Agente de IA renomeado para "Consulta CPF" tem sua saída referenciada assim:

{{consulta_cpf.resposta}}

Em vez do antigo {{n_agent_1722538_3.resposta}} — muito mais fácil de ler e de manter conforme o fluxo cresce.

Dica

Renomear é seguro: todas as referências existentes no fluxo — templates {{ }}, expressões, condições e os ponteiros de conexão entre nós — são reescritas automaticamente para o novo nome. Nada quebra.


Escopos de variável

Toda variável pertence a um escopo, que define quem enxerga ela e por quanto tempo ela vive:

EscopoPrefixoVive por quanto tempo
Fluxoflow.Durante toda a execução do fluxo; legível em qualquer nó
Locallocal.Apenas dentro do nó/escopo atual
Contatocontact.Associado ao contato; persiste entre execuções
Workspaceworkspace.Compartilhado por todos os fluxos do workspace

Você declara essas variáveis no Gerenciador de Variáveis (ícone de chaves {} na topbar do editor), escolhendo o escopo desejado na hora de criar. Depois de declaradas, elas aparecem no seletor de variáveis de cada nó, agrupadas por escopo, junto com as saídas dos nós anteriores, Sistema (sys.), Evento (event.) e Contato.

Para referenciar uma variável numa expressão, use a notação pontuada com o prefixo do escopo: {{flow.nome_lead}}, {{contact.email}}.

Quando o mesmo nome de variável existe em mais de um escopo, vale a ordem de precedência Local > Fluxo > Contato > Workspace: o escopo mais interno sempre vence.

Valor padrão

Ao declarar uma variável no Gerenciador de Variáveis, o valor padrão é aplicado automaticamente no início de cada execução — a variável já nasce preenchida, sem precisar de um nó assigner só para inicializá-la.

Duas regras importantes:

  • O padrão só entra quando a variável ainda não tem valor. Se o disparo do fluxo já trouxe um valor (ex.: dados do evento, do contato ou de uma execução retomada), esse valor vence e o padrão é ignorado.
  • O padrão respeita o tipo escolhido na declaração. Um padrão 0 numa variável do tipo Número vira o número zero (não o texto "0"), e false numa variável Booleano vira falso de verdade — então dá para usar direto numa condição sem conversão.

Variáveis do contato persistem de verdade

O escopo Contato (contact.) é gravado no cadastro do contato. Tudo que o fluxo escrever em contact. fica salvo ao fim da execução e é carregado de volta na próxima execução — inclusive em outro fluxo, dias depois.

É o lugar certo para memória de longo prazo do lead: estágio da qualificação, preferências, se já recebeu determinada oferta.

Dica

Quando o disparo traz um dado atualizado do contato (nome, telefone) e existe uma variável salva com o mesmo nome, o dado do disparo — mais recente — é o que vale naquela execução.

Variáveis de workspace também persistem de verdade

O escopo Workspace (workspace.) é compartilhado por todos os fluxos do workspace, não só pelo contato atual. Tudo que um fluxo escrever em workspace. fica salvo e disponível para qualquer outro fluxo, em qualquer execução futura — é o lugar certo para configuração operacional viva: um contador global, um indicador de campanha ativa, o último ID processado de uma sincronização.

Declare a variável no Gerenciador de Variáveis com escopo Workspace, ou deixe que um assigner/variable_assigner a crie na primeira escrita.

Dica

Diferente do escopo Contato, o Workspace não tem "dono" — cuidado com escrita concorrente vinda de execuções paralelas. Prefira nomes específicos (ultima_sincronizacao_crm) a nomes genéricos (status) para evitar que fluxos diferentes pisem na mesma variável sem querer.

No gatilho Mensagem Recebida (inbound_message), o evento traz duas variáveis sobre o cadastro do contato no sistema jurídico conectado ao workspace:

VariávelTipoO que contém
{{event.contact.is_client}}BooleanoVerdadeiro quando o contato já está cadastrado como cliente no sistema jurídico conectado ao workspace
{{event.contact.legal_provider}}TextoQual sistema jurídico tem o cadastro: advbox ou meu_estagiario. Vem vazio quando o contato não é cliente

O uso típico é uma condição logo após o Start: se is_client for verdadeiro, o fluxo entra na trilha de cliente (consulta de processos, agenda); se for falso, entra na trilha de prospecção.

Dica

is_client não mudou de nome nem de significado com a entrada do segundo sistema jurídico. Fluxos publicados que já usam essa variável continuam funcionando exatamente como antes — o que mudou foi apenas de onde o sistema lê a informação internamente. A variável legal_provider é nova e opcional: use quando o fluxo precisar se comportar de um jeito diferente para cada sistema.


Nó Atribuir Variável (assigner)

Passo a passo
  1. Arraste o nó **Atribuir Variável** para o canvas e conecte-o ao bloco anterior.
    Paleta de nós aberta no canvas do Flow Builder, com as categorias disponíveis para localizar e arrastar o nó desejado

    Paleta de nós aberta no canvas do Flow Builder, com as categorias disponíveis para localizar e arrastar o nó desejado

  2. No painel à direita, clique em **+ Adicionar variável**.
  3. Digite o nome da variável (ex.: `nome_cliente`) e escolha a operação desejada.
  4. Informe o valor — pode ser texto fixo ou uma expressão como {{contact.name}}.
  5. Repita para quantas variáveis precisar e salve.

Operações disponíveis

OperaçãoO que faz
over-writeSubstitui o valor atual pelo novo
clearApaga o valor (deixa a variável vazia)
appendAdiciona texto ao final do valor existente
extendAdiciona itens ao final de uma lista
Exemplo

Você quer guardar a resposta do cliente e depois mostrar numa mensagem:

variável: produto_escolhido
operação: over-write
valor:    {{esperar_botao.label}}

Depois, no nó de mensagem: "Você escolheu: {{produto_escolhido}}. Aguarde!"

Dica

Use nomes de variável sem espaços e sem acentos. Prefira snake_case, como nome_cliente ou valor_total. Fica mais fácil de usar nas expressões {{ }}.


Nó Mesclar Variáveis (variable_assigner)

Esse nó pega valores de várias partes do fluxo e os organiza numa saída única e tipada — ideal quando você precisa passar um "pacote de dados" para um nó de IA ou de integração.

Passo a passo
  1. Arraste o nó **Mesclar Variáveis** para o canvas.
  2. Escolha o tipo de saída: **Texto**, **Número**, **Objeto JSON** ou **Array**.
  3. Adicione as entradas, mapeando cada campo ao valor correspondente do fluxo.
  4. Conecte a saída deste nó ao próximo bloco que vai consumir esses dados.
Campos
CampoO que faz
Tipo de saídaDefine o formato do resultado (texto, número, objeto, array)
EntradasLista de pares chave → valor que serão mesclados
Nome da variável de saídaComo essa variável ficará disponível nos próximos nós

Saiba mais