New features· 44 items

Version 1.77.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

Added11

O inbox mostra por qual canal cada conversa entrou, na lista e no cabeçalho da conversa aberta

O selo do canal passa a mostrar o nome dado em Conexões (o número só quando o canal não tem nome) e aparece também no cabeçalho da conversa aberta. Nada a fazer na atualização.

Contribuição de @webtecnica (#2499), a partir da issue #2383 de @gleisaum.

Pausar uma conexão agora avisa a equipe inteira na Central, e o aviso some sozinho quando ela volta

O aviso diz o canal, quem pausou e quando; pausar de novo atualiza o mesmo aviso, e retomar, arquivar, excluir ou desconectar a conexão o resolve. Queda por falha de conexão continua com o aviso próprio. A mudança de banco vem na atualização.

Contribuição de @webtecnica (#2496, issue #2389).

Ganhar um negócio pode abrir a comanda com o valor e o contato, opcional por funil

Em Configurações › Funis, a caixa "Abrir comanda ao ganhar um negócio neste funil" abre uma comanda com o valor e o contato do negócio, na moeda da organização, por qualquer caminho de ganho. A caixa nasce desligada em todo funil; a comanda nasce aberta, segundos depois do ganho, e reabrir e ganhar de novo não abre outra.

Contribuição de @webtecnica (#2220), a partir da issue #1477 de @AnditecDev.

O gasto de IA com fotos, áudios e vídeos passa a aparecer em Uso de IA e em Execuções

Descrever foto, ler quadros de vídeo e transcrever áudio pelo modelo de conversa eram gastos que não apareciam; agora aparecem e somam no gasto do mês. O áudio do serviço de transcrição (whisper-1 ou o da instalação) aparece sem valor e não conta para o limite.

Confira o limite em Uso de IA depois de atualizar: se "Parar a IA ao chegar no limite" está ligado, a IA pode parar mais cedo no mês do que parava, sobretudo onde chega muita foto. Com o limite atingido, a foto não é enviada ao provedor e a Central explica o motivo. Consultas prontas de custo e tempo de atendimento em docs/runbooks/medir-custo-e-latencia-da-ia.md.

Gemini 3.5 Flash-Lite disponível no seletor de modelos Google

Aparece no seletor dos agentes quando a instalação usa credencial Google, com ferramentas e visão, e o custo entra no teto pelo preço Standard do Google. Modelos já configurados não mudam e nenhum agente é publicado sozinho.

Contribuição de @vitorlacerdadigital (#2453).

Página inicial pública e política de privacidade com a seção de dados do Google, para a verificação do app no Google

O endereço principal abre, sem login, uma página com o nome da sua marca e os links da Política de Privacidade e dos Termos; a política ganhou a seção exigida pelo Google para Agenda e Google Ads. Quem confere o deploy: o domínio passa a responder 200 sem sessão (era 307), e o sinal de que o app responde passa a ser /app → 307.

Contribuição de @paulolimajr77 (#2510).

Planos de tarefa — a sequência de tarefas salva uma vez e aplicada a cada negócio por uma regra

Em Tarefas › Planos, gerente ou administrador monta a sequência (título, prazo, prioridade, responsável); a ação de automação "Aplicar um plano de tarefas ao negócio" cria todas de uma vez, uma vez só por negócio. Nada a configurar na atualização.

Contribuição de @webtecnica (#2213), a partir da issue #1752 de @franceschini-lucas.

Métricas ganham o quadro "Por canal", com conversas, 1ª resposta humana e conversas sem resposta de cada número

Uma linha por número, nos últimos 30 dias, com a mesma conta da tabela por atendente: resposta da IA, de automação ou pelo celular não conta como resposta humana. A função de banco vem na atualização.

Contribuição de @webtecnica (#2504, refs #2390).

Os registros que a IA grava a cada conversa passam a ter prazo de guarda configurável

Sete tabelas da IA que cresciam para sempre entram na limpeza diária. Padrões: custo, métricas, skills e roteador 400 dias (AI_TELEMETRY_RETENTION_DAYS); registro do ritmo de envio 2 dias (PACING_LEDGER_RETENTION_DAYS); cópias das mensagens enviadas 30 dias (OUTBOUND_COPIES_RETENTION_DAYS); resumos substituídos 180 dias (LEAD_CHECKPOINT_RETENTION_DAYS).

Quer guardar mais que o padrão? Ponha a variável no .env ANTES de atualizar: a primeira limpeza já apaga pelo prazo em vigor, e o apagado não volta. Para mudar um prazo, ponha a variável com o número de dias e recrie o app; valor abaixo do mínimo vira o mínimo. Numa instalação antiga a limpeza anda em lotes por alguns dias, sem travar o sistema.

Ao iniciar uma conversa pela lista de contatos, escolha por qual número ela sai

Com mais de um número conectado, "Iniciar conversa no Inbox" pergunta o número; números fora do ar não podem ser escolhidos. Com um só número, nada muda.

Contribuição de @webtecnica (#2491), a partir da issue #2382 de @gleisaum.

Base para o agente de IA chamar um servidor MCP externo (ainda sem tela de cadastro)

O agente passa a poder chamar ferramentas de um servidor MCP externo registrado, com auditoria, chave cifrada e proteção contra endereços internos. Nenhuma tela usa isso ainda e cada agente precisa escolher as ferramentas, então nenhuma instalação muda de comportamento nesta versão.

Contribuição de @webtecnica (#2204), a partir da issue #2147 de @brunno-soaress.

Changed11

O agente deixa de pagar classificações repetidas e lê menos para sugerir a etapa do funil

As classificações de etapa e de manipulação só rodam quando chega mensagem nova do cliente, não em follow-ups nem respostas a casos, e telefone e e-mail saíram do que o classificador lê. Nada a fazer.

As classificações de etapa e de manipulação passam a usar o modelo mais econômico do mesmo provedor

Sem modelo escolhido para essas duas tarefas, elas usam o modelo mais barato do mesmo provedor e da mesma chave, entre os que têm preço. Se o provedor recusar, a chamada se repete no modelo de antes. Em IA › Provedores aparece o modelo em uso, e escolher outro continua possível.

Cada mensagem do agente faz menos consultas ao banco antes de sair

A conferência repetida antes de cada bolha sai, e os registros do envio deixam de segurar a resposta. Pausar o agente continua calando as bolhas seguintes, e o ritmo de envio não mudou.

O envio de mensagens deixa de reler o histórico inteiro do número a cada mensagem

As leituras feitas a cada envio deixam de crescer com o histórico, e o /healthz do worker deixa de percorrer a fila inteira (a contagem de dead segue no /metrics). Espaçamento, limite diário e proteção contra envio em dobro não mudaram.

A IA para de gastar com trabalho de fundo que não muda nada

O clima da conversa deixa de ser medido onde a IA não atende, a rotina do agente antigo sai cedo para quem já publicou agente, e a avaliação automática não reavalia atendimento já avaliado.

O banco ganha índices para as consultas que o agente e a limpeza diária repetem

Cinco consultas frequentes deixam de ficar mais lentas conforme o banco cresce. Durante a criação dos índices, na atualização, gravar em envios, chamadas de IA, memória do agente, etapas e eventos fica travado: instantes numa instalação pequena, mais tempo quanto maior o histórico.

Versão que pede alguma ação antes de atualizar passa a sair como minor, com o aviso em destaque

Major só sai por decisão do dono do projeto. Leia o aviso "Requer atenção" sempre que ele aparecer, qualquer que seja o número.

O agente começa a responder mais cedo — as leituras do turno que não dependem umas das outras correm juntas

As leituras antes de chamar o modelo caem de 16 idas ao banco em série para 5, com até 4 em paralelo por turno. No pico, elas podem esperar pelas 10 conexões padrão (DB_POOL_MAX).

A tela "Uso de IA" passa a contar o período inteiro e separa chamadas de turnos do agente

Acima de mil chamadas no período a tela somava só as primeiras mil; agora a conta é inteira. "Atendimentos com IA" vira "Chamadas de IA", e entram os cartões "Turnos do agente" e "Taxa de cache". O orçamento do mês não mudou. A função de banco vem na atualização.

A resposta do agente começa mais cedo — a mensagem que chega não espera mais a fila de eventos de todas as empresas

Com o worker de pé (o padrão), o recebimento pede o turno do agente antes de drenar a fila; notificações e automações de mensagem recebida podem chegar alguns segundos depois. Para o comportamento antigo, grave EVENT_LOG_WORKER_DRAINS=false no .env e reinicie o app.

O envio pelo WhatsApp para de perguntar ao WAHA, a cada mensagem, se o número existe

A resposta positiva fica guardada por 10 minutos por conexão. Se o número de um cliente mudar de grafia, o sistema pode levar esses 10 minutos para perceber.

Fixed22

Aba que estava carregando quando o acompanhamento de suporte começou ou terminou passa a mostrar a organização certa

Era só a tela: o servidor já recusava gravar na organização errada.

Reservas chegam à IA com a hora local e são relidas após as ações

O agente recebe a hora da reserva no fuso do compromisso, e o resumo relê a agenda depois de criar, remarcar ou cancelar.

Contribuição de @ozzure (#2523).

Arrastar um card no funil com filtro ligado não embaralha mais a ordem da etapa

Soltar um card com filtro ligado podia empatar a posição com um card escondido, e arrastos seguintes eram cancelados sem aviso.

Contribuição de @webtecnica (#2558), a partir da issue #2545 de @hudson-souza-mkt.

Resposta do cliente "em cima" de uma mensagem agora aparece no fio da conversa

A mensagem que chega guarda a que ela responde, e o fio aparece no inbox. O agente ainda não usa a citação para responder (próximo passo da #2474).

Contribuição de @Tong-bit-art (#2485), a partir da issue #2474 de @marcelovolei15, construído sobre o #305 de @jmpo.

Comanda do ganho: moeda certa, audit da abertura e corrida fechada

Com a moeda do negócio declarada e diferente da organização, a comanda não abre; a abertura entra na auditoria; duas comandas para o mesmo negócio deixam de ser possíveis; e uma comanda que ficou sem item é completada na repetição.

Contribuição de @webtecnica (#2479, refs #2475).

"Conversar sobre o caso" volta a aparecer quando a IA é configurada só por Credenciais, sem chave no ambiente

O painel passa a usar a mesma credencial que a conversa usaria.

Contribuição de @Aleshan-dev (#2495).

O gasto de quem atende com Gemini passa a ser contado, e o teto mensal passa a valer

Os seis modelos Gemini do catálogo eram registrados sem custo. Com teto no modo que bloqueia e o gasto real do mês já acima dele, as respostas da IA passam a ser barradas e as conversas vão para a fila humana; confira em IA › Uso e orçamento. O gasto passado não é recalculado.

Três dependências internas sobem para versões corrigidas

sharp, seroval e source-map-js sobem para versões com correção de segurança, e o Next.js vai de 16.3.6 para 16.3.8 pelo mesmo motivo (#2536).

Os avisos de negócio ganho, perdido, reaberto ou com novo responsável só nascem do próprio negócio

Notificação, webhook de saída e conversão para anúncios seguem funcionando por tela, automação e IA.

Mensagem enviada pelo CRM não aparece mais duas vezes nas conversas individuais com o motor WEBJS

O envio guarda o identificador no formato do eco. Grupos e o motor NOWEB não mudam.

Contribuição de @webtecnica (#2525), a partir da issue #196 de @Gervanno.

Excluir um funil que já está no arquivo não manda mais arquivar de novo

A recusa continua; muda o conselho, que agora é tirar o funil do arquivo e resolver os negócios.

Contribuição de @webtecnica (#2532), a partir da issue #979 de @rafaelbatistazz.

As mensagens da IA chegam ao WhatsApp sem "\n" escrito e sem asteriscos duplos

Antes de sair, o texto do agente, da automação "Mensagem escrita pela IA" e da prospecção passa para o formato do WhatsApp, sem mexer em links.

Contribuição de @mentitaa (#2512).

A IA volta a responder sozinha quando a conexão com o banco morre sem aviso

A consulta presa desiste em até um minuto e a IA retoma sem reiniciar o worker.

Contribuição de @rafaelbatistazz (#2501).

Um negócio recusado pela regra de visibilidade agora sai como "sem permissão", e não mais como erro interno

No modo "Só os seus", o Atendente que cria ou repassa negócio fora do que pode ver recebe a explicação, em vez de "Erro interno". A regra em si não mudou.

Contribuição de @webtecnica (#2556), a partir da issue #2547 de @hudson-souza-mkt.

O agente que opera o funil pelo MCP consegue marcar um negócio como perdido

crm_move_lead_stage aceita lost_reason, conferido contra os motivos do funil.

Contribuição de @erikyudi (#2500), a partir da issue #917 de @glrmelage.

Menção apagada da nota interna não notifica mais a pessoa errada

O aviso sai só para quem está no texto ao salvar.

Contribuição de @Tong-bit-art (#2489, refs #2463).

Os quadros "Performance por atendente" e "Por canal" deixam de ler o histórico inteiro a cada visita

Os números não mudam. Com muito volume nos próprios 30 dias, ainda podem passar do limite de 8 s (issue #2514). A mudança de banco vem na atualização.

Contribuição de @webtecnica (#2554, refs #2514).

As páginas de política de privacidade e termos de uso, e a tela de cadastro, passam a mostrar o nome da marca configurado na tela

O responsável pelos dados continua sendo a empresa que opera a instalação, e o PDF de LGPD segue sem marca.

Contribuição de @webtecnica (#2534, refs #2511).

Regra de automação salva pela tela não perde mais o filtro de funil e de etapa

O que a tela não edita sobrevive ao salvar; antes, a regra passava a valer para todos os funis em silêncio.

Contribuição de @Tong-bit-art (#2487), a partir da issue #2483 de @aleflores35.

A tela da organização passa a usar os rótulos do país dela (Denominação social e NIPC em Portugal)

No Brasil, continuam "Razão social" e "CNPJ".

Contribuição de @webtecnica (#2502), a partir da issue #1946 de @maclevison.

O segredo usado pelo agendador deixa de aparecer na lista de processos do servidor

Nada muda na configuração: continua o INTERNAL_SECRET do .env. Quem trocá-lo por precaução: sem INVITE_TOKEN_SECRET, os convites ainda não aceitos deixam de valer.

Reabrir uma tarefa cancelada a devolve para Pendente, não para Concluída

E a linha do tempo do negócio deixa de ganhar "Tarefa concluída".

Contribuição de @webtecnica (#2557), a partir da issue #2549 de @hudson-souza-mkt.

← Back to all releasesView on GitHub