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.
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
Can I paste the dashboard into a tab?
Can I paste the dashboard into a tab?
Do not assume the dashboard is a supported embed. A tab needs an intentionally supported page, authentication flow, and framing configuration.
Does microphone permission expose meeting audio?
Does microphone permission expose meeting audio?
No. Device permission and access to a Teams call or meeting’s media are different capabilities.