Requer atenção2
Esta versão pede uma ação sua antes ou depois de atualizar. Leia este bloco primeiro.
A assinatura do ChatGPT passa a funcionar nos agentes, com login próprio e lista de modelos por empresa
Quem conectou a assinatura do ChatGPT antes desta versão precisa conectar de novo: em IA › Credenciais, use o link de conexão da assinatura e entre com a mesma conta. Até lá o agente não usa a assinatura (a chave de API de reserva, se houver, segue atendendo). Nenhum arquivo a editar.
A rota global do webhook do WhatsApp só atende a rede interna da stack
Só para quem roda o WAHA em OUTRO servidor entregando na rota global pelo domínio do CRM: aponte o webhook para https://<seu-domínio>/api/v1/webhooks/waha/<token-do-canal> (passo a passo em docs/runbooks/waha-hostgator.md). Quem usa o WAHA da stack não faz nada.
Adicionado8
Organizações fora do Brasil preenchem pela tela as alíneas a), c) e d) do art. 15.º que o relatório de acesso imprime
Em Configurações › Empresa, o cartão "Alíneas do art. 15.º do RGPD" (só para quem administra, só fora do Brasil) grava finalidades, destinatários e prazo de conservação, que antes saíam "não informado". No Brasil nada muda.
Contribuição de @webtecnica (#2544, issue #2356).
Novos modelos Gemini 3.x disponíveis no seletor de inteligência do agente
Gemini 3.1 Flash-Lite e 3.6, 3.7 e 3.8 Flash aparecem para o provedor Google em IA › Agentes, com o custo no orçamento. O modelo padrão não muda.
Contribuição de @tatarevick (#2533).
Você pode cobrar as empresas que atende, com pagamento pela Stripe, avisos de atraso e reativação automática
Opcional e desligado: ligue "Cobrança dos seus clientes" em Admin › Recursos opcionais, conecte a Stripe em Admin › Cobrança e crie os planos; uma lista de passos mostra o que falta até a primeira cobrança. Empresa nova ganha teste grátis; pagamento atrasado gera aviso na Central, faixa no topo e e-mail, e suspensão depois da tolerância (5 a 30 dias, padrão 7, com aviso final pelo menos 48 h antes). Paga, ela volta sozinha. Para quem não liga, só o menu Billing passa a se chamar Plano e cobrança.
No Inbox, a largura da lista de conversas e da ficha do contato agora se ajusta arrastando a divisória
Em tablet e notebook; a escolha fica no navegador, o duplo clique volta ao padrão e as setas do teclado também ajustam. No celular nada muda.
Contribuição de @webtecnica (#2604), a partir da issue #2579 de @brunno-soaress.
Módulos podem guardar informação própria, e ela aparece na ficha do contato
Começa a plataforma de módulos: um módulo de nicho declara as fichas que guarda e o servidor cria as tabelas, isoladas por empresa e fechadas ao acesso direto do navegador. Como o catálogo oficial ainda não publica módulo desse tipo, nada muda na tela hoje. A atualização pode levar alguns segundos a mais, uma vez, por um índice novo na tabela de contatos.
Na conversa com a janela de 24h fechada, escolher um modelo aprovado mostra a prévia da mensagem completa, atualizada enquanto você preenche
O painel mostra cabeçalho, corpo, rodapé, botões e carrossel com cada {{n}} trocado pelo que você digita; o envio segue bloqueado com campo obrigatório vazio. Os guardrails do agente passam a ler cada valor no lugar certo.
Contribuição de @webtecnica (#2539), a partir da issue #2446 de @Fabio-Ribeir0.
Quem pede acesso aos próprios dados no Brasil recebe também o arquivo de dados, com todas as mensagens e sem as anotações da equipe
O e-mail do pedido (LGPD, art. 18, II) passa a trazer, junto do PDF, o link do data.json com todas as mensagens. Nos dois países o arquivo deixa de levar o que é da equipe: conversa interna com a IA, dados de funcionários, o texto que a IA digitou em ações, passagens e casos, identificadores internos e dados técnicos. Anotações da equipe sobre o cliente não vão no Brasil; em Portugal vão, sem o nome de quem escreveu. O PDF não muda.
Construído sobre o #2354 de @webtecnica.
Personalize formulários e direcione automações por fonte
Cada fonte de webhook pode gerar um formulário com perguntas extras (listas, caixas, números, valores em reais), as fontes podem ser renomeadas e as automações de novos contatos podem ser limitadas a uma fonte. As respostas ficam no lead.
Contribuição de @omayklourenco (#2553, entrou pelo #2570).
Alterado5
O registro de auditoria de cada ferramenta do assistente passa a guardar o tamanho da resposta
A chave result_bytes (só o número, nunca o conteúdo) aparece no detalhe cru em Auditoria; nenhuma tela muda.
Contribuição de @paulolimajr77 (#2614).
O aviso de mensagem recebida vai para quem cuida da conversa, não para a equipe inteira
Com atendente, avisa o atendente e os administradores; sem atendente mas com negócio aberto, o dono e os administradores; sem responsável, a equipe inteira, como antes. Grupos e avisos da Central seguem para todos.
Contribuição de @Wyllams (#2583).
A cobrança dos seus clientes começa a chegar ao sistema, ainda sem poder ser ligada
Planos, limites e teste grátis chegam travados, e nenhuma empresa ganha limite. Muda para todos: ao reativar uma empresa suspensa, o aviso da Central cita os disparos e passos de follow-up que não saíram, e IA › Follow-ups os mostra como "não disparada". Se uma integração sua (um n8n, por exemplo) lê situacao em crm_list_followups, ela passa a ver também nao_disparado: confira que não o trata como "saiu". O teto do plano passa a valer também para a leitura de imagens e a transcrição de áudios com a chave de IA da instalação (hoje inerte: nenhuma empresa tem teto). As colunas rate_limit_rps e ai_budget_cents de empresas, que nada lia, saem do banco. E um administrador de empresa não consegue mais criar, direto pela API do banco, um membro provisório fora de qualquer contagem.
A assinatura do ChatGPT passa a funcionar nos agentes, com login próprio e lista de modelos por empresa
A conexão usa o "Sign in with ChatGPT" em vez do login emprestado do Codex; a tela de credenciais mostra os modelos que a assinatura de cada empresa libera, e o Publicar confere contra essa lista.
Contribuição de @omayklourenco (#2456), a partir da issue #1639 de @TOSTES-LAB.
Corrigido35
No modo "Só os seus", o negócio que o Atendente cria pelo "Novo Lead" nasce com ele de responsável
Antes a criação era recusada; agora o negócio nasce atribuído a ele e aparece na lista dele. Pedir um colega como responsável segue recusado, com a explicação.
A partir da issue #2547 de @hudson-souza-mkt; construído sobre o #2556 de @webtecnica.
O aviso de menção no celular respeita quem pode ver a conversa
Segue a visibilidade da inbox (Configurações › Atendimento), como o aviso dentro do app.
O aviso de mensagem nova no celular respeita quem pode ver a conversa
Vai só para quem pode ver a conversa, pela mesma regra de visibilidade da inbox.
Construído sobre o #2583 de @Wyllams.
Instalação com o Supabase na própria VPS, ou com um Supabase próprio, deixa de pedir um token do Supabase na nuvem
O token sbp_... só serve ao Supabase na nuvem, que continua recebendo o aviso. Com Supabase próprio, a primeira atualização pede para conferir SITE_URL e ADDITIONAL_REDIRECT_URLS no .env dele, mas quem nunca atualizou sem o token ainda vê o texto antigo uma última vez, na atualização que traz este conserto. Com o Supabase na VPS, o texto antigo já não sai nessa atualização.
Os backups passam a ser legíveis só pelo dono da VPS
Os arquivos do backup.sh do kit e do scripts/backup-db.sh (sessão do WhatsApp, anexos, dump) eram legíveis por outros usuários da máquina. Agora saem fechados, e a pasta backups/ se fecha no próximo backup, com os antigos dentro.
O banco de dados conectado deixa de aparecer para o assistente quando o módulo está desligado, e tabelas com maiúscula passam a ser achadas
Com o módulo desligado em Admin › Sistema, as ferramentas do banco somem do assistente e do MCP; tabela com maiúscula é achada mesmo escrita em minúscula.
Contribuição de @paulolimajr77 (#2537).
Instalar uma extensão do catálogo oficial volta a funcionar
Toda instalação falhava com "pacote adulterado" por causa das informações de vitrine do catálogo; agora só se compara o que o catálogo anuncia sobre o pacote, com a mesma proteção. Preparações paradas podem ser retomadas ou canceladas na tela.
A chave secreta do Google colada junto com o resto do arquivo é recusada na hora, com instrução, em vez de só falhar depois ao conectar
Aspa, vírgula ou espaço na chave do Google Agenda mostram na hora como copiar só o valor que começa com GOCSPX-.
Contribuição de @Aleshan-dev (#2493).
A leitura do clima da conversa para de gastar quando a IA atinge o limite de gasto
Com "Parar a IA ao chegar no limite" ligado, ela para junto com o atendimento.
Contribuição de @Wyllams (#2583).
A conexão com o Google Ads confere quem começou
O retorno passa pelas conferências do Google Agenda e da Nuvemshop; o que não confere volta para Conversões com aviso, em vez de página de erro.
A conferência de fato deixa de barrar resposta cujo preço está no material, mesmo quando o agente junta itens ("Flexível ou fosca: R$ 119,90")
O preço é normalizado antes do veto e a frase só passa se cada item nomeado tiver aquele preço no material; o resto do guardrail não afrouxa.
Contribuição de @webtecnica (#2610), a partir da issue #2582 de @brunno-soaress.
A cópia de reserva passa a ser feita dentro do painel aberto e devolve o foco ao botão de copiar
Vale para quem acessa por http:// e IP, e ajuda quem navega pelo teclado ou leitor de tela.
Contribuição de @webtecnica (#2597), a partir da issue #2580 de @brunno-soaress.
Contato com CPF volta a ser salvo, com o CPF cifrado no banco
Todo contato com CPF era recusado (cadastro, edição e planilha). Agora o CPF é guardado cifrado, a busca por CPF volta, e só gerente ou administrador vê o número, com auditoria. A atualização leva ao banco a chave do CPF do seu .env (ou gera uma).
Contribuição de @webtecnica (#2551), a partir da issue #2522 de @aerosuiteapp.
Testar do agente agora prepara a foto do produto como o envio real
O teste e o rascunho sugerido ao atendente procuram e copiam a foto como o envio; foto que não fica pronta reprova com o motivo. Nada é enviado, mas fica uma cópia de cada foto testada numa pasta de teste do armazenamento, que não é apagada sozinha.
Contribuição de @webtecnica (#2538, refs #2490), a partir da issue de @Fabricio-Point-Machine.
Duplicados de contatos e exportação de auditoria não param mais em 1.000 linhas
A exportação entrega os 10.000 prometidos e a tela de duplicados só diz que varreu tudo quando varreu.
Contribuição de @Tong-bit-art (#2585, issue #2561), a partir do que @hudson-souza-mkt apontou na #2548.
O bloco Mover lead no funil agora pede o motivo da perda quando o destino é etapa de perda, e a recusa aparece na linha do tempo
O construtor não publica sem o motivo. Fluxos já publicados sem motivo seguem sem mover o card, mas a falha agora aparece na linha do tempo: escolha o motivo no bloco e publique de novo.
Contribuição de @paulolimajr77 (#2552).
Uma falha na confirmação de presença da agenda não para mais os follow-ups
A falha fica só na agenda, registrada em log, auditoria e monitoramento.
Contribuição de @Wyllams (#2583).
Funil arquivado só volta com o nome livre, e o funil de clientes não é mais arquivado com a marca
Desarquivar com o nome de um funil ativo é recusado; para arquivar o funil de clientes, marque outro antes. Funil arquivado com a marca antes desta versão continua marcado até você marcar outro.
Contribuição de @webtecnica (#2605, issue #2559; refs #979 de @rafaelbatistazz).
O diagnóstico passa a mostrar por que o agente de atualização falhou, em vez de uma linha em branco
O healthcheck.sh mostra a última falha numa linha (hora, endereço, resposta e código HTTP), cortada em 300 caracteres.
O instalador não deixa mais um arquivo temporário em /tmp a cada execução
Os tmp.* de execuções anteriores ficam; podem ser removidos à mão.
O instalador de extensões recusa um catálogo baixado vazio também no Ubuntu 22.04
No jq 1.6 o arquivo vazio passava como válido.
Contribuição de @daviguerreiroa (#2616, separado do #2608).
Contato novo abordado pelo celular agora entra no funil padrão
A primeira mensagem enviada pelo celular a um número sem negócio cria o card na primeira etapa, pela regra da mensagem recebida, e dispara as automações de "lead criado". Não cria para quem já tem negócio, grupo, contato bloqueado ou pessoal, nem para envio do próprio CRM.
Contribuição de @webtecnica (#2543, refs #2448), relatado por @mgnstudio.
Menção escolhida para a próxima nota não some quando a anterior termina de salvar
Vale para a nota interna da conversa.
Contribuição de @Tong-bit-art (#2586, issue #2463).
As métricas de cada atendimento da IA voltam a ser gravadas
Desde a 1.77 o worker registrava "métricas do run não registradas" e não as gravava; o atendimento e as telas de custo não foram afetados. O intervalo entre a 1.77 e esta versão não é recuperado.
Contribuição de @jmpo (#2617).
Os relatórios de Perdas e da análise do funil contam além de 1.000 negócios e avisam quando passam do limite
Leem até 5.000 linhas por leitura, do mais recente ao mais antigo; acima disso, a tela de Perdas avisa o corte.
Contribuição de @webtecnica (#2560), a partir da issue #2548 de @hudson-souza-mkt.
O instalador deixa de escolher a rede do Traefik pela ordem alfabética quando ele está em mais de uma rede
Com mais de uma rede, usa a coolify; sem ela, para e pede TRAEFIK_NETWORK no .env. Quem já instalou não é afetado.
Um prazo de retenção enorme no .env não trava mais a limpeza diária
Prazo acima de 36500 dias (100 anos) vira o teto, com aviso no log; antes travava a limpeza e a retomada de anonimização da LGPD.
Contribuição de @webtecnica (#2603, issue #2509).
O retorno da conexão com o Google Ads e com a Nuvemshop passa a valer uma vez só
Como no Google Agenda; quem conecta normalmente não percebe diferença.
Editor do roteador busca o estado atual ao abrir, em vez de confiar só no que veio do servidor
Sem sobrescrever o que a pessoa acabou de digitar.
Contribuição de @webtecnica (#2600), a partir da issue #2569 de @InvestidorDiversificado.
O follow-up segue a política do fluxo quando uma pessoa assume a conversa
Antes ela valia só quando a IA passava a conversa. Agora, com "pausar", o passo espera a pessoa soltar a conversa; com "cancelar", a inscrição termina como passagem para a equipe.
Contribuição de @jmpo (#2606).
"Sugerir resposta" e o "Testar" do agente passam a respeitar a janela de resposta, não a de disparo
Fora do horário de disparo o rascunho não era gerado, mesmo com a janela de resposta aberta. Disparos em massa e retomadas seguem na janela de disparo.
Contribuição de @webtecnica (#2599), a partir da issue #2555 de @rogercampel.
Na aba Teste do agente, o passo a passo mostra o nome da ação proposta e os dados dela
Em vez de "(sem nome)" e "—".
Contribuição de @webtecnica (#2596), a partir da issue #2550 de @hudson-souza-mkt.
O agente não deixa mais o cliente sem resposta quando escreve fora do envio
Quando o turno terminava sem mensagem, veto nem passagem à equipe, o agente recebe um aviso e uma chance de responder, pelas mesmas verificações de qualquer envio.
Contribuição de @jmpo (#2607).