## Visión general

Los **Custom Scripts** permiten inyectar **JavaScript** y **CSS** personalizados en tres superficies
de la plataforma:

- **Panel (dashboard)**: el panel que usa tu equipo de atención.
- **Portal**: el sitio público del Centro de Ayuda.
- **Widget**: el chat embebido en tu sitio web.

Con esto agregas comportamientos (p. ej., rastrear eventos, mostrar un aviso) o ajustes de estilo
(p. ej., ocultar/resaltar elementos) sin modificar el código de la plataforma. Es una función
potente y, por eso, vive en la **administración de la plataforma**.

## Requisitos previos

- Acceso de **operador/super administración** de la plataforma.
- Conocimiento de JavaScript/CSS (el script se ejecuta en el navegador de quien usa la superficie
  elegida).
- Un entorno para probar antes de publicar (idealmente fuera de producción).

## Paso a paso

1. Accede al panel de **administración de la plataforma** y abre el área de **Custom Scripts**.
2. Crea un nuevo script indicando: **superficie** (panel, portal o widget), **tipo** (JS o CSS) y
   cuándo debe ejecutarse (**run on**).
3. Pega tu código. En scripts JS, usa el objeto de contexto (`ctx`) que ofrece la plataforma para
   interactuar de forma segura con la superficie.
4. **Limpieza (teardown)**: los scripts que agregan elementos/escuchas deben eliminarlos cuando se
   solicite, para no acumular efectos secundarios en la navegación SPA.
5. Guarda, activa y **prueba** en la superficie correspondiente antes de liberar para todos.

## Configuración y opciones

- **Superficie**: elige en qué entorno se ejecuta el script (panel, portal o widget).
- **Tipo**: JavaScript (comportamiento) o CSS (estilo).
- **Cuándo ejecutar (run on)**: controla el momento/contexto de ejecución.
- **Activo/Inactivo**: enciende o apaga un script sin borrarlo.

## Casos de uso

- Agregar un aviso/banner temporal en el panel del equipo.
- Ocultar o reestilizar un elemento del portal para combinar con tu marca.
- Disparar un evento de analítica cuando se abre el widget.

## Consejos, límites y buenas prácticas

- Mantén los scripts **pequeños e idempotentes**; siempre implementa el **teardown**.
- Evita dependencias externas pesadas — afectan el rendimiento de la superficie.
- Versiona tu código fuera de la plataforma y documenta qué hace cada script.
- Al ser inyección de código, trátalo como **alto impacto**: revisa antes de publicar.

## Solución de problemas

- **El script no se ejecuta**: revisa la superficie elegida, si está activo y el momento de
  ejecución (run on).
- **Algo se rompió en pantalla**: desactiva el script y usa la consola del navegador para ver
  errores.
- **El efecto se duplica al navegar**: falta el **teardown** — elimina elementos/escuchas agregados.
- **No encuentro el área de Custom Scripts**: está en la administración de la plataforma — pide
  acceso a quien gestiona la instalación.

## Ver también

- [Whitelabel (marca propia)](/hc/ajuda/articles/administration-whitelabel-es)
- [Integraciones](/hc/ajuda/articles/administration-integracoes-es)
- [Visión general de Administración](/hc/ajuda/articles/administration-overview-es)
- [Tours guiados (Guided Tours)](/hc/ajuda/articles/administration-guided-tours-es)