Central de Atendimento WhatsApp
Helpdesk de WhatsApp multiatendente para uma prefeitura, 24/7 em um único Windows, sem nuvem.
- Tipo
- Integração e operação 24/7
- Status
- Em produção
- Ano
- 2026
- Cliente
- Prefeitura (atendimento ao cidadão)
- Papel
- Integração, DevOps e automação de operação

Código-fonte privado. Este estudo de caso apresenta as principais funcionalidades, a interface e a arquitetura em alto nível.
Visão geral
O que é este projeto.
Integração de Chatwoot e Evolution API rodando de forma estável num desktop Windows via WSL2, com autostart, auto-recuperação de rede, classificação por setor e backup diário — dados dos cidadãos permanecem na instituição.
Contexto
Uma prefeitura precisava centralizar o atendimento de WhatsApp de vários setores em um único número, com cinco atendentes e relatórios. Restrições duras: sem VPS, sem nuvem, sem Docker garantido, uma máquina Windows ligada 24 horas e acesso só pela rede local.
Objetivo
Entregar atendimento multiatendente estável, com classificação, macros, relatórios e operação que sobrevive a reboot — sem tirar dados de cidadãos da prefeitura.
O problema
Mensagens espalhadas, sem fila, sem histórico por setor e sem como manter dois softwares de servidor vivos num desktop que reinicia, troca de IP e oscila de rede.
A solução
Stack nativa no WSL2: Chatwoot como interface dos atendentes e Evolution API como ponte com o WhatsApp. Uma camada Windows resolve o que o WSL2 quebra em produção (ociosidade, IP que muda, listener que cai). Automação idempotente instala, integra, provisiona atendentes e faz backup diário incluindo a sessão do WhatsApp.
Funcionalidades
O que o sistema faz.
Do cadastro simples ao que exige regra, transação e recuperação de falha.
- Atendimento multiatendente em um único número de WhatsApp
- Fila com pega manual, sem rodízio automático
- Assinatura do atendente no início de cada mensagem
- Classificação por setor (etiqueta) e por motivo do contato
- Macros de encerramento e pesquisa de satisfação
- Relatório nativo de atendimentos por setor
- Autostart e auto-recuperação após reboot ou queda de rede
- Backup diário dos bancos e da sessão do WhatsApp
Interface
As telas do sistema.
Capturas reais do sistema em funcionamento. Clique para ampliar.
Atendimento com classificação
Lista, conversa e painel de ações, macros e informações da conversa na mesma tela.
Fila multiatendente
Etiquetas de setor e abas de pega manual.
Conversa
Atendimento em português, com resposta assinada e encerramento.
Relatório por setor
Visão de gestão a partir das etiquetas de classificação.
Motivo do contato
Atributo de lista provisionado por API para classificar cada atendimento.
Macros operacionais
Encerrar atendimento e pesquisa de satisfação.
Etiquetas de setor
Configuração de negócio alinhada aos setores da instituição.
Agentes
Múltiplos atendentes com papéis distintos.
Caixa de entrada
Inbox do canal de WhatsApp integrado.
Acesso
Cada atendente entra com o próprio login.
Por trás da aplicação
Como isso funciona por dentro.
A parte que o visitante não vê na tela: camadas, autenticação, dados, integração e operação.
Integração WhatsApp
Evolution API com Baileys cria a inbox no Chatwoot. Cada mensagem do cidadão vira uma conversa.
Automação idempotente
Scripts Bash e PowerShell instalam, integram, criam etiquetas, macros, atributo e atendentes.
Resiliência
systemd no Linux, tarefas agendadas no Windows, backup diário e reconexão automática de rede.
Arquitetura
As camadas, de cima para baixo.
Representação em alto nível — sem expor detalhe de infraestrutura.
Cidadão
WhatsApp
Evolution API
Baileys, Node.js
Chatwoot
Rails, fila, relatórios
Atendentes
Cinco logins na rede local
Camada Windows / WSL2
Keepalive, encaminhamento, backup
Fluxo
Como o processo acontece.
- 01
Mensagem do cidadão
- 02
Inbox no Chatwoot
- 03
Pega manual pelo atendente
- 04
Classificação
Setor e motivo
- 05
Encerramento
Macro e registro para relatório
Stack
Tecnologias utilizadas.
Backend
- Ruby on Rails
- Node.js
- Bash
- PowerShell
Banco de dados
- PostgreSQL
- Redis
Infraestrutura
- WSL2
- Ubuntu
- systemd
- Windows
Integrações
- Evolution API
- Chatwoot
- Baileys
Destaques técnicos
Decisões que sustentam o sistema.
- Dois softwares de servidor estáveis 24/7 em Windows, sem Docker e sem VPS
- Auto-recuperação de rede do WSL2 (portproxy + listener + serviço de ajuda IP)
- Keepalive da distro para ela não desligar por ociosidade
- Dois runtimes Node isolados convivendo no mesmo host
- Provisionamento de negócio idempotente por API e console Rails
- Backup que preserva a sessão — não é preciso reler o QR Code
Quer algo assim para o seu processo?
Me conte como funciona hoje. Respondo com uma leitura do problema e um caminho possível.

