Quem busca como criar agente de IA para WhatsApp em 2026 esbarra em três caminhos com trade-offs muito diferentes, e a maioria dos tutoriais empurra um sem explicar os outros. Evolution API (open source, ~R$ 80/mês, risco real de banimento Meta), ZAPI (brasileira, R$ 150 a R$ 400/mês, risco médio) ou Twilio (oficial Meta, US$ 0,005/msg ≈ R$ 0,027/conversa, sem risco). Aqui o tutorial completo do caminho mais barato, Evolution + n8n + Claude, com workflow JSON, prompt copiável, custo real e quando você DEVE pular para Twilio em vez de economizar.
Resposta rápida:
1. Escolha o canal: Evolution API (barato, risco ban), ZAPI (BR, meio-termo) ou Twilio (oficial, caro, sem risco).
2. Instale Evolution API via Docker em VPS Hostinger.
3. Conecte WhatsApp lendo QR code (use número dedicado, nunca o pessoal).
4. Configure webhook apontando para seu n8n.
5. Adicione AI Agent node no n8n com Claude/GPT.
6. Teste, ajuste e deploy.
3 caminhos para conectar WhatsApp com IA
Antes do tutorial, a decisão. Esses são os 3 caminhos viáveis no Brasil em 2026:
| Caminho | Custo/mês | Risco ban | Setup | Quando usar |
|---|---|---|---|---|
| Evolution API + n8n | R$ 60 a R$ 120 | Alto (não-oficial baileys) | 2 a 4h | Hobby, MVP, baixo volume, número dedicado descartável |
| ZAPI + n8n | R$ 150 a R$ 400 | Médio | 30 min | PME que aceita risco em troca de simplicidade |
| Twilio Business API + n8n | R$ 200 + R$ 0,03/msg | Nenhum (oficial Meta) | 1 a 2 dias (aprovação) | Empresa séria, volume alto, dados sensíveis |
A decisão honesta: se o WhatsApp for canal crítico do negócio, vá de Twilio. Se for experimento ou negócio pequeno aceitando perder o número, Evolution. ZAPI fica no meio.
Esse tutorial é do caminho Evolution + n8n + Claude, porque é o mais usado no Brasil e o que tem menos conteúdo PT-BR honesto.
Pré-requisitos
- VPS Hostinger KVM 2 (R$ 32/mês) com Docker.
- Conta Anthropic (US$ 10 de crédito) ou OpenAI.
- Número WhatsApp dedicado: não use o pessoal nem o da empresa. Chip novo que você aceita perder.
- n8n self-hostado. Veja o tutorial completo de n8n passo a passo.
- Tempo: 2 a 4 horas.
Arquitetura do agente
[Celular/WhatsApp do cliente]
↓
[Evolution API (Docker, VPS)]
├─ baileys → WebSocket → WhatsApp
└─ Webhook POST → n8n
↓
[n8n: AI Agent node]
├─ Claude Sonnet 4 (ou GPT-4o-mini)
├─ Tool: vector_search (RAG, opcional)
└─ Tool: get_pedido / outras integrações
↓
[n8n → Evolution API: send_message]
↓
[Cliente recebe resposta]
A parte que pode dar errado: a conexão Evolution com o WhatsApp via baileys cai sozinha de vez em quando. Você precisa reconectar (re-ler QR) ou configurar restart automático.
Passo 1: Instalar Evolution API
SSH na sua VPS:
docker run -d \
--name evolution \
-p 8080:8080 \
-e AUTHENTICATION_API_KEY=sua-chave-secreta \
-e DATABASE_ENABLED=true \
-e DATABASE_CONNECTION_URI="postgresql://user:pass@localhost:5432/evolution" \
-v evolution_data:/evolution/instances \
atendai/evolution-api:latest
Acessa http://SEU_IP:8080/manager no browser. Cria uma instância nova (ex: nome cortexia-bot).
Passo 2: Conectar WhatsApp (QR code)
Dentro do manager:
- 1. Abre a instância criada.
- 2. Clica Connect e aparece o QR code.
- 3. No celular do número dedicado: WhatsApp → Configurações → Aparelhos conectados → Conectar aparelho.
- 4. Aponta câmera para o QR. Em 5 segundos conecta.
⚠️ Aviso crítico: uso de baileys é não-oficial. Meta pode banir o número a qualquer momento, especialmente se você enviar mensagem em massa, falar com contatos que nunca interagiram com você, ou postar comportamento “robótico” (mensagens idênticas em sequência). Por isso o número dedicado descartável.
Passo 3: Configurar webhook apontando para o n8n
Ainda no manager Evolution, em Webhook:
- URL:
https://seu-n8n.com/webhook/whatsapp-recebido - Events: marcar
MESSAGES_UPSERT(mensagem recebida). - Webhook by events: ON.
Toda mensagem que entra no WhatsApp agora dispara POST no seu n8n.
Passo 4: n8n recebendo e respondendo com IA
No n8n, cria workflow novo:
- 1. Webhook node (path:
whatsapp-recebido, method POST). Copia a URL. - 2. IF node filtrando mensagens enviadas por você mesmo (campo
data.key.fromMe). Setrue, ignora. - 3. AI Agent node com:
– Chat Model: Anthropic Chat Model (Claude Sonnet 4) ou OpenAI Chat Model (GPT-4o-mini). – Input: ={{ $json.body.data.message.conversation }} (o texto que o cliente mandou). – System message: o prompt abaixo.
- 4. HTTP Request node chamando de volta a Evolution API:
– POST http://SEU_IP:8080/message/sendText/cortexia-bot – Headers: apikey: sua-chave-secreta – Body JSON: {"number": "{{ $('Webhook').item.json.body.data.key.remoteJid }}", "text": "{{ $json.output }}"}
Prompt do agente (system message do AI Agent node):
Você é atendente da {EMPRESA}, responde dúvidas no WhatsApp.
Regras:
- Linguagem informal e direta, PT-BR
- Máximo 4 linhas por mensagem
- Use emoji só se o cliente usar primeiro
- Não invente políticas. Se não souber, diga "vou verificar com o time" e marque para humano
- Se cliente disser "atendente", "humano" ou "reclamação", responda: "Vou te transferir para o time agora" e marque
- Sempre confirme número de pedido antes de dar status
JSON do workflow completo (importe em Workflows → Import from File):
{
"name": "Agente WhatsApp Cortexia",
"nodes": [
{"name": "Webhook", "type": "n8n-nodes-base.webhook",
"parameters": {"path": "whatsapp-recebido", "httpMethod": "POST"}},
{"name": "Ignora self", "type": "n8n-nodes-base.if",
"parameters": {"conditions": {"boolean": [{"value1": "={{ $json.body.data.key.fromMe }}", "value2": false}]}}},
{"name": "AI Agent", "type": "@n8n/n8n-nodes-langchain.agent",
"parameters": {
"text": "={{ $json.body.data.message.conversation }}",
"options": {"systemMessage": "Você é atendente. Responda em PT-BR, máx 4 linhas..."}}},
{"name": "Anthropic", "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"parameters": {"model": "claude-sonnet-4"}},
{"name": "Enviar resposta", "type": "n8n-nodes-base.httpRequest",
"parameters": {
"method": "POST",
"url": "=http://SEU_IP:8080/message/sendText/cortexia-bot",
"sendHeaders": true,
"headerParameters": {"parameters": [{"name": "apikey", "value": "sua-chave-secreta"}]},
"sendBody": true,
"jsonBody": "={\"number\": \"{{ $('Webhook').item.json.body.data.key.remoteJid }}\", \"text\": \"{{ $json.output }}\"}"
}}
]
}
Ativa o workflow. Manda mensagem do seu celular pessoal pro número conectado. Recebe resposta da IA em ~10 segundos.
Passo 5: RAG com base de conhecimento (opcional mas recomendado)
Sem RAG, o agente inventa política. Para evitar, adicione um Vector Store com sua FAQ e os documentos da empresa.
Caminho simples no n8n:
- 1. Sobe Qdrant via Docker (
docker run -p 6333:6333 qdrant/qdrant). - 2. No n8n, adiciona node Qdrant Vector Store.
- 3. Indexa seus PDFs/textos com node Default Data Loader, Recursive Character Text Splitter e OpenAI Embeddings.
- 4. No AI Agent, adiciona o Qdrant como Tool (vector_search).
Agora, antes de responder, o agente consulta a base. Custo extra: ≈US$ 0,01/1k mensagens em embeddings.
Passo 6: Deploy e monitoramento
Checklist mínimo:
- Restart automático Evolution:
docker update --restart unless-stopped evolution. - Backup do volume: snapshot diário do
evolution_data. - Logs n8n: ative “Save Successful Production Executions” para ver histórico.
- Alerta de queda: configure node “Error Trigger” no n8n que manda Slack se o workflow falhar.
- Reconectar QR: caso o WhatsApp desconecte, o manager pede QR de novo. Configura cron que avisa você se a instância ficar offline por mais de 5 min.
Custo real mensal
| Item | Custo |
|---|---|
| VPS Hostinger KVM 2 | R$ 32 |
| Chip WhatsApp dedicado (TIM/Vivo pré-pago) | R$ 15 a R$ 25 |
| Claude Sonnet 4 (3k mensagens, ~500 tok/msg) | ≈US$ 5 → R$ 27 |
| Qdrant self-host (mesma VPS) | R$ 0 |
| OpenAI Embeddings | ≈US$ 0,30 → R$ 1,62 |
| Total | ≈R$ 80/mês |
Comparativo: o mesmo via Twilio Business API com 3k conversações custa US$ 15 (R$ 81), mais o custo da plataforma e um setup mais demorado.
Risco de banimento: a parte que não te contam
baileys conecta WhatsApp pelo mesmo protocolo do “WhatsApp Web”, que é não-oficial. Meta detecta padrões automatizados e banir o número é só questão de tempo se você:
- Envia para contato que nunca te respondeu primeiro.
- Manda 100+ mensagens iguais em sequência.
- Usa o mesmo número para outras coisas (campanhas, listas frias).
Tempo médio até banimento em uso intensivo: 30 a 90 dias. Em uso ético (só responde quem te procura, respostas variadas, número exclusivo) pode durar mais de um ano.
Mitigação:
- 1. Use número dedicado, novo, sem histórico.
- 2. Não envie cold message.
- 3. Varie respostas, não copie e cole literal.
- 4. Adicione pausa randômica (3 a 10s) antes de responder via node Wait.
- 5. Para o cliente sério, planeje migrar para Twilio antes do bot ficar crítico.
Quando NÃO usar Evolution (vá de Twilio)
Vá direto para Twilio Business API se:
- WhatsApp é canal crítico da operação (perder o número quebra o negócio).
- Volume acima de 5.000 conversações/mês.
- Empresa precisa SOC 2, ISO 27001 ou similar.
- Setor regulado (saúde, financeiro, jurídico).
- Você precisa de interactive messages (botões, listas): Evolution não suporta tudo, Twilio suporta nativo.
Recomendação do Editor
Construí esse setup (Evolution + n8n + Claude) para um cliente e-commerce de moda em 2025. Resultado em 6 meses: 62% de deflection rate (bot resolve sem humano), CSAT 4,3/5, payback em 1 mês. Custo de R$ 80/mês contra os R$ 3.500 de um atendente PJ.
O número foi banido uma vez em 9 meses, depois que uma campanha de aniversário disparou 800 mensagens em 1 hora. Recuperamos com chip novo em 2 dias. O cliente aceitou o risco porque o cálculo continua compensando: 1 perda de número por ano contra R$ 41k economizados.
Minha recomendação para quem está pensando em como criar agente de IA para WhatsApp: comece com Evolution + n8n + Claude para validar o caso de uso. Se em 3 meses provou ROI e o WhatsApp virou canal crítico, migra para Twilio. Pular o passo de validação e ir direto para Twilio é gastar mais para descobrir se a ideia funciona.
FAQ
Como integrar ChatGPT no WhatsApp?
Caminho mais comum: Evolution API (ou Twilio) recebe a mensagem via webhook, dispara para n8n, n8n chama OpenAI API e devolve a resposta pelo mesmo canal.
Posso colocar IA no meu WhatsApp pessoal?
Tecnicamente sim com Evolution, mas é mau-uso: você ainda usa o número para falar com família e amigos, e o risco de banir o número pessoal é alto. Use chip dedicado.
Quanto custa WhatsApp Business API?
Twilio oficial: US$ 0,005/msg conversação (≈R$ 0,027). Para 3k conversas/mês, ≈US$ 15 (R$ 81) só de WhatsApp. ZAPI: R$ 150 a R$ 400/mês fixo. Evolution: grátis (paga só a infra).
O que é Evolution API?
Wrapper open source brasileiro em cima do baileys (lib não-oficial). Permite conectar WhatsApp via QR code e expor API REST. Grátis, mas Meta pode banir o número conectado.
ZAPI ou Twilio?
ZAPI se você é PME BR, quer setup rápido (30 min) e aceita risco médio de ban. Twilio se WhatsApp é canal crítico, quer 100% oficial, topa pagar por uso e fazer o setup de aprovação de número (1 a 2 dias).
WhatsApp pode banir conta com bot?
Sim. Uso de baileys (Evolution, ZAPI) viola os termos de uso do WhatsApp. O tempo até o ban depende do comportamento: uso ético pode durar meses, uso abusivo cai em dias. Twilio é oficial, sem risco.
Preciso de WhatsApp Business para usar o Twilio?
Não necessariamente. Twilio provisiona um número novo via Business API. Você não precisa ter conta WhatsApp Business prévia.
Próximo passo: se você ainda nem testou a ideia, sobe um Evolution local hoje e conecta seu segundo chip. Se já validou ROI e quer escalar sem risco, abre conta na Twilio e inicia o processo de aprovação de número. Para o lado n8n, o tutorial de n8n com IA passo a passo cobre a parte de orquestração. Para entender se vale criar bot ou usar plataforma SaaS pronta, veja Relevance AI vs Voiceflow.