Skip to content

Changelog e notas de versão

Aqui registamos as principais melhorias da plataforma e da documentação, em linguagem orientada a quem usa o sistema no dia a dia.

Última revisão: maio de 2026


Notas de versão — maio de 2026

Interface (Configurações e Super Admin)

  • Licença e assinatura: páginas de licença (tenant), assinatura/cobrança e integração Asaas foram alinhadas em layout, legendas (forma de pagamento, status financeiro, IDs no Asaas) e textos do menu/banner para reduzir ambiguidade entre “licença”, “assinatura” e “cobrança”.
  • Planos no Super Admin: nova gestão de planos predefinidos (com limites, módulos de IA, preço/ciclo e marcação de plano default). Na criação/edição de tenant, o super admin pode aplicar um plano como base e ajustar manualmente. Também continua possível deixar tenant sem plano quando necessário.
  • Cadastro público: no registo pela landing, a seleção de plano é opcional; quando não há escolha explícita, o sistema aplica automaticamente o plano default ativo.
  • Assinatura no Asaas por plano: a criação automática de assinatura passa a considerar o plano do tenant (em vez de valor fixo). Em tenant já com assinatura ativa, a troca de plano exige confirmação manual do super admin antes de sincronizar dados comerciais no Asaas.
  • Troca de plano com modal de confirmação: ao alterar plano de tenant com assinatura ativa, o sistema abre um resumo do impacto (prorrata da cobrança aberta, valor das próximas faturas e eventual crédito).
  • Troca de plano — agora ou próximo ciclo: no mesmo modal pode escolher aplicar já (com regras de ciclo no Asaas) ou agendar para o próximo período (mantém cobrança e limites até quitar a fatura em aberto); há botão Agendamentos com lista e cancelamento, e um aviso na tabela quando existe mudança pendente.
  • Plano manual com ciclo personalizado: no Super Admin, a opção Manual agora permite definir valor e ciclo (mensal, trimestral, semestral ou anual) para negociações fora dos planos padrão.
  • Cupons e indicações: nova área Cupons e Indicações no Super Admin para criar cupons de desconto por percentagem, gerar links personalizados de cadastro e acompanhar comissões de indicação para pagamento manual.
  • Cupons e indicações (validade e exclusão): no Super Admin, agora é possível definir data de expiração para cupom e indicação (ou marcar como não expira) e também desativar/excluir códigos, interrompendo imediatamente o seu uso no cadastro público.
  • Promoções unificadas em cupons: o fluxo de indicação foi consolidado em cupons. O cadastro público passa a aceitar apenas um código de cupom por vez, e o cupom pode incluir, opcionalmente, perfil/regra de comissão para o indicador.
  • Discord (novos clientes): em Super Admin → Discord, há um novo campo para configurar o Channel ID de novos clientes cadastrados; quando um registo público é concluído, o Omniflow envia notificação automática para esse canal.
  • Cadastro com link promocional: o formulário público (/register) passa a aplicar automaticamente cupom e indicação quando os parâmetros chegam na URL (coupon e ref), incluindo os dados na ativação da assinatura.
  • Cadastro com cupom/indicação manual: além dos links promocionais, o registo público agora permite informar e validar cupom e indicação diretamente no formulário (com aplicação opcional e independente).
  • Cadastro em etapas (stepper): o registo público foi reorganizado em três etapas (Empresa, Responsável e Condições comerciais) com barra de progresso, validação por etapa e layout mais claro em desktop/mobile.
  • Desconto na assinatura Asaas: cupom vitalício usa o desconto configurado na assinatura no Asaas (discount até à data de vencimento de cada parcela gerada — dueDateLimitDays: 0); cupom válido apenas nas primeiras N cobranças mantém edição do desconto só em cada cobrança criada onde o cupom ainda se aplica, sem desconto genérico na assinatura.
  • Exibição de desconto (licença): nas páginas Super Admin → Assinatura e cobrança e Configurações → Licença e assinatura, o resumo da assinatura, a tabela principal de tenants e a tabela de cobranças (no detalhe) passam a indicar quando há desconto Asaas (percentagem ou valor fixo e prazo até o vencimento), com base nos dados já sincronizados.

Documentação

  • Super Admin — ASAAS: novo guia no site de documentação com os passos para configurar URL da API, credenciais e webhook de cobrança/licenças (sem substituir o suporte ou o manual acordado com o fornecedor da instalação).

Super Admin — Licenças e cobranças (ASAAS)

  • Sincronizar tenant (ASAAS): quando o super admin sincroniza cobranças com o ASAAS e o sistema deteta fatura vencida, passa a agendar bloqueio da mesma forma que após o webhook de atraso (respeitando a política de cobrança e sem duplicar agendamento ativo).
  • Bloqueio já aplicado / antecipação: após o bloqueio estar executado (incluindo antecipação), o estado continua bloqueado por inadimplência ao recalcular o financeiro (webhooks, reconciliação), em vez de regressar a “em atraso (período de tolerância)” por não associar o bloqueio aplicado ao estado.
  • manual_hold e pagamento: quando não existe cobrança vencida, o recebimento de pagamento via webhook (PAYMENT_RECEIVED) pode desbloquear o tenant que estava em bloqueio manual, tal como já ocorre com o bloqueio por atraso — desde que a opção de desbloqueio automático após pagamento continue ativa na política de cobrança da instalação.
  • Assinatura e cobrança (Super Admin): no menu Super Admin, o item de cobrança de licenciamento aparece como Assinatura e cobrança; nas configurações do tenant, como Licença e assinatura.
  • Tenants: no super-admin, e-mail principal e CPF/CNPJ são obrigatórios ao criar ou editar; pode indicar e-mails adicionais (opcionais) ligados ao mesmo cliente de cobrança.
  • Troca de plano com inadimplência: quando o tenant possui faturas vencidas em aberto, a mudança de plano (upgrade/downgrade) fica bloqueada até a quitação.
  • Contato obrigatório no cadastro: o registo público e o cadastro de tenant no Super Admin passam a exigir número de contato para facilitar comunicação operacional e de cobrança.
  • ASAAS indisponível (tenants): se o ASAAS falhar após gravar ou criar o tenant (rede, timeout, 5xx, etc.), o Omniflow não apaga o tenant; regista o evento na auditoria e o painel pode mostrar aviso com detalhe; edições ficam guardadas.
  • Assinatura automática (novo tenant): ao provisionar cobrança, a primeira assinatura no ASAAS usa BOLETO (o ASAAS costuma não permitir PIX em assinaturas recorrentes); depois pode ajustar o tipo onde o Omniflow o permitir para o ciclo atual.
  • Painel: administradores da empresa ou supervisores podem ver um banner quando a cobrança exige atenção, com atalho para Configurações → Licença e assinatura. Após pagamento reconhecido, o estado é atualizado (webhook Asaas / recálculo) e o banner deixa de ser mostrado (também atualiza ao voltar à janela ou em intervalos enquanto ainda aparecer).
  • Registo público: o formulário de criação de conta exige CPF ou CNPJ válidos para alinhar com a cobrança.
  • Agendamentos de bloqueio: a listagem segue ordem decrescente pela data de bloqueio previsto e é paginada; o rodapé mostra sempre página atual e total de itens, mesmo quando há só uma página.
  • Remover assinatura: em Licenças e Cobranças, nos detalhes do tenant é possível excluir no ASAAS as cobranças listadas pela assinatura (e as pendentes/vencidas já guardadas para o tenant), remover a assinatura no ASAAS, marcar no Omniflow todas as cobranças pendentes ou vencidas desse tenant como excluídas, cancelar/resolver agendamentos de bloqueio, forçar o tenant como ativo e impedir que webhooks de inadimplência voltem a agendar bloqueio quando já não há assinatura cobrável — motivo registado para auditoria.

Notas de versão — abril de 2026

Canais — Webchat (novo)

  • Chat no site: novo tipo de canal Webchat na área Conexões. Permite incorporar um widget de chat no seu site; o visitante inicia a conversa (com ou sem formulário de identificação, conforme a configuração do canal) e o atendimento segue no Inbox como nas outras conversas, ligado ao canal Webchat escolhido. Cada canal tem um token de incorporação para colar o script na página.

Contatos e conversas por canal

  • Mesmo número, vários canais: se existirem várias linhas ou integrações (por exemplo, dois WhatsApp ou WhatsApp + Webchat) e usar contato ativo ou iniciar conversa pelo painel, cada canal mantém a sua própria conversa aberta com o mesmo cliente. O sistema não junta mensagens de canais diferentes na mesma conversa nem troca o canal de uma conversa já aberta ao mudar de linha.
  • Unificar duplicados (opcional): o super administrador liga ou desliga a mesclagem de contatos para toda a plataforma em Super Admin → Configurações da aplicação. Quando está ligada, na página Contatos aparece Unificar agora: o sistema varre todos os contatos da empresa e junta duplicatas com o mesmo telefone normalizado, mantendo o registro mais antigo em cada grupo (histórico e tags passam para esse contato). Por defeito a instalação continua a permitir a função até alguém desligar o interruptor global.

Super Admin — Tenants

  • Filtro por estado: na lista Gerenciar Tenants, pode filtrar por estado (todos, ativo, bloqueado ou desativado) com um clique; o contador e a tabela mostram apenas os registos correspondentes à pesquisa e ao filtro.
  • Limite de usuários: o campo numérico de limite de utilizadores foi ajustado para não ser preenchido automaticamente por gestores de palavras-passe do navegador.

Super Admin — aviso global (banner)

  • Banner no painel: pode configurar um aviso (texto, modelo e horário opcional) visível para utilizadores no painel, por exemplo manutenção ou comunicado — disponível na área Super Admin quando ativado para a instalação.

Equipes

  • Membros ao criar: ao criar uma equipe, pode já marcar os utilizadores que entram na equipa, sem precisar abrir a edição de membros logo a seguir.

Super Admin — Discord

  • Alertas no Discord: o super administrador pode configurar um bot e dois canais (um para novas demandas e outro para mensagens do cliente) no roadmap público. O token do bot é guardado de forma segura; use Enviar teste para confirmar os canais e as permissões.

Roadmap — Super Admin

  • Eliminar quadro: no Roadmap, pode remover um quadro (board). Se ainda existirem cartões em backlog ou em progresso, o sistema pede primeiro em que outro quadro os quer transferir e confirma a ação; os cartões já concluídos nesse quadro são removidos com o quadro. Se esse quadro estivesse ligado ao roadmap público na landing page, essa associação deixa de ser usada automaticamente.
  • Cartão no modal: a secção «Equipe» com «Aprovado por (super administrador)» no topo do formulário foi removida para simplificar; criador e atribuído continuam na coluna «Detalhes» (lateral em desktop, acima das descrições em mobile).
  • Cartão sem perder trabalho ao fechar: ao fechar o modal com mudanças ainda não salvas, o sistema pede confirmação antes de descartar. Ao recarregar a página ou sair do site com o mesmo risco de perda, o navegador pode mostrar também um aviso padrão (conforme o browser).
  • Refinar com IA (descrições): o resultado passa a ser orientado ao Markdown do editor do roadmap (titulação com `##`, blocos opcionais recolhíveis `:::collapse`, estruturas que se adaptam bem ao modo de edição antes de gravar).

Ajuda (painel)

  • Roadmap e sugestões: no card Reportar bugs em Ajuda, quando o roadmap público está configurado, aparecem Abrir roadmap (nova janela) e Abrir demanda (formulário igual ao da página pública, com anexos). O fluxo é o mesmo do super administrador; sem mostrar o URL nem botão de copiar nesta secção. Na abertura interna da demanda, Nome, E-mail e Empresa vêm da conta e ficam bloqueados para edição.
  • Onboarding de novos clientes: o tutorial inicial passa a incluir o passo de Ajuda e, em seguida, move o marcador para o card Reportar bugs e sugerir melhorias, explicando como usar Abrir roadmap e Abrir demanda para enviar feature ou bugfix.

Equipes

  • Horários por dia com múltiplos turnos: na configuração da equipe, agora é possível definir horários diferentes por dia da semana e adicionar mais de um turno no mesmo dia (por exemplo, manhã e tarde). Com isso, cenários de meio período e escalas alternadas ficam cobertos sem precisar criar equipes duplicadas.
  • Modal de equipe (criar/editar): o modal ficou mais amplo em telas grandes e com rolagem interna estável para formulários longos, mantendo adaptação responsiva no mobile.
  • Seleção de horas sem rolagem cíclica: os campos de horário da equipe passam a usar lista com início e fim (00:00 até 23:45), evitando o seletor “infinito” do relógio nativo.
  • Ícones de data/hora no tema escuro: os símbolos nativos de calendário e relógio em campos de data/hora passam a respeitar melhor o dark mode (relatórios, filtros e formulários), com contraste adequado.

Configurações

  • Auto-finalização por inatividade (unidade de tempo): o seletor de Minutos/Horas/Dias passa a usar o mesmo componente visual padrão dos outros formulários, mantendo consistência de UI no dark/light mode.
  • Auto-finalização por inatividade (valor numérico): o campo de quantidade (ex.: 2 horas, 3 dias) foi ajustado para o mesmo padrão visual dos demais inputs/selects da plataforma.

Relatórios

  • Filtro de datas com visual unificado: os campos De/Até passam a usar calendário no mesmo padrão dos demais componentes da plataforma, com melhor integração ao dark mode e mantendo as regras de limite de período.
  • Filtro de contato com mais espaço: no bloco de filtros, o campo de busca de contato passa a ocupar mais largura e adapta melhor a responsividade em diferentes tamanhos de tela.

Roadmap (Kanban)

  • Anexos nos cartões: no Super Admin → Roadmap, cada cartão pode ter várias imagens e até dois vídeos (até 7 ficheiros no total nestes limites). Depois de criar um cartão, o formulário pode permanecer aberto para enviar logo os ficheiros; na partilha pública, visitantes veem texto e multimédia nos detalhes do cartão quando o quadro está exposto.

  • Modal e separador «Anexos»: ao editar um cartão, o diálogo tem mais área útil (largura e altura) para as descrições; upload, lista e eliminação de anexos estão num terceiro separador («Anexos»), em vez da zona que aparecia ao pé das descrições.

  • Imagens na descrição (estilo Jira): ao colar ou enviar multimédia para o texto, o sistema grava tamanho e alinhamento (valores iniciais e memória no navegador quando altera nos controlos da imagem). Selecione a imagem no editor: surge uma caixa flutuante sobre ela (tamanho, alinhamento, legenda, remover); já não existe a barra fixa extra só para predefinir a próxima imagem. A vista pública do cartão reflete as mesmas opções.

  • Descrição nos cartões (editor rico), filtros e equipa: o editor trabalha como documento visível (sem sintaxe Markdown no ecran) gravando texto compatível com a vista pública; no quadro há filtros por tipo, «Meus», «Sem atribuição» ou vários super‑admin — com filtros activos não se pode arrastar cartões até os limpar. No modal, em Detalhes, aparecem criador e assignee (entre outros campos), com meta nas faces do Kanban.

  • Super administrador: na área Super Admin existe o Roadmap, um quadro tipo Kanban com colunas Backlog, Em progresso e Concluído. Pode criar boards, cartões com título e descrição em Markdown, indicar o tipo de cada cartão (Feature, Hotfix ou Bugfix), arrastar cartões entre colunas e partilhar uma vista só de leitura com clientes (o tipo também aparece na vista pública). Ao editar um cartão, com a IA ativa, pode refinar a descrição pública (texto mais claro para quem vê o roadmap) e, à parte, refinar a descrição interna com foco técnico e spec-driven (só para a equipa).

  • Mover cartão entre boards: no modal de edição do card, o super administrador pode trocar o board do cartão sem precisar recriar manualmente.

  • Editar cartão (super admin): abre-se um modal largo e responsivo; à direita (em ecrãs grandes) há uma barra lateral com coluna, tipo e etiqueta do cartão; no telemóvel esses campos aparecem por baixo do título. O título edita-se ao clicar nele; Descrição pública e Descrição interna estão em separadores. Em cada descrição há modo vista (Markdown já formatado) — clique na área para passar ao modo edição, com barra de formatação (negrito, itálico, código, bloco de código, título, listas, citação, ligação, linha horizontal) e emojis, num estilo próximo de Slack ou Jira. A área de conteúdo passa a ocupar o máximo espaço útil do modal e, quando excede, usa scroll interno para evitar saltos de layout.

  • Títulos por nível (editor): na barra da descrição do cartão, o botão de título inclui um menu para escolher H1 a H6 (equivalente a ####### em Markdown); no modo edição os níveis aparecem com tamanhos diferentes, de forma a ver a hierarquia enquanto escreve.

  • Novo cartão: um único botão Criar card abre o editor; o cartão começa na coluna Backlog e pode mudar de coluna no modal antes de guardar.

  • Arrastar cartões: ao mover entre colunas, o cartão segue o rato ou o dedo de forma clara (vista flutuante), em vez de “desaparecer” durante o arrasto.

  • Markdown (pré-visualização): no Roadmap (e vista pública), títulos, regras horizontais, blocos de código e listas passam a usar estilos explícitos na pré-visualização, para a hierarquia e o bloco de código ficarem sempre legíveis. Blocos com linguagem (ex.: javascript, php, json) ganham tema de sintaxe automático em modo claro/escuro.

  • Edição Markdown (modal do cartão): ao editar a descrição de um cartão, o campo é um só bloco: o texto vê-se à medida que escreves; as linhas de anexo multimédia aparecem como pré-visualização (imagem ou vídeo) em vez da linha de código Markdown, e pode pairar sobre o anexo (ou usar a barra em ecrã pequeno) para tamanho e alinhamento. Cada Enter no texto conta como nova linha na própria descrição; o resto é Markdown habitual (incluindo secções recolhíveis :::collapse).

  • Partilha: ao ativar a partilha pública, o sistema gera um link e um código de incorporação (iframe) para mostrar o roadmap num site ou página interna. Regenerar o link invalida o anterior (útil se o link tiver sido divulgado por engano).

  • Painel de partilha: no board do Roadmap, os detalhes de link público e embed ficam num painel recolhível (Mostrar/Ocultar) para ocupar menos espaço no ecrã.

  • Modal público do card (LP): a visualização do card no roadmap público passa a seguir a mesma estrutura visual do modal do super admin (layout amplo com painel lateral de detalhes), mas em modo somente leitura.

  • Mais espaço para o roadmap na LP: a área do quadro na página pública foi ampliada (container mais largo e iframe mais alto), e o conteúdo em modo embed deixa de limitar largura máxima interna, reduzindo o aspeto de “widget embutido”.

  • Sugestão/report na LP: o formulário deixa de ficar abaixo do quadro; agora existe um botão no topo (Criar sugestão / report) que abre um modal para preenchimento e envio.

  • Modal de sugestão (super admin): na lista Evidências, nomes de ficheiro muito longos deixam de forçar scroll horizontal — o texto passa a ficar truncado com reticências e o nome completo pode ser visto ao pairar sobre o link.

  • Inbox de sugestões (super admin): o modal de análise passa a ser multi-step: (1) revisão e resposta em timeline, (2) recusa com motivo, (3) aprovação com edição do card a criar no board. No passo de aprovação há botões de IA para melhorar título/descrição e descrição interna.

  • Quem vê o link: qualquer pessoa com o endereço pode ver o roadmap; o super administrador cria, edita ou remove conteúdo.

  • Landing page: no menu do site público pode aparecer Roadmap, abrindo uma página com o quadro (quando configurado) e um formulário para enviar sugestão ou report (nome, e-mail, empresa, título, descrição e anexos de imagem ou vídeo). O super administrador revê estes pedidos no separador Sugestões públicas, aprova ou recusa e, após aprovação, pode criar um cartão no Kanban; com a IA ativa, é possível refinar título e descrição para um texto tipo especificação antes de gravar o cartão (também disponível ao criar ou editar cartões manualmente, depois de preencher título e descrição). O nome do board aparece uma vez no cabeçalho da página; o quadro incorporado mostra diretamente as colunas, sem repetir o título.

  • Evidências no formulário da landing: ao Selecionar evidências, mostra-se uma barra de progresso enquanto cada ficheiro é preparado; o botão fica indisponível durante esse carregamento e volta a ficar ativo até atingir o limite de 5 ficheiros ou 20 MB por ficheiro.

  • Notas internas nos cartões: ao criar ou editar um cartão no Kanban, o super administrador pode preencher uma descrição interna (texto livre) que não aparece na vista pública do roadmap — serve para detalhe técnico ou informação interna.

  • Conversa com quem enviou a sugestão: no detalhe de uma sugestão ou report, a equipa pode responder ao cliente. A primeira resposta gera um link público que o cliente pode abrir para ver o histórico (incluindo a mensagem original) e voltar a responder; o super administrador pode copiar esse link a partir do painel.

  • Encerramento da conversa no link público: ao aprovar, recusar ou excluir a demanda, o chat no link público da solicitação passa para modo somente leitura e não aceita novas mensagens do cliente.

  • Notificação por e-mail na conversa de sugestão/report: sempre que a equipa responde na solicitação, o cliente recebe um e-mail automático a avisar sobre a nova resposta, com botão Abrir solicitação para voltar à thread, ler o histórico e responder novamente.

  • Confirmação de envio para o cliente: ao criar uma nova sugestão/report no roadmap público, o cliente recebe um e-mail de confirmação imediatamente após o envio.

  • Correção — SMTP do roadmap: esses e-mails (resposta da equipa na thread, decisão aprovada/recusada e atualização quando o card entra em desenvolvimento ou concluído) passam a usar o mesmo SMTP que o resto da plataforma: Whitelabel global (Super Admin) com fallback para as variáveis SMTP_* no servidor. Se o SMTP estiver só configurado no painel e não no .env, o envio deixa de falhar em silêncio ou com erro opaco.

  • E-mail também na decisão final (aprovar/recusar): quando a solicitação é aprovada ou recusada, o cliente também recebe um e-mail de atualização de estado, com acesso direto à mesma thread pública para acompanhar e responder.

  • Aprovação com link do board público: ao aprovar uma demanda (inclusive aprovação automática ao relacionar no card), o e-mail de aprovação inclui também o link público do board quando a partilha pública estiver ativa.

  • Identidade visual nos e-mails do roadmap: os e-mails de resposta, aprovação e recusa passam a incluir a logo da Omniflow no cabeçalho para facilitar reconhecimento.

  • Atualização automática por etapa do card: quando uma demanda aprovada e ligada a card entra em Em progresso (desenvolvimento) ou passa para Concluído, o cliente recebe um e-mail automático com link para acompanhar a mesma solicitação.

  • Central de notificações (super admin): o sino de notificações do super administrador passa a alertar em tempo real quando chega nova demanda pública e também quando o cliente responde numa solicitação já existente, com atalho para abrir diretamente o inbox de sugestões.

  • IA no Super Admin (roadmap e refinamentos): para o super administrador, os botões de otimização com IA ficam disponíveis sempre que a chave de IA estiver configurada, sem depender da ativação por tenant. Ao refinar no editor Markdown (modal do cartão ou modal de sugestão), o carregamento aparece centrado só sobre a caixa de texto até a operação terminar; fechar o modal continua bloqueado nesse intervalo.

  • Reabertura de demanda recusada: no modal de análise de sugestões públicas, pedidos com estado Recusado passam a ter ação de Reabrir na lateral, para retornar ao estado pendente quando necessário.

  • Relacionar várias demandas ao mesmo card: ao editar um card no Kanban (super admin), a barra lateral do modal passa a permitir buscar e ligar múltiplas demandas ao mesmo cartão; ao relacionar, demandas pendentes/recusadas são aprovadas automaticamente.

Cadastro e mensagens de erro

  • Após criar a conta: em vez de ir direto ao login, o sistema abre uma tela que explica que você precisa confirmar o e-mail (inclui dicas sobre spam e validade do link de 24 horas) e oferece o botão Ir para o login.
  • E-mail de confirmação de cadastro: o conteúdo enviado por e-mail segue o mesmo padrão visual da redefinição de senha (layout, botão destacado na cor da marca, logo do whitelabel quando configurada).
  • Mensagens ao utilizador: os avisos no painel passam a aparecer em português de forma mais clara; em caso de falha técnica, na rede do navegador (resposta da API) pode ver um identificador do pedido e códigos úteis para apoio ou diagnóstico.

Contatos

  • Administrador (papel admin): o acesso à lista e gestão de contatos deixa de depender da opção «ver contatos» no utilizador ou de restrições granulares nas permissões — corresponde ao que o papel admin deve poder fazer na prática.

Utilizadores (painel do tenant)

  • Nome completo: utilizadores com papel admin (e super admin na gestão do tenant) podem alterar o nome completo de qualquer utilizador, incluindo o seu. Outros papéis com permissão de editar utilizadores continuam a poder alterar os restantes dados, mas não o nome completo.
  • Admin sem opção «ver contatos»: ao editar um utilizador admin, o interruptor «Ver tela de contatos» deixa de ser mostrado — o admin sempre pode aceder à área de contatos; a lista de utilizadores marca Sim para admins e supervisores.

Inbox

  • Mensagens pré-definidas (respostas rápidas): novo módulo em Recursos para criar categorias e mensagens com alias, texto (com variáveis/formatação) e mídia opcional. No Inbox, o agente pode inserir com atalho # (busca por alias ou conteúdo) ou pelo painel lateral em árvore, mantendo possibilidade de editar antes do envio.
  • Mídias no chat (fotos, vídeos, áudio, documentos, figurinhas): quem tem acesso à Inbox volta a conseguir ver esses ficheiros quando estão guardados no armazenamento do sistema. Antes, o papel agente (sem permissão explícita de «baixar mídias» na galeria) podia receber 403 ao carregar o ficheiro e a conversa mostrava «indisponível».
  • Lista de atendimentos (sidebar): o cartão passa a mostrar hora para mensagens de hoje e data para conversas de dias anteriores (fica mais fácil localizar atendimentos antigos). A lista também passa a carregar em lotes enquanto você rola até o fim, em vez de trazer tudo de uma vez. A busca deixa de depender apenas dos cards já carregados: agora ela consulta a lista paginada no servidor e pode encontrar atendimentos fora da primeira carga.
  • Performance no chat aberto: o indicador de digitação enviado ao WhatsApp passa a respeitar um limite mínimo (texto com 3+ caracteres) e um intervalo de segurança entre envios, reduzindo chamadas repetitivas. O refresh automático do histórico da conversa também fica menos agressivo em segundo plano, com menos impacto de processamento no navegador.

Galeria

  • Desempenho em tenants com muitos ficheiros: a Galeria passa a carregar itens em páginas por categoria (em vez de devolver tudo de uma vez), com ação de Carregar mais no fim da lista. Assim, a abertura da página fica mais leve e estável em ambientes com grande volume de mídia.
  • Seleção em massa: a Galeria passa a permitir selecionar vários itens (incluindo selecionar todos os itens do filtro atual) para executar ações em lote.
  • Download em lote (.zip): ao baixar vários arquivos de uma vez, o sistema gera e entrega um arquivo ZIP com os itens selecionados.
  • Exclusão em lote: também é possível excluir vários itens da seleção numa única confirmação.

Relatórios

  • Período máximo e paginação nas conversas: para manter o desempenho em tenants com volume alto, os relatórios passam a aceitar no máximo 3 meses por consulta. Na aba Conversas, os resultados agora são paginados (com navegação de páginas), evitando cargas muito pesadas de uma só vez.

Inbox e WhatsApp

  • Contato ativo — resposta do cliente: quando o número estava gravado no contacto noutro formato do que o WhatsApp envia no webhook (com ou sem +, variações de DDI ou dígito 9), o sistema podia tratar como outro contacto, abrir nova conversa e mandar o fluxo para o chatbot. O reconhecimento do contacto por telefone passou a aceitar as mesmas variantes usadas noutras partes da plataforma, mantendo a conversa de contato ativo em atendimento.
  • Assumir conversa do chatbot (agente): depois de assumir uma conversa vinda de Chatbot/Em Espera, ela volta a aparecer de imediato em Em Atendimento para o próprio agente, com contadores alinhados à lista.
  • Acesso remoto (super admin): ao sair do acesso remoto, o sistema encerra o contexto do tenant e tenta fechar a aba de suporte; se o navegador bloquear, a interface orienta o fechamento manual da aba sem manter sessão remota ativa.
  • Espiar conversa (agente): com a configuração spy_agents ativa no tenant, agentes voltam a poder abrir conversas de Chatbot e Em Espera em modo leitura, mesmo com ocultação de dados de contato.
  • NotificaMe Instagram (idempotência): reforço no processamento para evitar duplicidade visual por reentrega/corrida de webhook, com deduplicação determinística de mensagem.
  • Pós-finalização no chatbot: mensagens recebidas logo após finalizar atendimento deixam de reiniciar automaticamente o fluxo durante a janela de proteção, exceto quando houver gatilho explícito de reinício.
  • Figurinhas (envio): a bolha mantém a pré-visualização enquanto o histórico é atualizado ou chega o evento em tempo real, e só troca pela mídia definitiva quando esta fica realmente pronta — evita o efeito de a figurinha sumir até atualizar a página.
  • Gravar áudio (Inbox): o botão do microfone deixa de ficar “morto” quando ainda há um envio de ficheiro em curso — mostra um aviso para aguardar. Melhorias para HTTPS, Safari (formato de áudio) e mensagens mais claras se o browser negar o microfone ou não suportar gravação.
  • Notificações (sino / áudio / tempo real): ao mudar de tenant em acesso remoto, o painel deixa de misturar alertas do tenant anterior com o atual (ligação em tempo real e lista do sino alinhadas ao tenant escolhido). Utilizadores normais do tenant continuam a ver apenas o que as regras de fila já permitem (Em atendimento nas conversas atribuídas a si; Em espera quando a conversa entra na fila que o utilizador pode ver, consoante equipas e tipo de distribuição).
  • Envio em massa (WhatsApp QR): novo módulo para criar campanhas com audiência por contatos da plataforma ou planilha (CSV/XLSX), mensagem com variáveis, cadência e agendamento. O envio roda em background e mostra progresso/resultado por campanha, com separação por tenant.
  • Envio em massa — sessão no Inbox e janela diária: a campanha passa a permitir decidir se o disparo abre conversa em Em Atendimento (desligado por padrão). Também é possível configurar uma janela de horário por dia (ex.: 09:00–18:00): fora desse período, o envio pausa e retoma no próximo dia dentro da mesma janela.
  • Envio em massa — variáveis no editor da mensagem: o botão de variáveis no campo de texto da campanha passa a sugerir, além dos campos padrão, as colunas encontradas na planilha quando a audiência for por arquivo. Assim, fica mais rápido inserir placeholders sem digitar manualmente.
  • Envio em massa — variáveis de sistema (como ): no texto da campanha, as mesmas chaves usadas no Inbox e no chatbot (, , , quando a conversa é aberta, etc.) passam a ser substituídas no envio, e não deixadas em branco.
  • Envio em massa — confirmação ao sair do modal: ao tentar fechar o modal de criação (por clique fora, tecla Esc ou botão cancelar), o sistema pede confirmação antes de descartar as configurações preenchidas.
  • Envio em massa — cadência opcional: no modal da campanha pode manter o modo recomendado (valores fixos de segurança) ou ativar Personalizar cadência para ajustar mensagens por ciclo, pausa entre ciclos e variação (jitter), respeitando limites máximos definidos pelo sistema.
  • Envio em massa — agendamento: o campo Data/Hora de início no modal passou a usar o mesmo tipo de calendário e tema (claro/escuro) do restante da área envio em massa, em lugar do seletor nativo do navegador.
  • Envio em massa — editar rascunho, pausar e retomar: na listagem, campanhas não iniciadas exibem ação de Editar. Campanhas iniciadas passam a ter Pausar e Retomar para controlar o envio sem perder progresso.
  • Envio em massa — excluir e cancelar campanhas: campanhas em rascunho podem ser excluídas; campanhas iniciadas ou pausadas podem ser canceladas definitivamente.
  • Envio em massa — cadenciamento reforçado: o perfil de envio automático ficou mais conservador, com lotes menores e pausas maiores entre ciclos para reduzir ainda mais o risco de bloqueio.

Chatbot (construtor de fluxos)

  • Ausência de resposta no robô (por fluxo): em Comportamento do fluxo pode ativar um tempo máximo sem resposta do cliente depois da última mensagem do robô, opcionalmente com aviso a meio desse tempo e mensagem de ausência ao fim do prazo, encerrando a conversa. É independente da auto-finalização nas Configurações.
  • Editor do fluxo (usabilidade): na tela de edição, os botões Diagrama e Comportamento do fluxo ficam mais destacados no topo para facilitar descoberta. O botão Salvar também recebe destaque visual em verde, deixando mais claro onde confirmar alterações.
  • Mensagem, imagem com texto e áudio: pode ativar «Aguardar resposta antes de avançar» para o fluxo só continuar depois de o cliente enviar uma mensagem (em vez de enfileirar logo a etapa seguinte). O destino após a resposta define-se só nas ramificações (por exemplo Comparar → Qualquer resposta para qualquer mensagem); removeu-se o bloco duplicado «Depois da resposta do contato». Correção: evita-se reenviar a mesma mensagem em alguns casos de resposta rápida do cliente.
  • Motor do chatbot: correção em que, em algumas etapas com aguardar resposta e sem linhas de condição, a primeira mensagem do cliente podia repetir o conteúdo da etapa em vez de avançar; também passa a avançar para a etapa seguinte na ordem do fluxo quando não há destino explícito nem ramificações ativas.
  • Próximo passo = Nenhum (mensagem): nas etapas de mensagem, selecionar Nenhum deixa de finalizar a conversa automaticamente; o fluxo apenas não executa ação de saída (sem transferir e sem encerrar).
  • Compatibilidade em fluxos já existentes: etapas de mensagem sem destino explícito (criadas antes do ajuste e que no builder aparecem como “Nenhum”) deixam de encerrar automaticamente o atendimento.
  • Retentativas globais por fluxo (respostas inválidas): no botão Comportamento do fluxo, passou a existir uma configuração única de máximo de tentativas e ação ao ultrapassar o limite (nenhuma ação, transferir para equipe ou finalizar com mensagem opcional). Essa regra vale para menu, condição e mensagem com aguardar resposta + comparação.
  • Comportamento do fluxo (organização): a opção “Menu — transferir após várias tentativas” saiu de Mensagens automáticas e foi incorporada na secção de Retentativas globais, junto da ação transferir para equipe.
  • Correção (retentativas globais x menu): a mensagem de transferência por retentativas globais passa a usar um campo próprio no fluxo, evitando sobrescrever por engano o texto legado de transferência do menu.
  • Construtor de fluxos: ao ativar «Aguardar resposta antes de avançar» em mensagem, imagem com texto ou áudio, abre-se uma linha de ramificação em branco para preencher quando ainda não existir nenhuma.
  • Menu: as opções passam a aparecer numeradas com emoji (por exemplo 1️⃣, 2️⃣ … até 🔟 para a décima). Há no máximo 10 opções por menu. Pode acrescentar um rodapé (texto opcional abaixo da lista de opções, na mesma mensagem).
  • Comportamento do fluxo: no construtor, ao lado de Lista / Diagrama, o botão Comportamento do fluxo abre o painel onde pode personalizar mensagens automáticas e definir palavras-chave globais: o contacto envia essa expressão (mensagem exacta, sem texto a mais) para reiniciar o fluxo, voltar uma etapa (só com conversa ainda no robô) ou encerrar o automático (despedida padrão do fluxo). Enquanto estiver no robô, isso prevalece sobre ramificações com qualquer resposta; após sair do fluxo (ex.: transferência), essas palavras não são tratadas pelo automático. Não esqueça Salvar.
  • Mensagens automáticas (no mesmo painel): altere os textos padrão que o robô envia em situações como resposta não reconhecida, opção de menu inválida, falhas de IA, entre outras. O texto da pergunta de avaliação (1–5) define-se na própria etapa de avaliação (ou no envio de avaliação ao finalizar), não neste painel.
  • Transferência sem mensagem: quando uma transferência (etapa, menu, condição ou «Depois desta etapa») não tem texto próprio, o robô deixa de enviar uma frase automática de encaminhamento — apenas coloca a conversa na fila da equipe. (Quando a equipe de destino está cheia ou fora de horário e há redirecionamento, continua a poder haver mensagem configurada pelo sistema nesse caso.)

Notas de versão — março de 2026

WhatsApp — grupos (Evolution)

  • Reações (WhatsApp): quando várias pessoas reagem à mesma mensagem (membros do grupo ou contacto e você pelo Inbox), as reações acumulam-se na bolha — emojis distintos e total quando há mais do que uma pessoa (como no WhatsApp), em vez de uma reação substituir a outra.
  • Inbox (chat): mensagens apagadasnão mostram a barra flutuante (reagir, responder, etc.); a linha de reações fica um pouco mais junto da bolha; ao atualizar a página com o chat no fim do histórico, o scroll volta a ficar alinhado à última mensagem de forma mais fiável (por exemplo quando imagens ou o layout ainda estão a ajustar a altura). Em ecrãs estreitos (telemóvel), a barra de ações mantém-se ao lado da bolha (como no desktop) e só aparece depois de tocar na bolha (outro toque na bolha oculta); toques em links, botões ou controlos de áudio/vídeo não abrem essa barra; em desktop mantém-se o comportamento ao pairar o rato. Várias reações numa linha podem deslizar na horizontal; os botões têm área de toque mais confortável.
  • WhatsApp (grupos): reações enviadas pelo Inbox passam a ser entregues no grupo no telemóvel dos participantes (a API do WhatsApp exige o JID do remetente da mensagem alvo; mensagens antigas sem esse dado podem devolver erro até haver mensagens novas ou sincronização).
  • Inbox: pode alternar entre Filas (atendimento habitual) e Grupos para ver conversas de grupos WhatsApp ligadas ao canal Evolution. Grupos não usam fila de atendimento nem finalização como conversas individuais. Na lista de grupos, o cartão mostra quem enviou a última mensagem (por cima do texto de pré-visualização), como no WhatsApp. Em Grupos, pode filtrar a lista pelo ícone de filtro (campo de busca para escolher canais, badges dos selecionados e vários canais de uma vez) e opcionalmente memorizar filtros (mantém-se ao mudar de página ou ao atualizar o browser). Mensagens muito longas no chat voltam a quebrar linha sem forçar rolagem horizontal em ecrãs mais estreitos.
  • Grupos: mensagens suas voltam a mostrar o duplo visto (entregue/lida) quando o WhatsApp envia a atualização de estado — antes podiam ficar só com um visto, como se ainda estivessem só «enviadas».
  • Menções: nas conversas de grupo, pode usar @ no texto para escolher um membro (quando a lista de participantes estiver sincronizada). A lista mostra foto quando existir e não inclui o seu próprio número (a instância ligada ao canal). Na lista lateral de membros, o seu utilizador aparece como «Você»; o número só aparece na segunda linha quando for um telefone real (não o identificador interno @lid).
  • Inbox (grupos): na barra lateral do grupo, o botão Atualizar membros volta a pedir à Evolution a lista completa de participantes e corrige a contagem na base quando a API devolve o grupo. Ao sincronizar, nomes e fotos que já estavam na base são mantidos quando a resposta da Evolution vem incompleta; o sistema também memoriza na ligação do canal o JID da sua linha (a partir de envios pelo Inbox ou do sync) para marcar «Você» de forma mais fiável.
  • Página Grupos (menu Contatos): vista em blocos com membros, canal, número e foto do canal; indicativo de canal em cada cartão; filtro por canal na lista. Enviar aos grupos substitui a antiga «difusão» e permite texto e anexos (várias imagens, vídeo, áudio, opção de mensagem de voz), conforme permissões. O número de membros do grupo tende a refletir a lista real mais cedo (sincronização com a Evolution ao entrar o grupo e ao processar eventos de grupo); quando a Evolution só envia parte dos membros num evento, o sistema não apaga os restantes na base — atualiza a lista completa a partir da API quando possível, para a contagem não ficar errada. Nomes e fotos dos membros podem ir sendo preenchidos aos poucos.
  • Configurações → Grupos WhatsApp: o administrador define se há notificações para mensagens de grupos, se agentes podem ver grupos no Inbox/menu e se podem gerir (incluindo envio em massa aos grupos). Em instâncias WhatsApp já existentes, pode ser necessário Sincronizar estado nas Conexões para o canal passar a receber eventos de grupos.

Integrações

  • NotificaMe (ex.: Instagram): mensagens enviadas por você pelo app da rede social deixam de aparecer como se fossem do cliente; o histórico mostra o lado correto (sua conta). O nome do contato também deixa de ser substituído pelo nome da sua página nesses envios. Enquanto só houver mensagens suas primeiro, o contato aparece com o identificador (número); quando o cliente responder, o nome passa a ser o do perfil dele, se o NotificaMe enviar.

Reorganização de Configurações

  • Menu lateral em grupos: Configurações passa a estar organizada em quatro grupos: Atendimento (horário, auto-finalização, avaliação), Permissões e visibilidade (agentes e supervisores), Mensagens e alertas (assinatura, notificações, variáveis) e Recursos (API, licença, armazenamento).
  • Nova página Permissões: as opções de espiar conversas, visibilidade do chatbot para agentes, privacidade dos contatos (ocultar dados para agentes) e horário de trabalho do agente passam a estar em Configurações → Permissões, em vez da antiga página Geral.
  • Mensagens e alertas: a antiga página "Geral" passa a chamar-se Mensagens e alertas e concentra assinatura de mensagens, notificações Web Push, alertas de canais desconectados e SLA.

Horário de atendimento

  • Horário por dia: em Configurações > Horário de atendimento, é possível definir um horário diferente para cada dia da semana (por exemplo, segunda a sexta 9–18h, sábado 9–13h).
  • Escopo por canal: pode escolher se o horário global se aplica a todos os canais ou apenas aos canais selecionados. Os canais fora da regra aceitam novas conversas a qualquer hora e não recebem mensagem de ausência.

Experiência ao usar o sistema

  • Configurações no telemóvel ou tablet: ao abrir Configurações, vê primeiro a lista de categorias; ao escolher uma página, o conteúdo passa a ocupar o ecrã inteiro, com « Categorias» no topo — ao tocar, abre o menu lateral com todas as secções (o mesmo da barra lateral no computador), para mudar de página sem perder o contexto. A barra do topo mantém-se visível ao percorrer conteúdos longos.

  • Inbox e relatórios — histórico e resumo por IA: caixas de conversa e de resumo com rolagem mais fiável em monitores mais baixos, zoom do browser ou janelas pequenas. No Relatórios, no detalhe da conversa a área de mensagens enche o espaço até ao Resumir com IA enquanto não há resumo; depois do resumo por IA, a caixa da conversa mantém altura estável e o resumo cresce em altura por baixo — a rolagem do painel (por fora) permite ler o texto completo da IA, sem caixa de resumo com scroll interno. No cabeçalho mostra-se o canal (nome e ícone).

  • Histórico de conversas do contato (Inbox): a área da conversa mantém altura estável; o resumo da IA fica abaixo e toda a janela rola junto para ler o texto completo, sem esmagar o chat. Na lista de conversas finalizadas, cada cartão mostra o canal com ícone colorido e nome (interno do canal ou tipo). Ao abrir uma conversa do histórico, o cabeçalho mostra também o canal (nome e ícone), alinhado com a lista.

  • Lista de conversas (Inbox): a linha Canal: com o nome interno do canal aparece por último no cartão, com mais texto visível; o ícone do tipo de canal mantém-se no canto inferior direito do cartão.

  • Construtor de fluxos (Chatbot) — adicionar etapa: o menu de tipos de etapa passa a rolar corretamente quando há muitas opções (ecrã baixo ou zoom).

  • Figurinhas (envio pelo Inbox): o servidor aceita melhor figurinhas enviadas em base64 com espaços ou prefixo data: mal formatado; mensagens de erro mais claras se o ficheiro estiver vazio ou inválido.

  • Inbox — envio otimista: texto (incluindo resposta citada), figurinhas, imagens, vídeos, áudio/voz e ficheiros mantêm pré-visualização estável até a mídia definitiva estar pronta; ao atualizar a lista (tempo real ou intervalo), preservam-se previews locais para evitar que o conteúdo desapareça ou pisque.

  • Chatbot — menu na primeira mensagem: se a conversa começava já numa etapa Menu (ou diagrama com menu no início), a primeira mensagem do cliente podia ser tratada como “resposta ao menu” antes de o sistema enviar o texto do menu — aparecia “Opção não reconhecida…”. Agora o fluxo só interpreta a escolha depois de o menu ter sido enviado. Ajuste semelhante para etapa Condição em fluxos que começam por aí.

  • Conexões — QR Code: enquanto o diálogo do QR está aberto, a lista de canais é atualizada automaticamente a cada poucos segundos; quando o WhatsApp fica conectado na base de dados, o diálogo fecha mesmo que o alerta em tempo real não chegue (útil se a infra tiver mais do que uma réplica do servidor API).

  • Notificações no painel — toast: o aviso em balão (toast) para novas mensagens ou conversa em Em espera não aparece na página do Inbox — aí a lista e o sino já bastam; o toast mantém-se noutras rotas do painel. Som, contagem no sino e Web Push do sistema seguem as opções em Mensagens e alertas.

  • Notificações do sistema (Web Push no painel): o registo do service worker passa a respeitar o caminho base do site (útil em produção com subpasta ou proxy). Em browsers que não são Chromium, quando permitido, usa-se notificação nativa como alternativa. Em HTTPS, confirme com a equipa de infra que o ficheiro omniflow-notification-sw.js é servido como JavaScript e não substituído pela página do login.

  • Chatbot — fluxo “desliga” sozinho: ao guardar o fluxo ou recarregar a página, o interruptor Ativo podia voltar para inativo mesmo com o fluxo ativo no servidor; na Conexões, o fluxo também aparecia como desabilitado. Corrigido o reconhecimento do estado vindo da API.

  • Web Push e fila Em espera: ao transferir uma conversa para uma equipa (ou quando o chatbot a envia para Em espera), os agentes que veem essa fila no Inbox passam a receber também som, toast e notificação do sistema (como já acontecia quando o cliente enviava mensagem). Antes só havia alerta quando chegava mensagem do contacto. O aviso específico de Em espera só é emitido quando o contacto já está contabilizado nessa fila no sistema; quem o recebe segue a mesma regra de visibilidade do Inbox (por equipa). O tipo de distribuição da equipa regula a atribuição ao assumir, não quem recebe o push — ver Mensagens e alertas no guia.

  • Auto-finalização por inatividade: a conversa é marcada como encerrada no sistema antes do envio da despedida ao canal; ao finalizar, o atendente e as filas de equipa são limpos como num encerramento manual. Se a API do WhatsApp (Evolution) falhar depois disso (ex.: timeout), a conversa permanece encerrada — a mensagem pode mesmo assim ter sido entregue; antes, em alguns casos, o sistema reabria o atendimento e ele ficava preso em Em atendimento com o adeus já visível.

  • Auto-finalização e canais por ambiente: se nas configurações estiver “apenas canais selecionados” com IDs de outro servidor (ex.: cópia de prod em localhost), nenhum canal coincidia e a finalização não corria. O sistema passa a ignorar IDs inexistentes e, quando nenhum coincide, aplica a regra a todos os canais até voltar a gravar a seleção.

  • Construtor de fluxos (Chatbot): com um fluxo aberto para edição, se existirem alterações ainda não gravadas com Salvar e tentar sair (Voltar à lista, outra entrada do menu lateral, abrir notificação que leva ao Inbox ou terminar sessão), aparece uma confirmação para descartar ou continuar a editar; ao fechar o separador ou recarregar a página, o browser pode mostrar o aviso padrão de saída.

  • Indicadores de carregamento em mais momentos da navegação (abertura de páginas, troca de seções e carregamento de dados), para o fluxo parecer mais claro e previsível.

  • Na área logada, ao mudar de página, o menu lateral permanece estável enquanto o conteúdo central é carregado.

  • Barra superior: o seu nome e identificador @ (utilizador configurado na empresa ou prefixo do e-mail) junto ao avatar; o Sair fica apenas na barra superior (sem duplicado no menu lateral).

  • Barras de rolagem (scroll vertical e horizontal) alinhadas ao tema claro/escuro e à identidade visual do painel.

  • Navegação e carregamento: transição entre páginas mais imediata, com o mesmo indicador (anel do Dashboard / Insights IA) ao mudar de rota, carregar tabelas, relatórios, monitoramento, histórico no Inbox e outras áreas — menos sensação de “tela parada” sem feedback.

  • Inbox em tempo real: melhorias na ligação WebSocket (menos reconexões ao navegar), atualização mais fiável dos contadores das filas ao assumir ou mover conversas, e restauro do indicador digitando no WhatsApp quando o canal envia o evento de presença.

  • Em espera — notificações e lista em tempo real: mensagens novas na fila Em espera (ex.: canal só com equipa de fallback) passam a usar a mesma lógica de retries e visibilidade por equipa / fila geral que o alerta de entrada na fila; o Inbox também atualiza a lista logo ao chegar o evento e faz um segundo refresh pouco depois, para evitar atrasos visíveis. Supervisores passam a ver toda a fila Em espera e o respetivo contador (como administradores), mantendo a vista de Em atendimento filtrada pelas equipas de que fazem parte.

  • Em espera sem equipa (canal sem chatbot nem fallback): quando uma conversa entra em Em espera sem equipa alvo (ex.: canal só conectado, sem fluxo e sem equipa de fallback), ela passa a aparecer na mesma fila para todos os agentes da conta — e os alertas (som, toast, push quando aplicável) alinham-se a essa visibilidade. Antes, só administradores ou um recarregar da página podiam fazer a conversa “aparecer” para quem não tinha equipa associada à conversa.

  • Alertas com Web Push ligado: no Inbox, na aba Em atendimento, não aparece toast estilo push nem notificação do sistema para mensagens dessa fila (está a ver a lista); na mesma aba, mensagens em Em espera continuam com som, toast e notificação do sistema. Noutras páginas ou com o separador em segundo plano, mantém-se a notificação do sistema quando aplicável.

  • Assumir da espera: ao puxar um atendimento de Em espera para Em atendimento, deixa de disparar toast, notificação do sistema ou entrada no sino por engano; o som mantém-se para mensagens do contato (como antes).

  • Alertas por fila: som, toast e notificação do sistema aplicam-se só a Em atendimento e Em espera; conversas no Chatbot ou em Meus atendimentos (finalizadas) não disparam esses alertas.

  • WhatsApp (Evolution) — chatbot após pedido de nota: se o cliente voltava a falar e o fluxo pedia uma opção 1 a 5, a primeira resposta numérica podia ser interpretada como nota da conversa anterior (ainda sem avaliação) em vez da opção do menu; era preciso enviar de novo. Agora a nota por número só conta quando não há conversa ativa nesse canal — com conversa aberta, o número segue o fluxo atual.

Acesso, cadastro e recuperação de senha

  • Recuperação de senha: o link do e-mail de redefinição passa a levar ao mesmo ambiente (endereço web) em que você pediu o reset, quando aplicável — mais coerente e fácil de reconhecer.
  • Recuperação com e-mail alternativo: quando a conta tem e-mail de recuperação configurado, o envio do link de redefinição é feito para esse endereço; sem e-mail alternativo, o envio continua para o e-mail de login.
  • Usuário desativado: contas inativas deixam de conseguir autenticar e a sessão ativa é invalidada ao desativar o usuário.
  • Tela de login com sessão ativa: quando já existe sessão válida, abrir /login redireciona automaticamente para o painel.
  • Página inicial pública no endereço principal da Omniflow: conteúdo institucional da marca Omniflow, com texto orientado a problemas de atendimento e soluções, layout em destaque e logótipo maior. Em domínios personalizados (marca branca por DNS), abrir a raiz do site redireciona para o login, em vez de mostrar essa página de divulgação.
  • Telas públicas (login, cadastro): melhor alinhamento entre o endereço que você usa e a identidade visual apresentada (nome, cores, logo), quando configurada para sua organização.
  • Ícone na aba do navegador pode acompanhar essa identidade visual, quando disponível.
  • Link da documentação personalizável: em marcas personalizadas (whitelabel), o botão "Abrir documentação" em Configurações → Ajuda pode redirecionar para uma URL própria. Se não for definida, usa a documentação oficial (docs.omniflow.chat).

Conexões e canais

  • Nome interno: ao criar uma conexão WhatsApp sem informar nome interno, o sistema passa a usar automaticamente o nome do perfil do WhatsApp assim que a conexão for estabelecida.
  • Na página inicial pública (quando aplicável), a secção de canais indica WhatsApp e Instagram como disponíveis, com cores de marca nos destaques de cada canal; o bloco ilustrativo de Conexões mostra os dois como ativos.
  • Tela de Conexões: carregamento inicial dos dados do canal de forma mais unificada, com feedback visual enquanto as informações são obtidas.
  • Continuação do suporte a vários canais por empresa conforme o plano; na mesma área podem aparecer outros tipos de canal (por exemplo, integrações adicionais), quando estiverem ativados para sua conta.

Variáveis nas mensagens

  • Chaves de personalização: nas mensagens do Inbox e do Chatbot, você pode usar variáveis como {{name}}, {{greeting}}, {{protocol}}, {{date}} e outras. Ao enviar, o sistema substitui automaticamente pelos dados reais (nome do contato, protocolo do atendimento, data, etc.).
  • Exemplo: "Olá {{name}}, como posso ajudar?" vira "Olá Maria, como posso ajudar?" no momento do envio.
  • A lista completa de variáveis está em Configurações → Variáveis. Também há um link "Ver variáveis disponíveis" no construtor do Chatbot, junto aos campos de texto.

Avaliação de atendimento

  • Mensagens após o pedido de nota: em Configurações → Avaliação ao finalizar pode personalizar a mensagem de agradecimento enviada quando o cliente dá uma nota válida (1 a 5) e o texto quando a resposta não é uma nota — nesse caso o sistema avisa o cliente, não regista avaliação e ele pode tentar de novo. Estas mensagens aplicam-se também às etapas de avaliação do chatbot (pedido de 1 a 5 no fluxo).
  • Prazo de 10 minutos para avaliar: após o pedido de nota (ao finalizar ou no chatbot), o cliente dispõe de 10 minutos para enviar a avaliação ou tentar de novo após uma resposta inválida. Findo esse tempo, a janela expira e as mensagens seguem o fluxo normal (por exemplo, “oi” reentra no chatbot); no WhatsApp (Evolution), deixa de se interpretar 1–5 como nota da conversa antiga.
  • Avaliação ao finalizar (equipes e canais): em Configurações → Avaliação ao finalizar pode definir se a avaliação aplica a todas ou apenas às equipes selecionadas e a todos ou apenas aos canais selecionados.
  • Relatórios — Avaliações: o período (data inicial e final) passa a considerar a data de finalização da conversa, quando a avaliação é recebida. Incluída a secção Avaliação por período, com média e quantidade por dia.

Avaliação de atendimento pelo cliente (histórico)

  • Etapa de Avaliação no Chatbot: etapa tipo "Avaliação" que envia uma mensagem ao cliente pedindo nota de 1 a 5, para avaliar o fluxo automatizado.
  • Etapa Finalizar: em "Finalizar atendimento" pode marcar "Enviar pedido de avaliação ao cliente" — ao finalizar o fluxo pelo bot, envia a avaliação e aguarda 1–5 antes de concluir.
  • Equipes: o pedido de avaliação ao cliente quando um agente ou equipe finaliza a conversa é configurado em Configurações → Avaliação ao finalizar (todas as equipes ou apenas as selecionadas).
  • Relatórios: as avaliações ficam registadas e são usadas em Relatórios (Avaliações, Performance por Agente, Performance por Equipe, Por Fluxo Chatbot).
  • Chatbot — avaliação nos cards dos fluxos: na lista de fluxos do Chatbot, cada card passa a mostrar estrelas e a média de avaliação do fluxo (últimos 30 dias), quando houver avaliações. Quem tem acesso a Relatórios vê essa informação diretamente na gestão dos fluxos. Um interruptor permite desligar a exibição das avaliações nos cards.
  • Chatbot Builder — árvore de estrutura e barra de adicionar etapa: ao editar um fluxo, uma árvore à esquerda mostra a estrutura do fluxo com ramificações (condicionais, menus, botões). Clique num nó para ir direto à etapa. A barra Adicionar etapa passa a ficar fixa no topo da área de edição, sempre visível ao rolar. Em ecrãs menores, o botão Estrutura abre a árvore num painel lateral.
  • Chatbot Builder — vista de diagrama: ao editar um fluxo, pode alternar entre a vista Lista (cartões) e a vista Diagrama (fluxograma visual). No diagrama pode arrastar nós para reposicionar, ligar etapas entre si, remover etapas (com confirmação) e clicar num nó para abrir o editor lateral. As ramificações (condições, menus, botões, transferir, finalizar) aparecem como ligações no fluxo.

Estabilidade e desempenho

  • Ajustes gerais de desempenho no primeiro carregamento e na sincronização de conversas e mensagens, para reduzir atrasos perceptíveis em cenários comuns de uso.

Atualizações desta documentação (abril de 2026)

  • Canais e WhatsApp — nova secção Webchat (chat no site) e reforço na lógica um canal = uma conversa quando o mesmo cliente fala por linhas diferentes.
  • Contatos — nota sobre unificação de duplicados quando o super administrador ativa a opção no tenant.
  • Guia Super Admin — referência à gestão de tenants (inclui banner global e opções por empresa).

Atualizações desta documentação (março de 2026)

  • Chat e mensagens — secção Enviar texto com variáveis ({{name}}, {{greeting}}, etc.).
  • Onde fazer cada coisa — secção Barra superior (nome, @, avatar, único Sair); tabela e Conexões / outros canais.
  • Nova página Marca e experiência no painel — identidade visual nas telas de entrada, ícone da aba, carregamento e recuperação de senha.
  • Acesso e autenticação — cadastro alinhado aos campos atuais (incluindo documento da empresa); esclarecimento sobre o link de redefinição de senha.
  • Canais e WhatsApp — referência a outros canais na mesma área de Conexões, quando disponíveis.
  • Dicas e lembretes — pequenos ajustes, sair pela barra superior e referência à página de experiência.
  • Configurações — reestruturação completa com grupos (Atendimento, Permissões e visibilidade, Mensagens e alertas, Recursos), nova página Permissões e descrições de cada secção.
  • Página inicial do Guia — resumo das novidades da documentação.
  • Documentação técnica de deploy (repositório): no guia DEPLOY-VPS.md, esclarecido que a URL de webhook pode ser interna ao Docker quando Evolution e Omniflow estão na mesma rede; a URL pública HTTPS do painel (API/WebSocket) é outra variável — útil para equipas de infra evitarem trocar valores à toa.

Versões anteriores (resumo)

As entradas mais antigas deste changelog foram substituídas por este formato voltado ao utilizador final. Informação técnica para quem instala ou integra o sistema continua disponível através do suporte ou documentação acordada com o seu fornecedor, e não neste guia público.


Documentação Omniflow — Atendimento Omnichannel Inteligente