1.Variável
Passo a passo:
1º passo: após arrastar o bloco de "Variável" pra dentro do seu fluxo e clicar em "Clique aqui para editar...", selecione ou crie uma variável.
2º passo: defina um valor específico para uma variável.
Com a opção "Custom" selecionada, é possível definir uma variável de texto simples e incorporar código Javascript . Além disso, você pode criar funções com variáveis ja existentes para tratar o dado. Seguem alguns exemplos abaixo:
-
Adicione um valor à sua variável:
{{Nome}} + 5
-
Calcule uma soma de variáveis:
{{Nome}} + {{ID do usuário}}
-
Multiplique as variáveis:
{{Pontuação}} * {{Idade}}
-
Calcule uma porcentagem:
{{Pontuação}} * 100 / {{Pontuação Máxima}}
-
Extraia o primeiro nome de um nome completo:
{{Nome completo}}.split(' ')[0]
-
Transforme a variável existente em:
maiúsculas:
{{Nome}}.toUpperCase()
minúsculas:
{{Nome}}.toLowerCase()
-
Também pode ser código Javascript. Ele lerá o valor retornado do código e o definirá como sua variável:
const name = 'Luana' + 'Maria'
return name
2.Redirecionar
Redirecione o seu usuário para uma determinada URL, na guia atual ou em uma nova guia.
🚨Atenção!
Os dispositivos Safari e iOS agora bloqueiam redirecionamentos automáticos para novas guias por padrão. Certifique-se de testar essa funcionalidade em seu código de redirecionamento nessas plataformas.
3.Bot
O bloco "Bot" permite encaminhar o fluxo para um bot ou grupo já existente. Com essa funcionalidade, é possível manter seus fluxos limpos e reutilizá-los em vários lugares.
- Compartilhe variáveis entre bots
Os valores das variáveis existentes são automaticamente compartilhados com o bot vinculado. Isso significa que se este bot vinculado contiver nomes de variáveis semelhantes, ele será automaticamente preenchido com os valores do bot anterior.
Exemplo: meu primeiro bot pede o nome do usuário e o armazena na variável Nome
. Em seguida, vinculo a outro bot que exibe uma variável Nome
em um balão de texto. Isso exibirá o nome coletado no primeiro bot.
Passo a passo:
1º passo: após arrastar o bloco "Bot" para dentro do seu fluxo, clique em "Configure...".
2º passo: selecione um bot já existente.
Se desejar que o bot atual seja direcionado para algum grupo dentro desse fluxo, clique em "Current Bot".
3º passo: no novo campo que surgirá, selecione o grupo desejado dentro desse fluxo.
4º passo: ative a opção "Merge answers" se quiser mesclar as respostas coletadas de um bot vinculado ao bot atual.
Isso é útil se você quer reunir respostas de vários bots e enviá-las de uma vez para outro aplicativo. Ou se só deseja unir todas as respostas em uma única tabela de resultados.
4.Pular
O bloco "Pular" permite saltar para um bloco de um grupo específico. Isso ajuda manter seu fluxo limpo.
5.Condição
Divida seu fluxo em duas partes com base em uma condição. Uma condição pode conter diferentes comparações que são avaliadas em ordem e vinculadas a um operador lógico: "AND" ou "OR".
Passo a passo:
1º passo: após arrastar o bloco de "Condição" para o seu fluxo, clique em "Configure..". Em seguida, clique no botão "+ Adicionar uma comparação".
2º passo: selecione uma variável já existente ou crie uma nova.
3º passo: em "Selecionar um operador", selecione uma condição de acordo com a lógica do seu fluxo.
4º passo: digite o valor da variável de comparação.
5º passo: se desejar adicione mais comparações e selecione um operador lógico(AND ou OR).
- Exemplo de um fluxo com condicional: se a quantidade de usuários for igual a 500 AND a quantidade de acessos mensal for menor que 20, ele será encaminhado para o fluxo A. Se a quantidade de usuários for menor que 500, ele será encaminhado para o fluxo B.
6.Script
O bloco "Script" permite executar código JavaScript dentro do seu fluxo.
❗Informações importantes
-
Este bloco não permite criar um bloco visual personalizado.
-
As variáveis dentro do script são avaliadas como JavaScript real.
Exemplo: Em vez de
console.log("{{Minha Variável}}")
, useconsole.log({{Minha Variável}})
.
Definindo variáveis no Script
A maneira mais recomendada de definir variáveis é usando o bloco "Variável". No entanto, se precisar fazer isso dentro do bloco Script, use a função setVariable
:
if({{Minha Variável}} === 'valor1') {
setVariable('Minha Variável', 'novoValor')
} else {
setVariable('Minha Variável', 'outroValor')
}
🚨 Atenção! A função setVariable
só funciona se o script for executado no servidor. Se a opção "Execute on client?" estiver ativada, essa função não funcionará.
Limitações do Script no Servidor
Os scripts executados no servidor rodam em um ambiente isolado e seguro, o que traz algumas restrições:
-
Funções globais como
console.log
,setTimeout
esetInterval
não estão disponíveis. -
A função
fetch
funciona de forma diferente: não é possível usarawait response.text()
ouawait response.json()
.
Exemplo de código que gera erro:
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1')
const data = await response.text()
Exemplo de código correto:
const data = await fetch('https://jsonplaceholder.typicode.com/todos/1')
O response
será sempre uma string, mesmo que a resposta seja um objeto JSON. Se tiver certeza de que o retorno é JSON, use JSON.parse(response)
.
Código que gera erro:
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1')
const data = await response.json()
Código correto:
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1')
const data = JSON.parse(response)
-
Não é possível importar bibliotecas externas usando
import
ourequire
. -
APIs do navegador como
window
,document
elocalStorage
não estão acessíveis.
Se precisar usar APIs do navegador, ative a opção "Execute on client?" para que o script seja executado diretamente no navegador do usuário.
Exemplos:
Recarregar a página
window.location.reload()
Redirecionar com base em uma variável
if({{Categoria}} === 'qualificado') {
window.location.href = 'https://meu-site.com'
}
7.Espera
Com o bloco "Espera", é possível pausar a conversa por um determinado período, em segundos. Isso é útil se você deseja que o bot enfatize o que foi dito ou espere antes de um redirecionamento, por exemplo, para ter certeza de que o usuário leu tudo.
📌 Lembre-se que ao ativar a opção de "Pausar o fluxo", automaticamente o fluxo fica pausado até que o cliente envie outra mensagem.
8.Teste AB
Divida o fluxo em 2 caminhos aleatoriamente. É uma ótima maneira de testar o desempenho de dois caminhos diferentes.
Você pode empilhar vários blocos de teste AB para adicionar mais caminhos aleatórios.
Após definir os caminhos e publicar o seu bot, é possível analisar o seu teste através do passo a passo abaixo:
1º passo: dentro do fluxo do seu bot, selecione a aba "Resultados". Lembrando que essa aba só aparece em bots publicados.
2º passo: clique em "Analytics".
3º passo: em "Analytics", existem dados como:
-
Visualizações: quantidade total de visualizações que o bot possui.
-
Inícios: quantidade de inputs iniciados.
-
Taxa de conclusão: porcentagem total de conclusão do fluxo do bot.
Atrelado a cada input, tem uma etiqueta colorida com a quantidade de usuários que abandonaram e a porcentagem de usuários que visualizaram esse input.
Pronto! Agora você já sabe como utilizar os blocos de condicionais.