Variáveis são espaços reservados para conteúdo que você pode então usar em qualquer lugar do seu fluxo. É um conceito muito importante de entender para realmente criar uma experiência personalizada para o usuário.

Salvar uma resposta em uma variável

Você pode dizer ao seu bloco de entrada para salvar a resposta em uma variável e reutilizá-la posteriormente em uma envio, por exemplo:

Salvando variável

Usar variáveis

Depois que suas variáveis são declaradas, você pode usá-las em qualquer lugar do seu fluxo. Por exemplo, você pode exibi-las em uma mensagem de texto com a seguinte sintaxe:

{{Minha variável}} onde “Minha variável” é o nome da sua variável.

Formatação de variáveis inline

Você também pode decidir formatar sua variável diretamente no envio de texto. Por exemplo, se você quiser exibir a variável “Primeiro nome” em maiúsculas, você pode usar a seguinte sintaxe:

{{={{Minha variável}}.toUpperCase()=}}

Quando você insere {{= ... =}}, significa que o que está dentro será executado como JavaScript. Então você pode usar qualquer função JavaScript inline dentro. O comportamento é semelhante ao valor personalizado no bloco Definir Variável.

Se você quiser obter o primeiro item de uma lista:

{{={{Minha variável}}[0]=}} ou {{={{Minha variável}}.at(0)=}}

Da mesma forma para o último item:

{{={{Minha variável}}.at(-1)=}}

Variáveis ocultas

As variáveis do seu fluxo não precisam ser exibidas para o contato. Você poderia criar variáveis que são usadas apenas internamente pela automação e exibidas nos seus resultados. Isso permite adicionar algum contexto a uma sessão, por exemplo, um ID de usuário, um parâmetro utm_source (no caso de uma campanha de marketing) ou qualquer outra coisa.

Você só precisa garantir que as variáveis existam no menu de variáveis:

Menu de variáveis

(Este menu pode ser encontrado em qualquer lugar onde você pode adicionar variáveis. Ele é global para o fluxo.)

Então os valores estarão disponíveis na página de Resultados em colunas específicas:

Variáveis nos resultados

Tipos de valor válidos

O conteúdo das variáveis pode ser um texto (string) ou uma lista de textos (string[]).

// ✅ Bom
'Olá', ['item 1', 'item 2']

// ❌ Ruim
2, true, { foo: 'bar' }
// Será automaticamente convertido para
'2', 'true', '{ foo: "bar" }'

Se você fornecer um objeto, número ou booleano. Ele sempre será convertido em um texto ou uma lista de textos antes que a variável seja salva no banco de dados.

Essa limitação é intencional. As variáveis devem ter um conteúdo simples. Isso força você a ter uma estrutura mais limpa e a usar o conteúdo da variável de forma mais significativa.

Em alguns casos, o conteúdo da variável será analisado dinamicamente para corresponder ao seu tipo pretendido. Por exemplo, se você fornecer um texto que parece um número em um bloco de condição, ele será convertido em um número durante a execução da condição.

Se você realmente precisar salvar um conteúdo complexo em uma variável, por exemplo, um objeto, você pode usar a função JSON.stringify para convertê-lo em um texto. E sempre que estiver usando a variável, você pode analisá-la dinamicamente de volta em um objeto usando JSON.parse em um formato inline:

{{=JSON.parse({{My object variable}})=}}

Variáveis padrão

Por padrão, um fluxo já vem com algumas variáveis preenchidas para facilitar algumas funções. São elas:

VariávelValor
greetingBom dia/tarde/noite dependendo do momento do dia
dateData atual
hourHora atual
ticketIdId do Ticket do atendimento
protocolProtocolo do atendimento
contactNameNome do contato alvo da automação
contactNumberNúmero do contato alvo da automação
tagIdId da Tag do contato alvo da automação (caso exista)
tagNameNome Tag do contato alvo da automação (caso exista)