Docs
Comenzar gratis

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:

  1. La etiqueta de la pestaña principal del canal en el composer.
  2. 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:

  1. Abre Conversaciones en HighLevel.
  2. Selecciona cualquier contacto con hilo activo.
  3. Confirma que la pestaña del composer ahora muestra WhatsApp QR en lugar de SMS.
  4. Abre el popover de selección de proveedor y confirma que la etiqueta también es WhatsApp QR.
  5. 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 MutationObserver es 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 if lo 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.

¿Te sirvió esta página?