> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threetone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Teams widget tab

> Prepare an authenticated web experience for a Teams tab without assuming a public widget embed or access to meeting audio.

A Teams tab embeds a web page in the Teams client. It can provide an assistant interface when that interface is supported, but it does not turn the page into a meeting participant or media bot.

<Note>
  Threetone has saved widget configuration, but no released public embed script or Teams app package is documented. Review [widget readiness](/agents-platform/deploy/web/widget) before designing the tab's conversation flow.
</Note>

## Prepare the tab application

Identify a web application you control, its HTTPS origin, the intended Teams scope, and the backend that will authorize each user. A Teams user or channel identifier is context, not proof of access to a Threetone workspace.

<Steps>
  <Step title="Choose the scope">Decide whether the interface belongs in a personal app, chat, or channel. Prepare the content URL and allowed domains in the Teams app manifest.</Step>
  <Step title="Review embedding requirements">Use HTTPS, configure the page's framing policy for the intended Microsoft hosts, and initialize TeamsJS after load. Check the current host list, including Microsoft's cloud.microsoft migration.</Step>
  <Step title="Design authentication">Use an appropriate Teams authentication flow and verify authorization in your backend. Sign-in pages may not render inside the iframe; do not rely on an embedded redirect loop or expose a workspace API key in the page.</Step>
  <Step title="Prepare client acceptance tests">Test sign-in, theme, keyboard navigation, resizing, session expiry, and client-specific device permissions. Treat microphone access and a supported Threetone session transport as separate requirements.</Step>
</Steps>

Follow Microsoft's [tab requirements](https://learn.microsoft.com/en-us/microsoftteams/platform/tabs/how-to/tab-requirements) and [tab overview](https://learn.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs) for the host contract.

## Failure handling

For a blank tab, inspect HTTPS, framing policy, allowed domains, and TeamsJS initialization. For a sign-in loop, inspect the authentication flow independently. Provide a recoverable unavailable state when the assistant session cannot start.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Can I paste the dashboard into a tab?" id="teams-tab-faq-dashboard">Do not assume the dashboard is a supported embed. A tab needs an intentionally supported page, authentication flow, and framing configuration.</Accordion>
  <Accordion title="Does microphone permission expose meeting audio?" id="teams-tab-faq-microphone">No. Device permission and access to a Teams call or meeting's media are different capabilities.</Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.