New features· 50 items

Version 1.78.0

The release notes are written in Portuguese, the language DeskcommCRM is built in. Your browser can translate them, or you can open this page already translated.

Open in Google Translate

Action required2

This release asks you to do something before or after updating. Read this block first.

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.

Added8

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).

Changed5

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.

A rota global do webhook do WhatsApp só atende a rede interna da stack

A rota sem token (/api/v1/webhooks/waha) responde 404 ao que chega pelos proxies de borda do kit; o WAHA da stack chama http://app:3000 e segue entregando, sem editar arquivo. A rota com token não muda.

Fixed35

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).

O instalador só aceita o endereço do Supabase quando quem responde é o Supabase

Num Coolify, o endereço do painel passava como Supabase; agora o instalador exige o serviço de login do Supabase e avisa qual endereço respondeu.

As ligações do agente de voz passam a aparecer em Uso de IA

Cada ligação grava tokens e duração; o custo em dinheiro ainda não é calculado e não entra no limite de gasto, e o cartão de Orçamento avisa quando há ligações no mês.

Contribuição de @Wyllams (#2583).

← Back to all releasesView on GitHub