| description | Las apps permiten incrustar una interfaz web propia dentro de la consola de agente de Videsk durante una llamada o reunión. |
|---|
Una app (también llamada extension) es una página web tuya que Videsk renderiza dentro de la consola del agente, normalmente al lado del panel de llamada. Te permite mostrar información contextual (CRM, ticketera, formularios internos), automatizar acciones del agente o llevar el flujo de tu propio backend al puesto de trabajo, sin que el agente cambie de pestaña.
┌──────────────────── Consola Videsk ────────────────────┐
│ │
│ Panel de llamada ┌────────── App ────────────┐ │
│ ─ Estado │ │ │
│ ─ Cliente │ tu web embebida │ │
│ ─ Acciones │ (https://tu-app.com) │ │
│ │ │ │
│ └───────────────────────────┘ │
└────────────────────────────────────────────────────────┘
Cuando el agente acepta una llamada o reunión, Videsk:
- Resuelve la URL de tu app sustituyendo variables del contexto (Handlebars).
- Monta tu web en un
<iframe>con unsandboxy unallowpredefinidos. - Te envía el contexto inicial (datos del agente, segmento, llamada, formulario) por
postMessagemediante el broker. - Tu app puede responder con eventos: emitir datos al host, pedir un resize de altura, etc.
Estas son las cuatro piezas. Léelas en orden la primera vez:
- Configuración: qué campos llenas en consola al registrar la app.
- Plantillas y contexto: qué variables puedes inyectar en la URL antes de cargarla.
- Broker (postMessage): el protocolo para hablar con la consola en tiempo real.
- Ejemplos: código copy/paste para los casos más comunes.
Hoy se documenta el tipo iframe, en el que tu app es una URL servida por ti. Existen tres ubicaciones (placements) donde puede aparecer:
| Placement | Dónde se ve | Cuándo conviene |
|---|---|---|
call-panel |
Inline dentro del panel de la llamada | Información compacta que el agente debe ver de un vistazo. |
sidebar |
Drawer lateral (ancho configurable) | Apps con más UI, búsquedas, formularios. |
standalone |
Se abre en una pestaña nueva (window.open) |
Herramientas que necesitan toda la pantalla o no encajan dentro de la consola. |
{% hint style="info" %}
Las apps standalone no usan el broker: la URL se resuelve y se abre en una pestaña nueva, sin canal postMessage. El resto de esta documentación aplica a call-panel y sidebar.
{% endhint %}
- Mount: el agente entra a una llamada/reunión y abre tu app. La URL se resuelve una sola vez con el contexto disponible en ese momento.
- Init: cuando el
iframetermina de cargar, el host envía un mensajevidesk:initcon el contexto alcontentWindowde tu app. - Operación: tu app y el host pueden intercambiar mensajes vía broker (resize, eventos de negocio, etc.).
- Reload manual: el agente puede recargar la app desde el botón del header. Esto vuelve a resolver la URL con el contexto actualizado.
- Unmount: al cerrar la llamada/reunión, o si la app deja de aplicar al segmento, el
iframese destruye.
{% hint style="warning" %} La URL no se vuelve a resolver automáticamente cuando el contexto cambia (por ejemplo, cuando el agente llena un campo del formulario después del mount). Si necesitas datos que cambian en vivo, recíbelos por el broker en lugar de codificarlos en la URL. {% endhint %}