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:
- O rótulo da aba principal do canal no composer.
- 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:
- Abra Conversas no HighLevel.
- Selecione qualquer contato com thread ativo.
- Confirme que a aba do composer agora mostra WhatsApp QR em vez de SMS.
- Abra o popover de seleção de provedor e confirme que o rótulo lá também é WhatsApp QR.
- 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
ifmantê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.