Skip to main content
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.
Threetone has saved widget configuration, but no released public embed script or Teams app package is documented. Review widget readiness before designing the tab’s conversation flow.

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.
1

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.
2

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.
3

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.
4

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.
Follow Microsoft’s tab requirements and tab overview 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

Do not assume the dashboard is a supported embed. A tab needs an intentionally supported page, authentication flow, and framing configuration.
No. Device permission and access to a Teams call or meeting’s media are different capabilities.