Widget-tabblad
Sluit de ElevenLabs-agentwidget in een Microsoft Teams-tabblad in voor klik-om-te-praten.
Overzicht
Host een kleine HTML-pagina die de agentwidget laadt en toon deze als een Teams-tabblad. Gebruikers openen het tabblad en praten met de agent in de Teams-client — zonder telefoonnummer of telefonie. Dit is de lichtste aanpak; gebruik deze voor interne selfserviceassistenten en demo’s.

Hoe het werkt
De widget is een webcomponent. Teams rendert de contentUrl van een tabblad in een webview (iframe), zodat de widget precies werkt zoals op een website — inclusief microfoonopname, mits de pagina in Teams mag worden ingesloten en mediatoestemming heeft.
Teams voert geen onbewerkt <script> uit dat je in een chat, bericht of Loop-pagina plakt. Het widget-
script moet op een pagina staan die je host en die Teams vervolgens als tabblad insluit.
Vereisten
- Een openbare ElevenLabs-agent met uitgeschakelde authenticatie (tabblad Advanced in de agentinstellingen). Widgets vereisen dit.
- Een HTTPS-host voor één statisch HTML-bestand (Vercel, Netlify, Cloudflare Pages, Azure Static Web Apps enz.).
- Toestemming in je tenant om een aangepaste Teams-app te uploaden (Teams-beheercentrum → Apps beheren → aangepaste app uploaden), als je de optie voor een aangepast tabblad gebruikt.
Stap 1 — Maak de widgetpagina
Maak agent-widget.html met de widgetinsluiting en je agent-ID:
Deploy deze naar je HTTPS-host en controleer eerst of deze laadt en de microfoon werkt in een normale browser.
Als je workspace zich in een omgeving met dataresidentie
bevindt, voeg je het kenmerk server-location van de widget toe, zodat deze verbinding maakt met je regio — zie
widgetaanpassing voor de ondersteunde waarden.
Test de pagina losstaand in een browser voordat je Teams gebruikt. Als de microfoon daar niet werkt, werkt deze ook niet in de Teams-webview.
Stap 2 — Voeg deze toe aan Teams
Je hebt twee opties, in oplopende volgorde van betrouwbaarheid voor spraak.
Optie A — Websitetabblad (snelst, mogelijk alleen als link)
In een chat of kanaal: + Een tabblad toevoegen → Website, plak je HTTPS-URL en sla op.
Het ingebouwde tabblad Website opent de pagina soms als externe link in plaats van deze in te sluiten — en zelfs wanneer deze is ingesloten, kan microfoontoegang in de Teams-desktopwebview geblokkeerd zijn. Als spraak niet werkt, gebruik dan optie B.
Optie B — Aangepaste tabbladapp (aanbevolen voor spraak)
Een kleine aangepaste Teams-app definieert de pagina als een statisch tabblad en vraagt mediatoestemming aan, waardoor de microfoon betrouwbaar werkt binnen Teams.
Maak het manifest
Maak manifest.json. Vervang your-domain.com door je host en stel een unieke GUID in voor id:
De belangrijkste velden voor spraak zijn devicePermissions: ["media"] (microfoon) en het vermelden van elk domein dat de pagina gebruikt in validDomains (unpkg.com voor het widgetscript, *.elevenlabs.io voor de agent).
Verpak de app
Voeg een color.png (192×192) en outline.png (32×32, transparant) toe naast het manifest en zip vervolgens het manifest en de twee pictogrammen in de hoofdmap van het archief:
Uploaden en openen
In Teams: Apps → Je apps beheren → Een app uploaden → Een aangepaste app uploaden, selecteer voice-agent.zip, open daarna het tabblad Voice Agent en geef microfoontoegang wanneer daarom wordt gevraagd.
Teams-beheerders kunnen de clientinterface overslaan en de app vanuit PowerShell publiceren voor de hele organisatie — deze verschijnt dan voor iedereen onder Apps → Gebouwd voor je organisatie:
Als er geen melding verschijnt, open je de dropdown van het tabblad en kies je App-machtigingen om handmatig microfoontoegang te verlenen:

Stap 3 — Sta Teams toe de pagina in te sluiten
Je host moet Teams toestaan de pagina in een iframe weer te geven. Als je de responseheaders beheert, stel je het volgende in:
Als Teams de pagina in een browser blijft openen in plaats van deze in te sluiten, wordt insluiting in een iframe voor de pagina geblokkeerd — los de CSP / X-Frame-Options op je host op.
Problemen oplossen
Het tabblad opent de pagina in een browser in plaats van deze in te sluiten
De pagina wordt geblokkeerd voor weergave in een iframe. Verwijder alle X-Frame-Options: DENY/SAMEORIGIN en stel
de hierboven getoonde frame-ancestors-CSP in om de Teams-domeinen toe te staan. De aangepaste tabbladapp (optie B)
is ook betrouwbaarder dan het ingebouwde Website-tabblad.
De widget laadt, maar de microfoon werkt niet
Dit komt door de toestemmingslaag van de Teams-webview. Gebruik de aangepaste tabbladapp met
"devicePermissions": ["media"] en geef de app in Teams microfoontoestemming (dropdown van tabblad
→ App-machtigingen). Teams op het web en Teams voor desktop gedragen zich anders — test beide. Bied als
alternatief een link “Openen in browser” aan.
De widget verschijnt nooit
Controleer of de agent openbaar is met uitgeschakelde authenticatie (agentinstellingen onder Advanced), en
of unpkg.com en *.elevenlabs.io in validDomains van het manifest staan.