Renombra la pestaña SMS a WhatsApp QR
El composer de conversaciones de HighLevel viene con una pestaña etiquetada "SMS" aunque el proveedor por debajo sea Wazzap. Este tweak chiquito renombra esa pestaña a "WhatsApp QR" para que tus agentes siempre sepan por qué canal están enviando. Es puramente cosmético, no afecta el ruteo.
Resumen
La customización actualiza la UI de Conversaciones de HighLevel reemplazando la etiqueta "SMS" con "WhatsApp QR" en dos lugares:
- La etiqueta de la pestaña principal del canal en el composer.
- El popover de selección de proveedor/canal.
Una vez instalado, cada agente en cada sub-cuenta abre GHL y entiende al instante por qué canal va a escribir. Baja la confusión y bajan los tickets.
Esto es solo un cambio de UI. No altera ruteo, proveedores, entregabilidad ni tipo de mensaje. La pestaña "SMS" de HighLevel nunca fue SMS real para los usuarios de Wazzap, era un label que sobraba del abstracto de conversation provider.
Por qué renombrar la pestaña
- Agentes nuevos en tu equipo no piensan por error que están pagando Twilio por mensaje.
- Claridad visual para equipos ops manejando decenas de sub-cuentas.
- Mejor experiencia white-label cuando revendes HighLevel a tus propios clientes.
- Elimina ambigüedad en QA, videos de entrenamiento y screen recordings.
Instalación
En HighLevel, entra a:
Settings → Company → Custom JavaScript
Pega el script de abajo en el campo Custom JavaScript y haz clic en Save. El cambio entra en efecto en el próximo refresh dentro de GHL.
El script
<script>
(function() {
function renombrarTab() {
// Selector 1 - Tab 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';
}
}
// Intenta de inmediato
renombrarTab();
// Observa cambios en el DOM
const observer = new MutationObserver(() => {
renombrarTab();
});
observer.observe(document.body, {
childList: true,
subtree: true
});
})();
</script>
El MutationObserver del final es lo que hace que el rename persista cuando
HighLevel re-renderiza el composer al navegar entre contactos. Sin él, la etiqueta volvería
a "SMS" cada vez que cambias de conversación.
Validación
Después de guardar el script:
- Abre Conversaciones en HighLevel.
- Selecciona cualquier contacto con hilo activo.
- Confirma que la pestaña del composer ahora muestra WhatsApp QR en lugar de SMS.
- Abre el popover de selección de proveedor y confirma que la etiqueta también es WhatsApp QR.
- Navega entre contactos y recarga la página para confirmar que el cambio persiste.
Notas y límites
- Es solo UI. Ruteo, proveedores y entregabilidad no se tocan.
- El script usa selectores CSS específicos. Si HighLevel actualiza la UI de Conversaciones, los selectores pueden romperse y el rename deja de aplicar. El script entonces simplemente no hace nada, sin error visible para el agente.
- El
MutationObserveres necesario porque GHL re-renderiza componentes de forma dinámica al navegar la lista de conversaciones. - El script corre en cada página de HighLevel. Los
iflo mantienen barato, pero si ya tienes otro Custom JavaScript corriendo, deja este al último para minimizar overlap de observers.
El Custom JavaScript en HighLevel se carga tal cual en cada página. Nunca pegues código de origen desconocido y revisa cualquier script que copies de terceros. Este script no manda datos a ningún lado, solo lee y reescribe dos etiquetas de texto del DOM.
Solución de problemas
La etiqueta no cambió después de guardar
Hard-refresh de HighLevel (Ctrl+Shift+R en Windows / Cmd+Shift+R en Mac). El Custom JavaScript se carga en reloads completos, no en navegaciones SPA dentro de la app.
La etiqueta vuelve a "SMS" al cambiar de conversación
El MutationObserver no está agarrando el re-render. Asegúrate de haber pegado
el script completo, incluyendo el bloque del observer al final. Sin ese bloque,
GHL revierte la etiqueta cada vez que repinta el composer.
La etiqueta cambió en el composer pero no en el popover (o viceversa)
HighLevel actualizó uno de los dos selectores. Abre DevTools (F12), inspecciona
el elemento que todavía dice "SMS" y ajusta el selector en el script para que
coincida con el DOM actual. Los dos querySelector son independientes, así que
actualizar uno no afecta al otro.
Si manejas una flotilla de sub-cuentas de HighLevel bajo tu agencia, empuja este script vía tu Custom JavaScript a nivel agencia para que cada sub-cuenta lo herede automáticamente.