Create a static tab in Microsoft Teams

A static tab is a content page that is declared directly in your manifest and—unlike a configurable tab—does not require a configuration page.

Currently, you can add one or more static tabs to your app's "personal scope" experience, accessed via the app bar or alongside your app's bot conversation.

Static tabs example

Creating tab content

Content pages in Teams, regardless of scope or type, should follow the guidelines in Create a content page.

Adding your tabbed content to your app package

Define your static tab experience in the staticTabs block of the manifest.

For more information on creating your app package, see Create the package for your Microsoft Teams app.

Manifest example for a static tab

"staticTabs": [
    "entityId": "TestAppAbout",
    "name": "About",
    "contentUrl": "",
    "websiteUrl": "",
    "scopes": [ "personal" ]
    "entityId": "TestAppMyTasks",
    "name": "My Tasks",
    "contentUrl": "",
    "websiteUrl": "",
    "scopes": [ "personal" ]

The staticTabs object allows you to specify one or more tabs, up to 16, with the following required elements:

  • entityId A user-defined ID that uniquely identifies the tab; analogous to the entityId used in deep links to a configurable tab
  • name The name shown on the tab
  • contentUrl The content URL to show in the tab
  • websiteUrl The URL to the full chrome content to display in the default browser
  • scopes  static tabs are used only in the personal context

Add static tab URLs to validDomains

All URLs you add in static tabs must be referenced in the validDomains section of the manifest. Failure to do so could result in a blank tab. Please note that although you can use wildcards for subdomains, be sure to appropriately scope for only the content you control and expect in the tab experience. For example, is good, but * is not.