O que é e por que usar
Um chatbot integrado ao WhatsApp é um programa que responde automaticamente a mensagens recebidas nesse canal. Quando você combina essa ideia com o n8n — uma plataforma de automação de fluxos de trabalho (workflow automation) — o resultado é um assistente que não apenas responde por texto, mas também consulta bancos de dados, dispara notificações, atualiza planilhas e executa ações em outras ferramentas com as quais você já trabalha.
O problema que essa combinação resolve é claro: o WhatsApp Business é hoje o canal de comunicação mais usado no Brasil, presente no celular de 99% dos adultos. Empresas de qualquer porte recebem diariamente dezenas ou centenas de mensagens repetitivas — “qual o horário de funcionamento?”, “ainda tenho vaga?”, “qual o valor do serviço?”. Sem automação, alguém na equipe precisa parar o que está fazendo para responder individualmente. Um chatbot cuida de até 80% dessas interações, respondendo em segundos, sem fila e sem custo emocional.
O n8n é a peça-chave porque permite construir esse fluxo sem escrever código complexo, usando nós (nodes) visuais que se conectam. Você pode combinar o nó do WhatsApp com nós de planilhas, APIs, bancos de dados e até modelos de inteligência artificial. E como o n8n pode ser self-hosted (instalado no seu próprio servidor), você mantém controle dos dados e dos custos.

Pré-requisitos
Antes de começar, você precisará dos seguintes itens:
- Um número de WhatsApp Business — pode ser um número novo ou um existente, mas precisa ser verificado pela Meta. Para testes, você pode usar o número de um celular que não esteja em uso corrente.
- Uma conta na Meta for Developers — gratuita, usada para criar o aplicativo que se conecta à WhatsApp Cloud API.
- Uma instância do n8n — pode ser a versão cloud em n8n.io (há plano gratuito com limitações) ou uma instalação self-hosted via Docker em um servidor VPS.
- Conhecimento básico de APIs e JSON — você não vai programar do zero, mas precisa entender como funciona um webhook e ler um JSON simples.
- Acesso ao Google Sheets (opcional) — usado no exemplo abaixo para registrar os contatos recebidos. Você pode substituir por qualquer outro destino, como um banco de dados.
Exemplo Prático: Atendimento Automático para uma Clínica de Odontologia
Imagine uma clínica odontológica de médio porte. A recepção recebe, em média, 40 mensagens por dia no WhatsApp: perguntas sobre planos, valores de limpeza, horários disponíveis e cancelamentos. A secretária passa cerca de 2 horas por dia apenas respondendo mensagens repetitivas. Isso atrasa o atendimento presencial e cria gargalos.
O que vamos automatizar aqui é o primeiro nível do atendimento: um chatbot que recebe a mensagem do paciente, identifica se é uma pergunta de agendamento ou uma pergunta genérica, responde com o próximo horário disponível (puxando os dados de uma planilha Google Sheets) e registra o nome e telefone da pessoa automaticamente. Quando o paciente pede um atendimento humano, o fluxo redireciona a conversa para um atendente da clínica.
Resultado esperado: respostas instantâneas em qualquer horário, redução de 60% a 70% das mensagens que chegam à secretária, dados de todos os contatos registrados sem digitação manual e um histórico completo das conversas no Google Sheets para análise posterior.
Configuração Passo a Passo
Passo 1 — Criar o aplicativo na Meta for Developers
Acesse developers.facebook.com e crie um novo aplicativo. Escolha o tipo “Business”. Dentro do painel, adicione o produto WhatsApp.
Na seção de configuração da API, você verá o conjunto de credenciais necessário:
- Número de telefone do WhatsApp Business — um número de testes é fornecido automaticamente, mas você pode adicionar o seu.
- Token temporário (access token) — a Meta gera um token de acesso que permite enviar mensagens via API.
- ID do aplicativo e ID do número de telefone — usados na construção das URLs e chamadas.
Passo 2 — Configurar o webhook no n8n
No seu painel do n8n, crie um novo fluxo de trabalho (workflow). Adicione um nó Webhook. Escolha o método POST e dê um caminho qualquer, como webhook/whatsapp. Copie a URL gerada pelo n8n — ela será usada como webhook na Meta.
De volta no painel da Meta, configure a URL do webhook como sendo a URL do seu n8n seguida do caminho, por exemplo:
https://seu-n8n.com/webhook/whatsapp
Para o campo “Verify token”, escolha uma string secreta, como clinicabot2024. No n8n, adicione um segundo nó do tipo Webhook (opção “Respond” e “On webhook call”) para responder à verificação. Na prática, o n8n lida com isso de forma transparente quando você configura o nó Webhook com a opção de verificação preenchida (campo “Verify” e “Webhook Suffix”).
Passo 3 — Receber e processar a mensagem
O próximo nó no fluxo é um nó IF, que fará o roteamento. Ele recebe o JSON da mensagem e verifica se o texto contém palavras-chave como “agendar”, “horário”, “vaga”. Para isso, defina uma condição do tipo “String contains”.
Um exemplo do corpo da mensagem que chega da Meta:
{
"entry": [
{
"id": "109829392352260",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "15550000000",
"phone_number_id": "109829392352260"
},
"contacts": [
{
"profile": { "name": "Maria Silva" },
"wa_id": "5511987654321"
}
],
"messages": [
{
"from": "5511987654321",
"id": "wamid.HBgNNTUxMTk4NzY1NDMyMRUC",
"timestamp": "1714000000",
"text": { "body": "Vocês têm horário amanhã?" },
"type": "text"
}
]
}
}
]
}
]
}
No n8n, você acessa o conteúdo da mensagem com a expressão {{ $json.body.entry[0].changes[0].value.messages[0].text.body }}.
Passo 4 — Consultar e responder com horários
Se a condição do IF retornar “true” (a mensagem contém pedido de agendamento), o fluxo segue para um nó Google Sheets (ou um nó HTTP que consulta sua API de horários). No nó do Google Sheets, configure:
- Operação: Read rows
- Documento: a planilha com os horários disponíveis
- Planilha: a página onde estão os dados
Em seguida, um nó WhatsApp Cloud Message — nativo do n8n — envia uma mensagem de volta. Na configuração, selecione a conexão criada anteriormente (passo 1), coloque o número de destino como {{ $json.body.entry[0].changes[0].value.messages[0].from }} e o texto da mensagem como:
Olá, {{ $json.body.entry[0].changes[0].value.contacts[0].profile.name }}! Temos horários disponíveis amanhã às 9h, 11h e 15h. Qual prefere?
Se a condição do IF retornar “false”, o fluxo direciona para um nó de resposta padrão (outro nó WhatsApp Cloud Message), explicando que não entendeu a solicitação e oferecendo ajuda humana.
Passo 5 — Registrar o contato no Google Sheets
Independentemente da condição, o fluxo termina com um nó Google Sheets: Append Row. Ele grava na planilha: nome, telefone, texto da mensagem e horário em que a mensagem foi recebida. Isso cria uma base de dados útil sem esforço manual.
Para isolar o texto da mensagem e o nome, use as expressões mencionadas nos passos anteriores. O nó deve estar configurado com os campos mapeados, assim (exemplo simplificado):
{
"name": "Maria Silva",
"phone": "5511987654321",
"message": "Vocês têm horário amanhã?",
"timestamp": "1714000000"
}
Passo 6 — Deploy e teste
Clique em “Save” e depois em “Execute Workflow” no n8n. Envie uma mensagem do seu WhatsApp para o número de testes configurado na Meta. Verifique se o fluxo é acionado, se a resposta chega em segundos e se a linha aparece na planilha. Se algo falhar, o painel do n8n mostra o erro em cada nó, o que facilita o debug.
Dicas e Variações
- Use um nó de inteligência artificial (n8n LangChain) — em vez de palavras-chave fixas, você pode conectar o nó de IA da OpenAI para interpretar a intenção do usuário de forma mais natural, indicando se é uma dúvida sobre preço, agendamento ou reclamação.
- Adicione um nó de Delay — respostas instantâneas são boas, mas um pequeno atraso (2 a 4 segundos) antes de enviar a mensagem torna a conversa mais natural e evita que o cliente perceba que está falando com um robô.
- Limite o horário de atendimento — configure um nó IF com base na hora atual (função
new Date()) para que, fora do horário comercial, o bot responda com uma mensagem diferente informando que o atendimento voltará no dia seguinte. - Redirecione para um humano quando necessário — em vez de tentar resolver tudo, detecte palavras como “atendente”, “humano”, “falar com alguém” e use o nó HTTP para chamar a API do WhatsApp e mudar a conversa para o número do atendente ou notificar a equipe no Slack.
- Registre os erros do fluxo — adicione um nó no final do fluxo em paralelo que envie erros (se houver) para um canal privado do Slack ou um e-mail. Você monitora falhas sem depender de olhar o n8n.

Erros Comuns e Como Evitá-los
1. O webhook não recebe mensagens. O motivo mais comum é URL errada ou verificação quebrada. Confirme que a URL do n8n é pública (não localhost) e que o caminho corresponde exatamente ao configurado no nó. No n8n, o nó Webhook deve estar com o modo “Trigger” ativado.
2. Token de acesso expirado. O token gerado pela Meta expira após 24 horas em modo de testes. Para produção, você precisa gerar um token permanente seguindo a documentação da Meta. Em testes, basta gerar um novo e atualizar as credenciais no n8n.
3. Número não verificado. A Meta confirmará o envio de mensagens apenas para números cadastrados e verificados. Em contas de teste, você só consegue enviar mensagens para números que estão na lista de números aprovados (sandbox). Adicione seu número de teste dentro do painel da Meta.
4. Formato da mensagem fora do padrão. A API do WhatsApp Cloud envia o JSON dentro da estrutura entry[0].changes[0].value. Se você tentar acessar body.messages diretamente, por exemplo, o fluxo falhará. Sempre use a referência completa ou um nó “Code” para extrair os dados com mais controle.
5. Nó de Google Sheets autenticado para o perfil errado. Se você usa múltiplas contas Google, certifique-se de conectar o nó à conta que possui acesso à planilha específica. Caso contrário, erro de permissão no passo 5.
Próximos Passos
Agora que o fluxo básico funciona, você pode evoluir o chatbot para um nível mais proativo. Primeiramente, implemente uma resposta para mensagens com áudio ou imagens — o nó da Meta envia campos media no JSON, e você pode transcrever áudios usando o Whisper da OpenAI via nó HTTP no n8n.
Em segundo lugar, integre o bot a um sistema de agendamento real, como Calendly ou Google Calendar. Quando o cliente escolher um horário, o n8n cria o evento automaticamente e envia o convite por e-mail.
Por fim, monitore as conversas registradas na planilha semanalmente. Identifique as perguntas mais frequentes e adicione respostas automatizadas para essas novas intenções. Cada melhoria reduz mais uma fração do trabalho manual da sua equipe.
Se quiser aprofundar, explore a documentação do n8n sobre o nó WhatsApp Cloud Message — lá você encontra parâmetros para enviar mensagens interativas (botões e listas), que tornam o atendimento ainda mais ágil para o usuário.
Gostou do conteúdo? Inscreva-se para receber as novidades:


Comments are closed