Pestaña con widget
Pestaña con widget
Integra el widget de agente de ElevenLabs en una pestaña de Microsoft Teams para hablar con un clic.
Descripción general
Aloja una pequeña página HTML que cargue el widget de agente y muéstrala como una pestaña de Teams. Usuarios abren la pestaña y hablan con el agente en el cliente de Teams, sin número de teléfono ni telefonía. Es el enfoque más ligero; úsalo para asistentes internos de autoservicio y demos.

Cómo funciona
El widget es un componente web. Teams muestra el contentUrl de una pestaña dentro de una webview (iframe), por lo que el widget se ejecuta exactamente igual que en un sitio web, incluida la captura del micrófono, siempre que se permita integrar la página en Teams y se le conceda permiso multimedia.
Teams no ejecutará un <script> sin procesar pegado en un chat, mensaje o página de Loop. El script del widget
debe estar en una página que alojes tú y que Teams integrará después como pestaña.
Requisitos
- Un agente de ElevenLabs público con la autenticación desactivada (pestaña Advanced de la configuración del agente). Los widgets lo requieren.
- Un host HTTPS para un único archivo HTML estático (Vercel, Netlify, Cloudflare Pages, Azure Static Web Apps, etc.).
- Permiso en tu tenant para subir una aplicación personalizada de Teams (Centro de administración de Teams → Administrar aplicaciones → subir aplicación personalizada), si usas la opción de pestaña personalizada.
Paso 1: crear la página del widget
Crea agent-widget.html con la integración del widget y el ID de tu agente:
Despliégala en tu host HTTPS y confirma primero que se carga y que el micrófono funciona en un navegador normal.
Si tu espacio de trabajo está en un entorno de residencia de datos,
añade el atributo server-location del widget para que se conecte a tu región; consulta la
personalización del widget para conocer los valores compatibles.
Prueba la página de forma independiente en un navegador antes de tocar Teams. Si el micrófono no funciona ahí, tampoco funcionará en la webview de Teams.
Paso 2: añadirla a Teams
Tienes dos opciones, en orden creciente de fiabilidad para la voz.
Opción A: pestaña de sitio web (más rápida, puede ser solo un enlace)
En un chat o canal, selecciona + Añadir una pestaña → Sitio web, pega tu URL HTTPS y guarda.
A veces, la pestaña integrada Sitio web abre la página como un enlace externo en vez de integrarla, e incluso cuando se integra, el acceso al micrófono en la webview de escritorio de Teams puede bloquearse. Si falla la voz, usa la opción B.
Opción B: aplicación de pestaña personalizada (recomendada para voz)
Una pequeña aplicación personalizada de Teams declara la página como una pestaña estática y solicita permiso multimedia, lo que permite que el micrófono funcione de forma fiable dentro de Teams.
Crear el manifiesto
Crea manifest.json. Sustituye your-domain.com por tu host y establece un GUID único para id:
Los campos clave para la voz son devicePermissions: ["media"] (micrófono) e incluir todos los dominios a los que accede la página en validDomains (unpkg.com para el script del widget y *.elevenlabs.io para el agente).
Empaquetar la aplicación
Añade un color.png (192×192) y un outline.png (32×32, transparente) junto al manifiesto y, después, comprime el manifiesto y los dos iconos en la raíz del archivo:
Subir y abrir
En Teams: Aplicaciones → Administrar tus aplicaciones → Subir una aplicación → Subir una aplicación personalizada; selecciona voice-agent.zip, abre la pestaña Voice Agent y concede acceso al micrófono cuando se te solicite.
Los administradores de Teams pueden omitir la interfaz de cliente y publicar la aplicación para toda la organización desde PowerShell; entonces aparecerá para todos en Aplicaciones → Creada para tu organización:
Si no aparece ningún aviso, abre el desplegable de la pestaña y elige Permisos de la aplicación para conceder acceso al micrófono manualmente:

Paso 3: permitir que Teams integre la página
Tu host debe permitir que Teams muestre la página en un iframe. Si controlas las cabeceras de respuesta, configura:
Si Teams sigue abriendo la página en un navegador en vez de integrarla, se está bloqueando la integración de la página en un iframe; corrige la CSP / X-Frame-Options de tu host.
Resolución de problemas
El widget se carga, pero el micrófono no funciona
Se debe a la capa de permisos de la webview de Teams. Usa la aplicación de pestaña personalizada con
"devicePermissions": ["media"] y concede permiso de micrófono a la aplicación en Teams (desplegable de la pestaña
→ Permisos de la aplicación). Teams web y Teams de escritorio se comportan de forma distinta; prueba ambos. Como
alternativa, ofrece un enlace «Abrir en el navegador».
El widget nunca aparece
Confirma que el agente sea público y tenga la autenticación desactivada (configuración Advanced del agente), y
que unpkg.com y *.elevenlabs.io estén en validDomains del manifiesto.