Chatbot: blocos de conversa
Este artigo detalha os blocos que conversam com o cliente e decidem o caminho do fluxo: Trigger, Mensagem, Pergunta, Condição, Horário e Espera. Os blocos Ação, API e IA estão em Chatbot: ações, API e IA.
Para abrir a configuração de um bloco, clique nele no editor do fluxo. O painel Configuração aparece à direita.
# Trigger
É a entrada do fluxo. Cada fluxo tem um, e ele não recebe conexões.
| Tipo de Trigger | Quando o bot inicia | O que configurar |
|---|---|---|
| Primeiro Contato + Nova Conversa (Recomendado) | Quando um contato escreve pela primeira vez ou reabre uma conversa encerrada, no número associado ao fluxo | Nada. O bloco ganha duas saídas |
| Palavra-chave | Quando a mensagem contém uma das palavras | Palavras-chave (separe por vírgula) |
| Tag Adicionada | Quando uma das tags é adicionada à conversa | Tags que disparam o bot |
| Entrou em Segmento | Quando um contato passa a fazer parte do segmento | Segmento e Instância do WhatsApp |
| Bot Manual (disparado pelo operador) | Quando o atendente clica no botão Bot manual dentro da conversa | Nada |
Detalhes que mudam o comportamento:
- Primeiro Contato + Nova Conversa tem as saídas 1º contato (nunca falou antes) e Retorno (já conversou). Ligue as duas ao mesmo bloco se o tratamento for igual.
- Palavra-chave compara a palavra inteira, sem diferenciar maiúsculas nem
acentos:
menucombina com “quero o menu”, não com “menus”. Tem prioridade sobre o fluxo associado ao número. - Tag Adicionada usa as tags de conversa. Se a conversa já está com um atendente, o bot roda e ela continua com ele.
- Entrou em Segmento abre a conversa pelo número escolhido. Mostra quantos contatos do segmento têm telefone; quem não tem é ignorado. A entrada no segmento é verificada a cada poucos minutos, e quem já estava nele quando o fluxo foi ativado não recebe nada. Em número oficial (Cloud API), escolha o template aprovado que abre a conversa fora da janela de 24 horas.
- Bot Manual: quando o fluxo termina ou falha, a conversa volta para o atendente que o iniciou.
# Mensagem
Envia um conteúdo e segue para o próximo bloco.
| Tipo de Mensagem | Campos |
|---|---|
| Texto | Conteúdo |
| Imagem | URL da Imagem ou Fazer upload; Legenda (opcional) |
| Áudio | URL do Áudio ou Fazer upload |
| Arquivo | URL do Arquivo ou Fazer upload; Nome do arquivo (opcional) |
| Botões | Conteúdo (texto acima dos botões) e Botões (máx. 3) |
Com Botões, o bloco ganha uma saída por botão e o fluxo espera a resposta:
- O cliente pode tocar no botão, digitar o número da opção (
1,2,3) ou digitar o texto do botão. - Resposta que não combina com nenhuma opção recebe “Não entendi” e o menu de novo. Na terceira, o bot entrega a conversa a um atendente.
- O WhatsApp aceita até 3 botões, com até 20 caracteres cada.
- Botão sem texto não é exibido.
Mensagem sem botões e com mais de uma saída envia todos os ramos ao cliente. Para dividir o caminho, use botões ou uma Condição.
# Pergunta
Envia uma pergunta, espera a resposta e a guarda.
| Campo | O que é |
|---|---|
| Pergunta | O texto enviado. Sem texto, o bloco é pulado |
| Salvar também no contato | Apenas variável de fluxo, Campo nativo do contato ou Campo customizado |
| Validação | Texto livre, E-mail, Telefone ou Número |
| Mensagem se inválido | Texto enviado quando a resposta não passa na validação. Vazio, o bot usa uma dica padrão |
| Nome da variável de fluxo | Nome para usar a resposta depois, como email_lead. Só letras, números e _ |
- Com um campo do contato escolhido, o nome da variável é opcional: vazio, a resposta fica disponível com o nome do campo.
- Se a conversa ainda não tem contato, o DeepLead cria um para gravar a resposta.
- Campos nativos gravados: nome completo, e-mail, telefone, empresa, documento, nome fantasia, website, indicador e notas. Primeiro nome aparece na lista, mas não é gravado.
- Três respostas inválidas seguidas entregam a conversa a um atendente.
- A pergunta precisa de uma saída. Sem ela, o bot repete a pergunta a cada resposta.
# Condição
Divide o fluxo nas saídas Sim e Não.
| Tipo de Condição | Sim quando |
|---|---|
| Palavra-chave | A última mensagem do cliente contém uma das palavras |
| Possui Tag | O contato tem a tag escolhida |
| Lead Score | A pontuação atende ao Operador e ao Valor |
| Campo do Contato | O campo contém o texto informado |
Em Campo do Contato, use os campos nativos. A lista também mostra campos personalizados, mas a comparação só funciona com os nativos.
# Horário
Envia a conversa por um caminho conforme o horário de atendimento. Escolha um Horário da biblioteca: o bloco cria uma saída para cada janela e a saída Senão, usada fora de todas as janelas, em feriado ou em exceção.
- É obrigatório escolher o horário e conectar a saída Senão. Sem isso, o fluxo não salva.
- Janela sem conexão segue por Senão.
- Se o horário mudar depois, o painel mostra Atualizar saídas. Conexões de janelas removidas são apagadas.
- A linha Agora: aberto ou Agora: fechado mostra por onde a conversa seguiria neste instante.
Um fluxo com este bloco assume o controle do expediente: quando ele atende a conversa, a mensagem de ausência e a de feriado não são enviadas. O ramo Senão faz esse papel e não tem o limite de uma mensagem a cada 24 horas. Para não repetir, ligue Pular bot para contatos que já conversaram hoje no número. Os horários são criados na biblioteca de horários.
# Espera
Pausa o fluxo. Escolha a Unidade (minutos ou horas) e a Duração. Passado o tempo, o bloco seguinte é executado. Se o cliente escrever durante a espera, o fluxo continua na hora.
# Variáveis nos textos
Mensagens, perguntas e endereços de API aceitam variáveis entre chaves duplas. O link Variáveis disponíveis insere as do contato.
| Variável | Valor |
|---|---|
{{name}}, {{first_name}} |
Nome completo e primeiro nome |
{{email}}, {{phone}}, {{company}} |
E-mail, telefone e empresa |
{{document}}, {{trade_name}}, {{website}}, {{referrer}}, {{notes}} |
Documento, nome fantasia, site, indicador e notas |
{{custom_data.chave}} |
Um campo personalizado, pela chave do campo |
{{nome_da_variavel}} |
Resposta de uma Pergunta ou dado extraído de uma API |
{{schedule_status}}, {{schedule_window}}, {{schedule_next_open}}, {{next_business_day}} |
Preenchidas depois de um bloco Horário |
Variável sem valor não some: o cliente recebe o texto {{name}} como está.
Teste com um contato sem aquele dado antes de ativar.