13 min read

O construtor de fluxos

Desenhe uma conversa de WhatsApp como um diagrama — o que o bot diz, o que ele pergunta e para onde cada resposta leva — usando a lista de fluxos, o quadro e cada um dos blocos que você pode colocar nele, sem nenhuma linha de código.

O construtor de fluxos

Um fluxo é uma conversa desenhada como um diagrama. Você monta o que o bot diz, o que ele pergunta e para onde cada resposta leva — sem código. Quando alguém manda mensagem para o seu número de WhatsApp e as palavras dessa pessoa casam com o gatilho de um fluxo, o bot segue o caminho que você desenhou. Este guia percorre a lista, o quadro e cada tipo de bloco que você pode colocar nele.

Um fluxo só roda quando o motor do bot está definido como Flow Builder nas suas configurações de chatbot. Desenhe o que quiser aqui; é lá que se decide se é isso que vai responder aos seus clientes.

Os seus fluxos

Onde os seus bots vivem

Todo fluxo que você construiu aparece aqui. O selo diz se ele está no ar: um fluxo ativo está respondendo clientes neste momento, um pausado está salvo mas ignorado. Nada do que você desenha afeta conversas reais até que você o ligue.

A lista de fluxos, cada fluxo mostrado como um cartão com um selo de status

O que um cartão de fluxo lhe diz

Cada cartão carrega o nome do fluxo, a descrição dele, se ele está Active e as palavras que o disparam. “Edit this flow” abre o quadro — o diagrama em si. O menu de três pontos guarda Settings, Duplicate e Delete. A chave ao lado dele liga e desliga o bot.

Um único cartão de fluxo mostrando o nome, a descrição, o status e as palavras-gatilho

Ativo e pausado, lado a lado

O bot de suporte a pedidos está ativo — ele responde a qualquer pessoa cuja mensagem case com as palavras-gatilho dele. O lembrete de carrinho abandonado está pausado: continua salvo, continua editável, simplesmente não está rodando. Pausar é como você tira um bot de serviço sem perder o trabalho.

Dois cartões de fluxo lado a lado, um ativo e um pausado

Quantos são, e quantos estão rodando

Os quatro quadrinhos contam os seus fluxos, quantos estão no ar, quantos estão pausados e o quão perto você está do seu limite. O limite é por conta; se você está perto dele, exclua ou exporte os fluxos que não usa mais.

Quatro quadrinhos contadores acima da lista de fluxos

Criando um fluxo novo

Três jeitos de começar

Create Flow abre um assistente de três passos. Comece do zero, comece de um modelo, ou descreva o que você quer e deixe o assistente rascunhar. A escolha só decide o que estará no quadro quando você chegar — você pode mudar qualquer coisa depois.

O primeiro passo do assistente de criação de fluxo, oferecendo três jeitos de começar

Dando um nome a ele

Começar em branco pede só um nome e uma descrição opcional. Dê o nome do serviço que ele presta — um bot de suporte a pedidos é melhor do que Flow 3 quando você tem uma dúzia deles. Fluxos novos são sempre criados pausados, então nada entra no ar por acidente.

O passo de fluxo em branco pedindo um nome e uma descrição opcional

O quadro

Um fluxo, desenhado

Abrir um fluxo mostra a conversa como blocos ligados por setas. Leia da esquerda para a direita: o bot cumprimenta, faz uma pergunta, responde e encerra. Cada bloco é uma coisa que o bot faz; cada seta é para onde a conversa vai em seguida. Este fluxo inteiro tem quatro blocos — a maioria dos bots úteis não é muito maior.

O quadro mostrando um fluxo de quatro blocos ligados por setas

Os blocos que você pode adicionar

A paleta lista todo tipo de bloco, agrupado pelo que ele faz: Flow Control decide para onde a conversa vai, Messages envia alguma coisa, User Input coleta uma resposta, Interactive oferece botões ou uma lista, e Integration fala com outro sistema. Clique em um para soltá-lo no quadro.

Observação: A paleta oferece treze itens, mas o Audio não está pronto — ele não pode ser configurado, então este guia não o cobre. Todo o resto da paleta está documentado abaixo.

A paleta de tipos de bloco, agrupada em cinco categorias

Selecionando um bloco

Clicar em um bloco o seleciona e abre o painel de propriedades dele. O painel começa somente para leitura: aperte Configure para editar, Save para manter a mudança, e a lixeira para excluir o bloco. O painel flutua — arraste-o pelo cabeçalho se ele estiver cobrindo algo que você precisa ver.

O cabeçalho de um painel de propriedades com os controles Configure, Save e o de exclusão

Onde uma conversa começa e termina

O bloco Start

O bloco Start é a porta de entrada. Ele guarda a saudação e as palavras-gatilho: se a mensagem de um cliente contém uma delas, este fluxo roda. Todo fluxo tem exatamente um Start.

O bloco Start no quadro

Start — propriedades

A mensagem de boas-vindas é o que o bot diz primeiro, e pode ser diferente por idioma. Trigger Type decide quem a recebe: All Messages responde a todo mundo, Keywords responde só às mensagens que contêm as suas palavras. Case Sensitive e Exact Match apertam isso ainda mais. Typing Delay faz o bot dar uma pausa antes de responder, para que pareça menos seco.

O painel de propriedades do Start com a mensagem de boas-vindas, o tipo de gatilho e o atraso de digitação

O bloco Text

Um bloco Text simplesmente diz alguma coisa. É o bloco mais comum em qualquer fluxo — a metade da conversa que cabe ao bot.

O bloco Text no quadro

Text — propriedades

Digite a mensagem e pronto. Quick Replies acrescentam sugestões tocáveis embaixo dela, que poupam a digitação do cliente. Typing Delay funciona como em todo bloco de mensagem.

O painel de propriedades do Text com o corpo da mensagem e as respostas rápidas

O bloco End

O bloco End encerra a conversa. Vale acrescentar um mesmo quando o fluxo parece terminado sem ele — é ele que diz ao bot para parar e reiniciar.

O bloco End no quadro

End — propriedades

Uma mensagem de encerramento, por idioma se você precisar, e se a conversa deve ser reiniciada para que a próxima mensagem recomece o fluxo do topo. Deixe o Reset ligado, a menos que você tenha um motivo para não deixar.

O painel de propriedades do End com a mensagem de encerramento e a chave de reinício

Perguntando com botões

O bloco Buttons

Um bloco Buttons pergunta alguma coisa e dá respostas tocáveis em vez de obrigar o cliente a digitar. Cada botão pode levar a um lugar diferente, e é assim que uma conversa se ramifica.

O bloco Buttons no quadro com uma saída por botão

Buttons — propriedades

A mensagem fica acima dos botões, e a prévia mostra mais ou menos o que o WhatsApp vai desenhar. Cada botão tem um rótulo curto — mantenha-o curto, o WhatsApp corta. Um botão pode ser uma resposta simples, um link, um número de telefone ou um código para copiar. O WhatsApp permite no máximo três, e o painel se recusa a salvar se você quebrar as regras dele, em vez de deixar o envio falhar depois.

O painel de propriedades do Buttons com a mensagem, a lista de botões e uma prévia

Enviando fotos, vídeos e arquivos

O bloco Image

Um bloco Image envia uma imagem, com uma legenda opcional embaixo. A captura de tela vem de outro fluxo — um que manda a alguém os detalhes do pedido —, porque um bloco é mais fácil de entender ao lado dos blocos com os quais ele realmente trabalha.

O bloco Image no quadro

Image — propriedades

Ou cole um link para uma imagem, ou envie uma. Enviar guarda o arquivo e lhe mostra uma prévia, para que você veja exatamente o que o cliente vai receber. A legenda é opcional.

O painel de propriedades do Image oferecendo um link ou um envio, com uma prévia e uma legenda

O bloco Video

Um bloco Video envia um clipe. Útil para um passo a passo que levaria três mensagens para explicar.

O bloco Video no quadro

Video — propriedades

O WhatsApp é rigoroso com vídeo: MP4 ou 3GPP, e nada maior que 16 MB. O painel diz isso logo de cara e o impõe no envio. Uma vez enviado, ele lhe diz se o arquivo já foi adiantado ao WhatsApp ou se ainda está só guardado aqui.

O painel de propriedades do Video mostrando os limites de formato e tamanho e o estado do envio

O bloco Document

Um bloco Document envia um arquivo — uma nota fiscal, um recibo, uma tabela de preços.

O bloco Document no quadro

Document — propriedades

Link ou envio, igual a uma imagem. O nome do arquivo importa aqui: é o que o cliente vê na conversa dele, então nota-fiscal.pdf é mais gentil do que um monte de caracteres aleatórios.

O painel de propriedades do Document com um link ou envio e o campo do nome do arquivo

Coletando uma resposta e ramificando

O bloco User Input

Um bloco Input faz uma pergunta e espera o cliente digitar. O que quer que ele diga é guardado e pode ser usado mais adiante no fluxo. Este fluxo agenda um retorno de ligação: ele pede um nome, oferece horários e então se ramifica.

O bloco User Input no quadro

Input — propriedades

Escolha o que você está pedindo — texto, um número, um e-mail, um telefone ou uma escolha em uma lista — e o bloco confere a resposta para você. O prompt é a pergunta em si, e pode ser diferente por idioma.

O painel de propriedades do Input com o tipo de resposta e o prompt

Input — a metade avançada

Advanced Settings guarda tudo sobre o que acontece quando a resposta está errada ou nunca chega: quanto tempo esperar, o que dizer quando falha, quantas tentativas antes de desistir e as regras exatas que a resposta precisa satisfazer. A maioria dos fluxos nunca precisa disso, e é por isso que começam recolhidas.

O painel do Input com Advanced Settings expandido, mostrando tempos limite, tentativas e regras de validação

O bloco List

Um bloco List oferece mais escolhas do que os botões conseguem — até dez, agrupadas em seções, atrás de um único toque.

O bloco List no quadro

List — propriedades

A mensagem e o texto do botão são o que o cliente vê primeiro; as opções vivem atrás desse botão. Agrupe-as em seções quando forem muitas. Os títulos são limitados a 24 caracteres e as descrições a 72 — o painel conta para você e se recusa a salvar uma lista que o WhatsApp rejeitaria.

O painel de propriedades do List com a mensagem, o texto do botão e as opções em seções

O bloco Condition

Um bloco Condition é uma bifurcação. Ele olha a última resposta e manda a conversa por um de dois caminhos. Repare que ele tem duas saídas, e não uma.

O bloco Condition no quadro com duas saídas

Condition — propriedades

Cada regra compara a última resposta com um valor — contém, é igual a, está vazio, é maior que, e assim por diante — e diz qual saída seguir quando ela casa. A saída padrão pega tudo o que não casa. Monte a regra primeiro, depois arraste a saída dela para o bloco que deve vir em seguida.

O painel de propriedades do Condition com uma regra de comparação e uma saída padrão

Conversando com outros sistemas

O bloco Webhook

Um bloco Webhook chama outro sistema no meio da conversa — para conferir o estoque, consultar um pedido ou contar ao seu próprio software o que acabou de acontecer.

O bloco Webhook no quadro

Webhook — propriedades

A URL e o método são a chamada em si; os cabeçalhos e o corpo são o que você envia. As configurações de tempo limite e de repetição decidem quanto esperar e com que frequência tentar de novo, e Response Handling decide o que a conversa faz com a resposta.

O painel de propriedades do Webhook com a URL, o método, os cabeçalhos, o corpo e o tratamento da resposta

O bloco Redirect

Um bloco Redirect entrega a conversa a outro fluxo, a um bloco específico ou a um link externo. É assim que você reaproveita um fluxo a partir de vários outros, em vez de desenhá-lo duas vezes.

O bloco Redirect no quadro

Redirect — propriedades

Escolha para onde mandar a pessoa: outro fluxo, um bloco dentro deste, ou um endereço na web. Preserve Context leva junto o que você já coletou; Return After a traz de volta para cá quando o outro fluxo termina, o que transforma um redirecionamento em um desvio, e não em uma porta de mão única.

O painel de propriedades do Redirect com o seletor de destino, Preserve Context e Return After

Mudar o tipo para uma URL troca o seletor de fluxo por um endereço na web. O resumo lá embaixo sempre repete o que o bloco vai de fato fazer, e vale lê-lo antes de salvar.

O painel do Redirect definido para uma URL, com um resumo do que o bloco vai fazer

Entrando no ar

Renomeando e ligando

Settings guarda o nome do fluxo, a descrição e a chave Active dele. É esta a chave que importa: enquanto ela não estiver ligada, o fluxo é um desenho. Ligue-a e a próxima mensagem que casar vai executá-lo.

A caixa de configurações do fluxo com o nome, a descrição e a chave Active