IA que atende ligação no WhatsApp: como montar a sua numa VPS
Uma IA que atende ligação no WhatsApp recebe a chamada, escuta o cliente e responde por voz, e também pode ligar sozinha para uma lista de números, deixando cada chamada gravada e transcrita num painel.
Muita empresa ainda perde ligação no WhatsApp porque ninguém está livre para atender, ou gasta horas de alguém ligando para cobrar e confirmar horário. Uma IA que atende ligação no WhatsApp resolve as duas pontas.
No vídeo eu monto esse sistema do zero, numa VPS limpa, usando o AstraCalls para a parte de chamadas e o Google Gemini com voz em tempo real para a conversa. Quem escreveu o código foi o Claude Code, rodando direto no servidor. Aqui eu explico o que foi feito, o que você precisa ter em mãos e os cuidados que ninguém deveria pular.
O que esse sistema faz na prática
O sistema montado no vídeo é um painel web com login e senha, rodando no seu próprio subdomínio. Dentro dele:
- Conexões: você conecta um ou mais números de WhatsApp lendo o QR Code;
- Ligações: a lista de chamadas recebidas e feitas, com a gravação para ouvir e a transcrição da conversa;
- Disparador: você cola uma lista de números e o sistema liga para cada um, podendo alternar entre as conexões;
- Configurações: o prompt do agente, a mensagem inicial, a chave da API do Gemini, o modelo e a voz, além das opções de atender automaticamente e gravar as chamadas.
No teste do vídeo eu liguei para o número conectado e pedi um agendamento. A IA atendeu, perguntou o assunto, pediu meu nome e empresa e confirmou o horário. Depois disso a chamada já apareceu no painel, gravada e transcrita.
As peças por trás do painel
Vale entender o que cada parte faz, porque é isso que você vai ajustar depois:
| Peça | Função |
|---|---|
| AstraCalls | API de WhatsApp open source e não oficial que faz as chamadas de áudio (WebRTC) |
| Google Gemini (modelo de voz em tempo real) | Escuta e responde durante a ligação |
| SQLite | Banco simples para guardar conexões, ligações e configurações |
| Docker, Docker Swarm, Traefik e Portainer | Sobem o projeto e cuidam do SSL e do subdomínio |
| Claude Code | Escreve e publica o projeto a partir de um prompt |
Escolhi o SQLite de propósito. O projeto é para uso de uma empresa, não para revenda, então um banco leve deixa a VPS menor e mais barata. Se a ideia for vender como serviço para vários clientes, aí a conversa é outra.
Sobre o modelo de voz: eu uso o Gemini porque gosto da voz e o custo é bom. A OpenAI também flui muito bem, mas no meu uso sai mais caro. Se for trocar, confira se o modelo responde por voz em tempo real. Numa ligação não dá para converter texto em áudio com atraso, senão a conversa fica travada.
O que você precisa antes de começar
- Uma VPS com 2 a 4 GB de RAM e Ubuntu 22. No vídeo usei uma de 4 GB na Hetzner, mas qualquer provedor serve.
- Acesso SSH como root (IP, porta 22 e senha). Eu uso o Bitvise para conectar.
- Uma conta paga do Claude. O projeto é pequeno, mas a conta gratuita provavelmente vai travar no meio pedindo upgrade.
- Um domínio com acesso ao DNS (eu uso o Cloudflare) para criar um subdomínio apontando para o IP da VPS.
- Uma chave de API do Gemini, criada no Google AI Studio.
- Um número de WhatsApp de teste para conectar.
O prompt completo e o tutorial com os comandos estão na página de apoio do vídeo, para baixar.
Passo a passo resumido
- Crie a VPS e acesse pelo SSH.
- Instale o Claude Code com o comando do tutorial e faça a autenticação pelo navegador. Ao copiar o código, aperte Ctrl+C uma vez só; duas vezes fecha o programa.
- Crie uma pasta para o projeto (eu chamei de
atendimento) e entre nela. - Abra o Claude Code no modo que não pede confirmação a cada passo, para ele executar até o fim sem você ficar apertando enter.
- No DNS, crie o subdomínio apontando para o IP da VPS.
- Troque, dentro do prompt, o subdomínio de exemplo pelo seu. Se preferir acessar por IP e porta, peça isso no prompt.
- Cole o prompt e espere. No vídeo levou por volta de 10 minutos.
- Entre no endereço com o e-mail e a senha que o Claude Code gerou.
- Em Configurações, cole a chave do Gemini, escolha modelo e voz e salve.
- Em Conexões, crie uma conexão e leia o QR Code com o número de teste.
- Ligue para esse número de outro celular e veja a IA atender.
O prompt que deixo é a estrutura. O texto do agente vem com um padrão genérico ("você é um atendente virtual simpático e objetivo"), e é você quem escreve o que ele deve fazer na sua empresa.
Por que rodar numa VPS e não no seu computador
Dá para rodar local, mas eu não recomendo. O AstraCalls é sensível a ambiente, e cada computador tem um sistema diferente, o que gera conflito. Na VPS o ambiente é padronizado e o sistema fica no ar 24 horas: se cair a luz ou a internet do escritório, as ligações continuam. E no mesmo servidor você ainda pode colocar outros projetos.
Um erro que apareceu no teste: o nono dígito
Quando fui disparar uma ligação, a chamada não tocou. O problema era o nono dígito do celular. Tirei o 9 do número e a ligação saiu na hora. O painel marcou certinho uma chamada de saída (do disparador) e uma de entrada (a que eu fiz antes).
A lição: peça no prompt que o sistema trate o nono dígito e limpe os números antes de disparar. Eu já deixei esse ajuste no prompt salvo.
Onde isso ajuda e onde exige cuidado
Os usos mais diretos são cobrança, confirmação e marcação de horário e prospecção ativa. A IA liga, conversa e deixa tudo gravado e transcrito para alguém conferir depois.
Agora o lado honesto:
- Risco de bloqueio. Disparo em massa sempre pode levar a banimento. Use números separados para isso, nunca o número principal da empresa, e não coloque em risco o número de um cliente seu. Os cuidados para ligar para uma lista estão no artigo sobre disparo de ligações no WhatsApp com n8n. A Meta costuma ficar mais rigorosa em ano de eleição.
- API não oficial. O AstraCalls não é a API oficial da Meta. Funciona bem, mas o risco de bloqueio do número existe.
- O prompt é com você. Sem um prompt bem escrito, a IA vai atender de forma genérica. Ela não sabe seus preços, horários ou regras se você não contar.
- Infraestrutura. Mesmo com o Claude Code fazendo o grosso, você precisa saber acessar uma VPS, mexer em DNS e conferir se o projeto subiu.
Se o que você precisa é que os atendentes da equipe façam e recebam ligações dentro do Chatwoot, sem IA no meio, veja o artigo sobre ligações do WhatsApp no Chatwoot com o AstraCalls. E se quiser um agente de IA que responda por texto, com memória e transferência para humano, o caminho é este: chatbot com IA no WhatsApp.
Checklist antes de colocar em produção
- Subdomínio apontado e com SSL funcionando
- Prompt do agente escrito para o seu negócio, com o que ele pode e não pode prometer
- Tratamento do nono dígito testado com um número real
- Gravação e transcrição conferidas em algumas chamadas
- Número usado no disparo separado do número principal
- Backup da VPS configurado
Perguntas frequentes
Existe IA que atende ligação no WhatsApp?
Sim. O painel montado no vídeo usa o AstraCalls para as chamadas e o Google Gemini com voz em tempo real para a conversa. A IA atende, escuta o cliente, responde por voz e a chamada fica gravada e transcrita no painel.
Como fazer uma IA ligar para clientes pelo WhatsApp?
No mesmo painel há um disparador: você cola uma lista de números e o sistema liga para cada um, podendo alternar entre as conexões. Os usos mais diretos são cobrança, confirmação de horário e prospecção ativa.
Qual VPS usar para uma IA de voz no WhatsApp?
Uma VPS com 2 a 4 GB de RAM e Ubuntu 22, com acesso SSH como root. No vídeo foi usada uma de 4 GB, e o projeto usa SQLite justamente para manter o servidor menor e mais barato.
Qual modelo de IA usar para atender ligações?
O vídeo usa o Gemini com voz em tempo real, pela voz e pelo custo. A OpenAI também flui bem, mas sai mais cara no uso mostrado. Se trocar, confira se o modelo responde por voz em tempo real, senão a conversa fica travada.
Posso rodar a IA de ligação no meu computador?
Dá, mas não é recomendado. O AstraCalls é sensível a ambiente e cada computador tem um sistema diferente, enquanto a VPS tem ambiente padronizado e fica no ar 24 horas, mesmo se cair a luz ou a internet do escritório.
Quer isso junto do seu atendimento?
Esse painel é um projeto à parte. Se você quer as ligações e a IA dentro do mesmo lugar onde a equipe atende, o AstraChat, a nossa versão do Chatwoot, já traz ligações pelo WhatsApp, agentes de IA, Kanban, disparador e flows, no seu servidor, com a sua marca e sem limite de atendentes.
Ele vem na Comunidade Astra Online, com código-fonte, atualizações, grupo VIP e a primeira instalação feita pelo especialista em Chatwoot Raphael Popiolek. Se quiser um projeto de voz sob medida, integrado ao seu sistema, chame a gente no WhatsApp e conte o que precisa automatizar.


