Docs
Começar grátis

Renomeie a aba SMS para WhatsApp QR

O composer de conversas do HighLevel vem com uma aba rotulada "SMS" mesmo quando o provedor por baixo é o Wazzap. Este tweak pequeno renomeia essa aba para "WhatsApp QR" para os agentes sempre saberem por qual canal estão enviando. Puramente cosmético, sem impacto no roteamento.

Resumo

A customização atualiza a UI de Conversas do HighLevel trocando o rótulo "SMS" por "WhatsApp QR" em dois lugares:

  1. O rótulo da aba principal do canal no composer.
  2. O popover de seleção de provedor/canal.

Depois de instalado, todo agente em toda sub-conta abre o GHL e entende na hora qual canal vai usar. Diminui confusão, diminui chamado.

É só mudança de UI. Não altera roteamento, provedores, entregabilidade ou tipo de mensagem. A aba "SMS" no HighLevel nunca foi SMS de verdade para usuários do Wazzap, era um rótulo que sobrou do abstrato de conversation provider.

Por que renomear a aba

  • Agentes novos no time não acham por engano que estão pagando Twilio por mensagem.
  • Clareza visual para times ops gerenciando dezenas de sub-contas.
  • Experiência white-label mais limpa quando você revende HighLevel para clientes.
  • Tira ambiguidade em QA, vídeos de treinamento e gravações de tela.

Instalação

No HighLevel, vá em:

Settings → Company → Custom JavaScript

Cole o script abaixo no campo Custom JavaScript e clique em Save. A mudança entra em vigor no próximo refresh dentro do GHL.

O script

<script>
(function() {
  function renomearAba() {
    // Selector 1 - Aba principal
    const smsTab = document.querySelector('#composer-textarea > div > div.flex.flex-col.flex-1.min-w-0.h-full.rounded-md.border-none > div.flex.flex-row.py-1.items-center.justify-end.rounded-t-lg.\\!h-\\[32px\\].bg-gray-50 > div.flex.gap-6.items-center.w-full > div > span');
    if (smsTab && smsTab.innerText.trim() === 'SMS') {
      smsTab.innerText = 'WhatsApp QR';
    }

    // Selector 2 - Popover
    const smsPopover = document.querySelector('#provider-select-popover > div.hr-popover__content > div > div > div.flex.items-center.justify-between.py-2.px-2.cursor-pointer.transition-colors.duration-150.hover\\:bg-gray-50.bg-blue-50 > div > div');
    if (smsPopover && smsPopover.innerText.trim() === 'SMS') {
      smsPopover.innerText = 'WhatsApp QR';
    }
  }

  // Tenta de imediato
  renomearAba();

  // Observa mudanças no DOM
  const observer = new MutationObserver(() => {
    renomearAba();
  });

  observer.observe(document.body, {
    childList: true,
    subtree: true
  });
})();
</script>

O MutationObserver no final é o que faz o rename persistir quando o HighLevel re-renderiza o composer ao navegar entre contatos. Sem ele, o rótulo voltaria para "SMS" toda vez que muda a conversa.

Validação

Depois de salvar o script:

  1. Abra Conversas no HighLevel.
  2. Selecione qualquer contato com thread ativo.
  3. Confirme que a aba do composer agora mostra WhatsApp QR em vez de SMS.
  4. Abra o popover de seleção de provedor e confirme que o rótulo lá também é WhatsApp QR.
  5. Navegue entre contatos e recarregue a página para confirmar que a mudança persiste.

Notas e limites

  • É só UI. Roteamento, provedores e entregabilidade não são tocados.
  • O script usa seletores CSS específicos. Se o HighLevel atualizar a UI de Conversas, os seletores podem quebrar e o rename para de aplicar. O script então simplesmente não faz nada, sem erro visível para o agente.
  • O MutationObserver é necessário porque o GHL re-renderiza componentes de forma dinâmica conforme o usuário navega na lista de conversas.
  • O script roda em toda página do HighLevel. Os if mantêm ele barato, mas se você já tem outro Custom JavaScript rodando, deixe este por último para minimizar overlap de observers.
!

O Custom JavaScript no HighLevel é carregado do jeito que está em toda página. Nunca cole código de origem desconhecida, e revise qualquer script que copiar de terceiros. Este script não manda dados para lugar nenhum, só lê e reescreve dois rótulos de texto no DOM.

Solução de problemas

O rótulo não mudou depois de salvar

Hard-refresh no HighLevel (Ctrl+Shift+R no Windows / Cmd+Shift+R no Mac). O Custom JavaScript carrega em reloads completos, não em navegações SPA dentro do app.

O rótulo volta para "SMS" ao mudar de conversa

O MutationObserver não está pegando o re-render. Garanta que você colou o script inteiro, incluindo o bloco do observer no fim. Sem esse bloco, o GHL reverte o rótulo toda vez que repinta o composer.

O rótulo mudou no composer mas não no popover (ou vice-versa)

O HighLevel atualizou um dos dois seletores. Abra o DevTools (F12), inspecione o elemento que ainda diz "SMS" e ajuste o seletor no script para bater com o DOM atual. As duas chamadas de querySelector são independentes, então atualizar uma não afeta a outra.

Se você mantém uma frota de sub-contas do HighLevel na sua agência, empurre este script via Custom JavaScript no nível da agência para toda sub-conta herdar automaticamente.

Esta página foi útil?