ウィジェットタブ
ウィジェットタブ
Microsoft TeamsタブにElevenLabsエージェントウィジェットを埋め込み、クリックして会話できます。
概要
エージェントウィジェットを読み込む小さなHTMLページをホストし、Teamsタブとして表示します。ユーザーはタブを開いてTeamsクライアント内でエージェントと会話できます。電話番号も電話回線も必要ありません。これは最も手軽なアプローチで、社内のセルフサービスアシスタントやデモに適しています。

仕組み
ウィジェットはWebコンポーネントです。TeamsはタブのcontentUrlをWebview(iframe)内でレンダリングするため、ページのTeamsへの埋め込みが許可され、メディア権限が付与されていれば、マイクキャプチャを含めてWebサイト上とまったく同じようにウィジェットが動作します。
Teamsでは、チャット、メッセージ、Loopページに貼り付けた生の<script>は実行されません。ウィジェットスクリプトはご自身でホストするページに配置し、そのページをTeamsタブとして埋め込む必要があります。
要件
- 認証を無効にした公開ElevenLabsエージェント(エージェント設定のAdvancedタブ)。ウィジェットにはこれが必要です。
- 単一の静的HTMLファイル用HTTPSホスト(Vercel、Netlify、Cloudflare Pages、Azure Static Web Appsなど)。
- カスタムタブオプションを使用する場合、テナント内でカスタムTeamsアプリをアップロードする権限(Teams管理センター→アプリを管理→カスタムアプリのアップロード)。
ステップ1:ウィジェットページを作成
ウィジェット埋め込みとエージェントIDを含むagent-widget.htmlを作成します。
HTTPSホストにデプロイし、まず通常のブラウザで読み込まれ、マイクが動作することを確認してください。
ワークスペースがdata residency環境にある場合は、ウィジェットが対象リージョンへ接続するようserver-location属性を追加してください。対応する値についてはウィジェットのカスタマイズを参照してください。
Teamsに設定する前に、ブラウザでページを単体テストしてください。そこでマイクが動作しなければ、Teams Webviewでも動作しません。
ステップ2:Teamsに追加
音声の信頼性が高くなる順に、2つの選択肢があります。
オプションA:Webサイトタブ(最速、リンクのみになる場合あり)
チャットまたはチャネルで、+ タブを追加→Webサイトを選択し、HTTPS URLを貼り付けて保存します。
組み込みのWebサイトタブでは、ページが埋め込まれず外部リンクとして開くことがあります。また、埋め込まれた場合でも、TeamsデスクトップのWebviewではマイクアクセスがブロックされることがあります。音声が失敗する場合は、オプションBを使用してください。
オプションB:カスタムタブアプリ(音声に推奨)
小さなカスタムTeamsアプリでページを静的タブとして宣言し、さらにメディア権限を要求します。これによりTeams内でマイクが確実に動作します。
マニフェストを作成
manifest.jsonを作成します。your-domain.comをホスト名に置き換え、idには一意のGUIDを設定してください。
音声に必要な主なフィールドは、devicePermissions: ["media"](マイク)と、ページがアクセスするすべてのドメインを**validDomains**に記載することです(ウィジェットスクリプトのunpkg.com、エージェントの*.elevenlabs.io)。
ステップ3:Teamsによるページの埋め込みを許可
ホスト側で、Teamsがページをiframeに埋め込めるようにする必要があります。レスポンスヘッダーを制御できる場合は、以下を設定してください。
Teamsがページを埋め込まずブラウザで開き続ける場合、ページのiframe埋め込みがブロックされています。ホスト側のCSP/X-Frame-Optionsを修正してください。
トラブルシューティング
タブでページが埋め込まれず、ブラウザで開かれる
ページのiframe埋め込みがブロックされています。X-Frame-Options: DENY/SAMEORIGINを削除し、上記のframe-ancestors CSPを設定してTeamsドメインを許可してください。カスタムタブアプリ(オプションB)は、組み込みのWebサイトタブよりも信頼性が高いです。
ウィジェットは読み込まれるが、マイクが動作しない
Teams Webviewの権限レイヤーが原因です。"devicePermissions": ["media"]を指定したカスタムタブアプリを使用し、Teamsでアプリにマイク権限を付与してください(タブのドロップダウン→アプリのアクセス許可)。Teams WebとTeamsデスクトップでは動作が異なるため、両方をテストしてください。代替手段として、「ブラウザで開く」リンクを用意してください。
ウィジェットがまったく表示されない
エージェントが認証無効の公開設定になっていること(エージェントのAdvanced設定)、およびunpkg.comと*.elevenlabs.ioがマニフェストのvalidDomainsに含まれていることを確認してください。
