WhatsApp e API

Evolution API + Chatwoot: como integrar e o contrato de manutenção que ninguém assina

O conector nativo, a configuração em 4 movimentos e os 3 atritos com registro público: mensagem do celular sumida, remetente trocado e dessincronia.

Evolution API + Chatwoot: como integrar e o contrato de manutenção que ninguém assina

Chatwoot com Evolution API é o casamento mais popular do atendimento open source no Brasil: o Chatwoot entrega a caixa de entrada multiagente que a Evolution API não tem, e a Evolution API entrega o WhatsApp que o Chatwoot só oferece nativamente via API oficial. Juntos, custam zero de licença. A integração é real, madura e tem um contrato de manutenção não escrito que ninguém assina conscientemente: este artigo mostra os dois lados.

TL;DR: A integração usa o conector nativo de Chatwoot presente na própria Evolution API: você cadastra a URL e o token da conta do Chatwoot na instância, e as conversas do WhatsApp aparecem como inbox no Chatwoot, com resposta dos atendentes voltando pelo mesmo caminho. Os pontos de atrito documentados publicamente: mensagens enviadas pelo celular que não aparecem no painel, remetente trocado em certas configurações e dessincronia após atualização de qualquer uma das três peças (Chatwoot, Evolution, Baileys).

Como a integração funciona por dentro

A Evolution API traz um conector de Chatwoot embutido, e é isso que torna a montagem acessível: não precisa de middleware. O fluxo por dentro tem quatro movimentos: a mensagem chega na instância, o conector cria (ou localiza) o contato e a conversa via API do Chatwoot, o atendente responde no painel, e o conector devolve a resposta pelo endpoint de envio da instância. Contatos, mídia e boa parte dos recursos de conversa atravessam a ponte.

A configuração resume-se a: instância conectada e estável (pré-requisito absoluto; QR code instável na origem vira caos na caixa de entrada), conta no Chatwoot com token de acesso de agente/administrador, e o bloco de configuração Chatwoot da instância preenchido com URL, token e conta. Marque a opção de criar conversa como pendente se o seu time usa fila; deixe de reabrir conversa resolvida se o seu fluxo de métricas depende disso.

Os três atritos com registro público

Mensagem do celular que não aparece. Relato recorrente no ecossistema, registrado por exemplo na issue #485 do repositório da Evolution API: mensagens enviadas diretamente pelo aplicativo (a resposta rápida que o dono da empresa dá do bolso) nem sempre chegam ao Chatwoot. O resultado operacional é atendente respondendo sem ver metade da conversa, e cliente recebendo resposta duplicada ou contraditória.

Remetente trocado. A issue #8712 do repositório do Chatwoot descreve o sintoma em português: mensagem enviada pelo celular registrada no painel como se fosse do contato. O histórico vira um espelho quebrado, e métrica de tempo de resposta perde o sentido.

Dessincronia pós-atualização. São três peças versionadas de forma independente (Chatwoot, Evolution API, biblioteca de conexão), e a combinação testada hoje não é a combinação de daqui a três releases. O padrão prudente da comunidade é fixar versões que funcionam juntas e atualizar em janela, testando o caminho completo: receber, responder, mídia, contato novo.

O contrato de manutenção que ninguém assina

Repare no que a montagem cria: duas aplicações auto-hospedadas, um banco para cada, uma ponte entre elas e uma conexão de WhatsApp por engenharia reversa embaixo de tudo. Cada elo tem seu jeito de falhar, e o diagnóstico de “mensagem não chegou” agora tem quatro suspeitos. Quem opera isso para si aceita o custo de bom grado. Quem opera para clientes de agência precisa fazer outra conta: o plantão passa a cobrir três ferramentas, e o medo silencioso de toda operação DIY, o de descobrir a falha pelo cliente, multiplica por elo da corrente.

Conheça o CRM white label →

A stack completa dessa arquitetura, com custos, está no guia da Evolution API e no artigo de custo real. E o Chatwoot merece análise própria, porque os limites dele não são só de integração: a caixa de entrada é boa e não existe CRM de vendas nativo por trás dela, tema do nosso guia do Chatwoot.

Quando integrar assim e quando mudar de regime

Se a operação é interna, técnica e tolerante a incidente, a dupla open source é uma escolha respeitável e barata. A troca de regime se justifica quando o WhatsApp é canal de receita com equipe em cima: nesse cenário, caixa de entrada, automação e CRM na mesma plataforma, sobre API oficial com modo coexistência (que desde 2025, pela documentação da Meta, mantém o aplicativo do celular funcionando junto, sincronizando as conversas 1:1 e eliminando exatamente o atrito da “mensagem do celular que não aparece”), reduzem os quatro suspeitos de falha a um fornecedor com SLA. É o desenho do Cubo Suite com API oficial nativa, interesse declarado. A conta é sua: some as horas de plantão das três peças e compare com a assinatura.

O Chatwoot tem integração oficial com WhatsApp?

Tem, via API oficial da Meta (Cloud API): é o canal de WhatsApp nativo do Chatwoot. A integração via Evolution API existe justamente para quem quer WhatsApp sem os requisitos da conexão oficial, assumindo os riscos do modo não oficial.

Por que mensagens enviadas pelo celular não aparecem no Chatwoot?

É limitação conhecida do arranjo não oficial, com relatos públicos nos repositórios dos projetos: o eco de mensagens enviadas pelo aplicativo nem sempre atravessa a ponte Evolution → Chatwoot. Na conexão oficial em modo coexistência, esse eco é parte documentada do protocolo (webhooks de echo), o que elimina o problema por desenho.

Posso usar o mesmo número no Chatwoot e no aplicativo?

No arranjo Evolution API (Baileys), sim, porque a conexão é a sessão web do mesmo número, com os riscos de estabilidade conhecidos. Na API oficial, isso exigia abrir mão do app até a chegada do modo coexistência, documentado pela Meta em 2025, que mantém app e API no mesmo número com histórico sincronizado.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Conhecer o white label →