Updates from: 05/01/2021 03:11:19
Service Microsoft Docs article Related commit history on GitHub Change details
platform Designing Apps In Meetings https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/apps-in-teams-meetings/design/designing-apps-in-meetings.md
You can go back to a meeting after it ends and view app content. In this example
## Best practices
+Use these recommendations to create a quality app experience.
+ ### Interactions :::row:::
Modals (also known as task modules) in the already narrow in-meeting tab might w
:::column-end::: :::row-end:::-
-## Validate your design
-
-If you plan to publish your app to AppSource, you should understand the design issues that commonly cause apps to fail during submission.
-
-> [!div class="nextstepaction"]
-> [Check design validation guidelines](../../concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#validation-guidelines--most-failed-test-cases)
platform Bots https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/bots/design/bots.md
Users should be able to change a bot's settings. You can provide this functional
## Best practices
+Use these recommendations to create a quality app experience.
+ ### Content #### Do: Establish a clear persona
See more about writing for bots in the <a href="https://www.figma.com/community/
:::row::: :::column span=""::: #### Do: Clearly convey what your bot can do
Welcome messages and tours help people understand what they can do with your bot
:::column-end::: :::column span=""::: #### Don't: Obscure your bot's features
First impressions matter. People will likely be confused or suspicious when pres
:::row::: :::column span=""::: #### Do: Recognize non-questions
Your bot should be able to respond to messages like "Hi", "Help", and "Thanks" w
:::column-end::: :::column span=""::: #### Don't: Miss out on opportunities to delight
Some people expect conversations to flow naturally like they would with a real p
:::row::: :::column span=""::: #### Do: Provide help
If your bot canΓÇÖt satisfy a request, provide ways for a user to educate themse
:::column-end::: :::column span=""::: #### Don't: Leave users stranded
People will quickly abandon your bot if they canΓÇÖt troubleshoot issues.
:::row::: :::column span=""::: #### Do: Use task modules or tabs
If your bot provides an answer that requires a few more steps, you can link to a
:::column-end::: :::column span=""::: #### Don't: Make multi-turn interactions tedious
An extensive conversation to complete a single task is slow and overly complex.
:::row::: :::column span=""::: #### Do: Only show sensitive info in a personal context
If your bot is in a group chat or channel, we recommend directing users to a pri
:::column-end::: :::column span=""::: #### Don't: Some content isnΓÇÖt meant to be seen by everyone
Your bot shouldnΓÇÖt reveal sensitive information to a group of people.
:::column-end::: :::row-end:::
-## Learn more
+## See also
These other guidelines may help with your bot design: * [Designing your personal app](../../concepts/design/personal-apps.md) * [Designing Adaptive Cards](../../task-modules-and-cards/cards/design-effective-cards.md) * [Designing task modules](../../task-modules-and-cards/task-modules/design-teams-task-modules.md)-
-## Validate your design
-
-If you plan to publish your app to AppSource, you should understand the design issues that commonly cause apps to fail during submission.
-
-> [!div class="nextstepaction"]
-> [Check design validation guidelines](../../concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#validation-guidelines--most-failed-test-cases)
platform Add Authentication https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/bots/how-to/authentication/add-authentication.md
Note-there are two options for Service Providers here-Azure AD V1 and Azure AD V
1. In the [**Azure portal**][azure-portal], select your resource group from the dashboard. 1. Select your bot channel registration link.
-1. On the resource page, select **Settings**.
-1. Under **OAuth Connection Settings** near the bottom of the page, select **Add Setting**.
+1. Open the resource page and select **Configuration** under **Settings**.
+1. Select **Add OAuth Connection Settings**.
+The following image displays the corresponding selection in the resource page:
+![SampleAppDemoBot configuration](~/assets/images/authentication/sample-app-demo-bot-configuration.png)
1. Complete the form as follows: 1. **Name**. Enter a name for the connection. You'll use this name in your bot in the `appsettings.json` file. For example *BotTeamsAuthADv1*.
Note-there are two options for Service Providers here-Azure AD V1 and Azure AD V
1. In the [**Azure portal**][azure-portal], select your resource group from the dashboard. 1. Select your bot channel registration link.
-1. On the resource page, select **Settings**.
-1. Under **OAuth Connection Settings** near the bottom of the page, select **Add Setting**.
+1. Open the resource page and select **Configuration** under **Settings**.
+1. Select **Add OAuth Connection Settings**.
+The following image displays the corresponding selection in the resource page:
+![SampleAppDemoBot Configuration](~/assets/images/authentication/sample-app-demo-bot-configuration.png)
+ 1. Complete the form as follows: 1. **Name**. Enter a name for the connection. You'll use this name in your bot in the `appsettings.json` file. For example *BotTeamsAuthADv2*.
platform Update And Delete Bot Messages https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/bots/how-to/update-and-delete-bot-messages.md
To update an existing activity within a conversation, include the `conversationI
PUT /v3/conversations/{conversationId}/activities/{activityId} ```
-| **Request and Responce** | **Description** |
+|Request |Response |
|-|-|
-| An [activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#activity-object&preserve-view=true) object | A [ResourceResponse](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#resourceresponse-object&preserve-view=true) object |
+| An [Activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#activity-object&preserve-view=true) object. | A [ResourceResponse](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#resourceresponse-object&preserve-view=true) object. |
* * *
To delete an existing activity within a conversation, include the `conversationI
DELETE /v3/conversations/{conversationId}/activities/{activityId} ```
-| **Request and Responce** | **Description** |
+| **Request and response** | **Description** |
|-|-|
-| N/A | An HTTP status code that indicates the outcome of the operation. Nothing is specified in the body of the response. |
+| N/A | An HTTP status code indicating the outcome of the operation. Nothing is specified in the body of the response. |
DELETE /v3/conversations/{conversationId}/activities/{activityId}
The following code sample demonstrates basics of conversations:
-| **Sample Name** | **Description** | **.NET** | **Node.js** | **Python** |
+| **Sample name** | **Description** | **.NET** | **Node.js** | **Python** |
|-|--|--|-|--| | Teams Conversation Basics | Demonstrates basics of conversations in Teams including message update and delete. | [View](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/57.teams-conversation-bot) | [View](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/javascript_nodejs/57.teams-conversation-bot) | [View](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/python/57.teams-conversation-bot) |
platform Build And Run https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/build-your-first-app/build-and-run.md
If you already have a tenant, verify if you can sideload apps in Teams.
### Install your development tools
-To build this app, you'll use the Teams Toolkit for Visual Studio Code to quickly get started. You can also build Teams apps with any ofyour preffered tools.
+To build this app, you'll use the Teams Toolkit for Visual Studio Code to quickly get started. You can also build Teams apps with any of your preffered tools.
> [!NOTE] > Teams displays app content only through HTTPS connections. To debug certain types of apps locally, such as a bot, you'll learn how to use ngrok to set up a secure tunnel between Teams and your app.
platform Authentication https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/authentication/authentication.md
keywords: teams authentication OAuth SSO AAD
# Authenticate users in Microsoft Teams
-> [!NOTE]
-> Web-based authentication on mobile clients requires version 1.4.1 or later of the Microsoft Teams JavaScript SDK.
+> [!Note]
+> Web-based authentication on mobile clients requires version 1.4.1 or later of the Teams JavaScript client SDK.
To access user information protected by Azure Active Directory (AAD) and to access data from services like Facebook and Twitter, the app establishes a trusted connection with those providers. If the app uses Microsoft Graph APIs in the user scope, authenticate the user to retrieve the appropriate authentication tokens.
platform Apps Localization https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/build-and-test/apps-localization.md
Last updated 05/15/2018
# Localization for Microsoft Teams apps
-When localizing your Microsoft Teams app there are three major areas you need to consider.
+When localizing your Microsoft Teams app, you must consider the following:
-1. Your AppSource listing (if you're publishing to the app store).
+1. Your Teams store listing (if applicable).
1. The end-user facing strings in your app manifest (for example bot commands). 1. Responding to localized text submitted from your users. ## Localizing your AppSource listing
-If you're publishing to the app store, you need to be aware that localizing your AppSource listing is not yet supported. However, in preparation for support for localized listings in the app store you can add additional languages to your listing. Currently only the default (English) language information you provide in [Partner Center](/office/dev/store/submit-to-appsource-via-partner-center) for your listing will appear in the [AppSource website](https://appsource.microsoft.com/marketplace/apps?product=office%3Bteams&page=1) listing for your app.
+If you're publishing to the store, you need to be aware that localizing your AppSource listing is not yet supported. However, in preparation for support for localized listings in the app store you can add additional languages to your listing. Currently only the default (English) language information you provide in [Partner Center](/office/dev/store/submit-to-appsource-via-partner-center) for your listing will appear in the [AppSource website](https://appsource.microsoft.com/marketplace/apps?product=office%3Bteams&page=1) listing for your app.
+
+### Example of configuring localization
To configure an additional language for your app, in [Partner Center](/office/dev/store/submit-to-appsource-via-partner-center), select both English and the additional language of the app. French is used in this example.
platform Apps Package https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/build-and-test/apps-package.md
localization_priority: Normal
-# Create an app package for your Microsoft Teams app
+# Create a Microsoft Teams app package
-Apps in Teams are defined by an app manifest JSON file, and bundled in an app package with their icons. You'll need an app package to upload and install your app in Teams and publish to either your Line of Business app catalog or to AppSource.
+You need an app package however you plan to distribute your Microsoft Teams app. A valid package is a ZIP file that contains the following:
-A Teams app package is a .zip file containing the following:
+* **App manifest**: Describes how your app is configured, including its capabilities, required resources, and other important attributes.
+* **App icons**: Each package requires a color and outline icon for your app.
-* A manifest file named `manifest.json`, which specifies attributes of your app and points to required resources for your experience, such the location of its tab configuration page or the Microsoft app ID for its bot.
-* [Color and outline icons for your app](#app-icons).
+## App manifest
-## Creating a manifest
+Your app manifest file must be at the top level of the package with the name `manifest.json`.
-**Teams App Studio** can help configure your manifest. It also contains a React control library and configurable samples for cards. For more information, see [App Studio Overview](~/concepts/build-and-test/app-studio-overview.md).
+When publishing to the Teams store, make sure your manifest references the latest [schema](~/resources/schem).
-Your manifest file must be named "manifest.json" and be at the top level of the upload package. Note that manifests and packages built previously might support an older version of the schema. For Teams apps and especially AppSource (formerly Office Store) submission, you must use the current [manifest schema](~/resources/schem).
-
-> [!TIP]
-> Specify the schema at the beginning of your manifest to enable IntelliSense or similar support from your code editor:
->
-> `"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.9/MicrosoftTeams.schema.json",`
-
## App icons
-Your app package must include two PNG versions of your app iconΓÇöa color icon and an outline icon. For your app to pass the AppSource review, these icons must meet the following size requirements.
+Your app package must include two PNG versions of your app icon: A color and outline version.
> [!Note] > If your app has a bot or messaging extension, your icons also will be included in your Microsoft Azure Bot Service registration.
+For your app to pass Teams store review, these icons must meet the following size requirements.
+ ### Color icon
-The color version of your icon displays in most Teams scenarios and must be 192x192 pixels. Your icon symbol (96x96 pixels) can be any color or colors, but it must sit on a solid or fully transparent square background.
+The color version of your icon displays in most Teams scenarios and must be 192x192 pixels. Your icon symbol (96x96 pixels) can be any color, but it must sit on a solid or fully transparent square background.
-Teams automatically crops your icon to display a square with rounded corners in multiple scenarios and a hexagonal shape in bot scenarios. Include 48 pixels of padding around your symbol so these crops can be made without losing any detail.
+Teams automatically crops your icon to display a square with rounded corners in multiple scenarios and a hexagonal shape in bot scenarios. To crop the symbol without losing any detail, include 48 pixels of padding around your symbol.
:::image type="content" source="../../assets/images/icons/design-color-icon.png" alt-text="Teams color icon and design guidance." border="false":::
Teams automatically crops your icon to display a square with rounded corners in
An outline icon displays in two scenarios:
-* When your app is in use and ΓÇ£hoistedΓÇ¥ on the app bar on the left of Teams.
-* when a user pins your app's messaging extension.
+* When your app is in use and ΓÇ£hoistedΓÇ¥ on the app bar on the left side of Teams.
+* When a user pins your app's messaging extension.
The icon must be 32x32 pixels. It can be white with a transparent background or transparent with a white background (no other colors are permitted). The outline icon should not have any extra padding around the symbol.
The color icon submitted in your app package must be square. DonΓÇÖt round the c
:::column-end::: :::row-end:::
+#### Don't: Copy other brands
+
+Your icons must not mimic any copyrighted products that you don't own (for example, a design similar to a Microsoft product or brand).
+ ### Examples Here's how app icons appear in different Teams capabilities and contexts.
Here's how app icons appear in different Teams capabilities and contexts.
#### Messaging extension :::image type="content" source="../../assets/images/icons/messaging-extension-icon-example.png" alt-text="<alt text>" border="false":::+
+## Next step
+
+Choose how you plan to distribute your app:
+
+> [!div class="nextstepaction"]
+> [Sideload your app in Teams](~/concepts/deploy-and-publish/apps-upload.md)
+> [!div class="nextstepaction"]
+> [Publish your app to your org](/MicrosoftTeams/tenant-apps-catalog-teams?toc=/microsoftteams/platform/toc.json&bc=/MicrosoftTeams/breadcrumb/toc.json)
+> [!div class="nextstepaction"]
+> [Publish your app to the store](~/concepts/deploy-and-publish/appsource/publish.md)
platform Test Data https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/build-and-test/test-data.md
Last updated 11/01/2019
# Add test data to your Microsoft 365 test tenant
-With a Microsoft 365 developer subscription, you can use your Microsoft Teams app with test teams, channels, and users.
+You can test your Microsoft Teams app with sample data with a Microsoft 365 developer subscription.
## Prerequisites
With a Microsoft 365 developer subscription, you can use your Microsoft Teams ap
5. [Install the Azure AD PowerShell module](/powershell/azure/active-directory/install-adv2?view=azureadps-2.0#installing-the-azure-ad-module&preserve-view=true). > [!NOTE]
-> For any tenant that you use, you must get the global administrator permissions to run the scripts.
+> You must have global admin permissions in the tenant to run the scripts.
-### Optional step to allow upload of custom apps
+## Allow users to upload apps
-By default, only global admins or teams service admins can upload custom apps into the tenant app catalog. You can also enable all users to upload custom apps for their own use or to teams for testing.
+By default, only global admins or Teams service admins can upload (sideload) apps in a tenant. You can also allow users to upload custom apps for their own use or to teams for testing. For more information, see [manage custom app policies and settings in Teams](https://docs.microsoft.com/microsoftteams/teams-custom-app-policies-and-settings).
-To enable this setting, you'll need to update the global App Setup Policy in your Teams Admin Portal.
-
-<img width="430px" src="~/assets/images/microsoft-teams-admin-center-screenshot.png" alt="Screenshot of App Setup Policy"/>
-
-## Optional step to enable custom app sideloading
-
-Enabling custom app sideloading is optional. By default, only global admins or Teams service admins can upload custom apps into the tenant app catalog. You can also allow users to upload custom apps to Teams. For more information, see [manage app setup policies in Teams](/microsoftteams/teams-app-setup-policies).
-
-## Create teams and channels
+## Create teams and channels for testing
1. Save the following snippet as a **.xml** file and note the file path. This XML defines the structure of the team and channel that is created along with its members:
Enabling custom app sideloading is optional. By default, only global admins or T
## See also -- [Debug your tab](~/tabs/how-to/developer-tools.md)
-
-- [Debug your bots](~/bots/how-to/debug/locally-with-an-ide.md)--- [Test RSC permissions](~/graph-api/rsc/test-resource-specific-consent.md)-
+* [Debug your tab](~/tabs/how-to/developer-tools.md)
+* [Debug your bots](~/bots/how-to/debug/locally-with-an-ide.md)
+* [Test RSC permissions](~/graph-api/rsc/test-resource-specific-consent.md)
platform Apps Publish Overview https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/apps-publish-overview.md
+
+ Title: Overview - Distribute your app
+description: Describes the options for publishing your Microsoft Teams app.
+++++
+# Distribute your Microsoft Teams app
+
+You can provide your Microsoft Teams app to an individual, team, organization, or anyone who wants to use it. How you distribute depends on several factors, including users' needs, business and technical requirements, and your goals for the app.
+
+## Upload your app in Teams
+
+Sideload an app for personal use, collaborating with your team, or testing and debugging. This kind of distribution doesn't require a formal review process.
+
+For more information, see [upload your app in Teams](apps-upload.md).
+
+## Publish your app to your org
+
+Make your app available to people in your org. This kind of distribution requires your Teams admin's approval.
+
+For more information, see [manage your apps in the Teams admin center](https://docs.microsoft.com/MicrosoftTeams/manage-apps?toc=%2Fmicrosoftteams%2Fplatform%2Ftoc.json&bc=%2FMicrosoftTeams%2Fbreadcrumb%2Ftoc.json).
+
+### Government Community Cloud (GCC) organizations
+
+In GCC Teams environments, compliant Microsoft apps are enabled by default. Before publishing an app, however, make sure that all the app's endpoints comply with your GCC organization's requirements.
+
+> [!IMPORTANT]
+>If your app includes a bot or messaging extension, you must select the **Microsoft Teams for Government** option when setting up a channel between your bot and Teams in Azure. For more information, see [connect a bot to channels](/azure/bot-service/bot-service-manage-channels?view=azure-bot-service-4.0&preserve-view=true).
+
+## Publish your app to the Teams store
+
+Make your app available to everyone. This kind of distribution requires Microsoft approval.
+
+For more information, see [publish to the Teams store](~/concepts/deploy-and-publish/appsource/publish.md).
+
+## See also
+
+* [Microsoft 365 App Compliance Program](/microsoft-365-app-certification/overview)
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [Create your app package](~/concepts/build-and-test/apps-package.md)
platform Apps Upload https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/apps-upload.md
Title: Upload your custom app
-description: Describes how to upload your app in Microsoft Teams
+description: Learn how to sideload your app in Microsoft Teams. Sideloading is common when testing and debugging an app during development.
-localization_priority: Normal
-
-keywords: teams apps upload
++
-# Upload an app package to Microsoft Teams
+# Upload your app in Microsoft Teams
-To test your app experience within Microsoft Teams, you need to upload your app to Teams. Uploading adds the app to the selected team and all the team members can interact with it like end users.
+You can sideload Microsoft Teams apps without having to publish to your organization or the Teams store. This makes sense in the following scenarios:
-> [!NOTE]
-> Uploading an updated package for an existing app with a bot might not show tab changes when viewed through the conversations window. You can access the app through the apps fly-out or test in a clean environment.
-
-## Create your upload package
-
-For development and AppSource submission, you must create a package that you can upload. The package must contain the information to describe your experience. The package is a .zip file that contains the application manifest and icons that uniquely define your experience.
-
-To create an upload package, see [Create the package for your Microsoft Teams app](../build-and-test/apps-package.md).
-
-After you create the package, upload it into a team. The uploaded package is only available to the users of the selected team.
-
-## Load your package into Teams
-
-You can test your package by uploading it into Teams.
-
-> [!NOTE]
-> For uploading to work, your tenant admin must first [enable uploading of apps](/microsoftteams/admin-settings).
-
-There are two ways to upload your app to Teams:
-
-* Using the Store
-* Using the Apps tab
-
-## Upload your package into a team or conversation using the Store
-
-1. In the lower left corner of Teams, choose the **Store** icon. On the Store page, choose **Upload a custom app**.
-
- ![View team](../../assets/images/store-upload-a-custom-app2.png)
-
-2. In the **Open** dialog, navigate to the package you want to upload and choose Open.
-
- ![Add menu](../../assets/images/NewappAddmenudropdown.png)
-
-The uploaded package must be available for use in the team or conversation specified in the consent dialog. If your app does not appear, the most common reason is an error in the manifest, particularly IDs for the app, bot, and messaging extensions. If the app is not scoped for conversations that option does not appear.
-
->[!NOTE]
-> Apps in conversations is currently in [Developer Preview](../../resources/dev-preview/developer-preview-intro.md), and the option does not appear if Teams is not running in that mode.
-
-![Example of bot in list of uploaded bots](../../assets/images/botinlist.jpg)
-
-## Upload your package into a team using the Apps tab
-
-1. In the target team, choose **More options** (**&#8943;**) and select **Manage team**.
-
- > [!NOTE]
- > You must be the team owner or the owner must give access to users to add the appropriate app types for this functionality to appear.
-
-2. Select the **Apps** tab and choose **Upload a custom app** on the lower right.
-
- ![Upload entry point](../../assets/images/UploadACustomApp.png)
-
-3. Select your .zip package from the computer.
-
-4. You can see your uploaded app in the list.
-
- ![Example of bot in list of uploaded bots](../../assets/images/botinlist.jpg)
-
-If your app does not load, the most common reason is an error in the manifest, particularly IDs for the app, bot, and messaging extensions.
-
-## Access your uploaded configurable tab
-
-If the app contains tabs, users can pin them to any conversation or team channel using the standard tab gallery flow:
-
-1. Go to a channel in the team. Choose **+** to add a tab to the right of the existing tabs.
-
-2. Select your tab from the gallery that appears.
-
-3. Accept the consent prompt.
-
-4. Configure your tab through its [configuration page](../../tabs/how-to/create-tab-pages/configuration-page.md) and select **Save**.
-
- ![The Add a tab dialog box, featuring a gallery of available tabs](../../assets/images/tab_gallery.png)
-
-## Access your uploaded bot
-
-After adding the bot to a team, it must be usable by anyone on that team, inside and outside the team channels, depending on bot scope definition. All team members can see a post in the **General** channel indicating that the bot has been added to the team.
-
-For a Teams bot, you can start by invoking your bot by @mentioning the name of the bot.
+* You want to test and debug an app locally yourself or with other developers.
+* You built an app just for yourself (for example, to automate a workflow).
+* You built an app for a small set of users (such as your work group).
-To test direct chats with your bot, you can either access it through the App home, @mention it in a channel, or search for it in the **New Chat** window.
+## Prerequisites
-You can @mention the bot in a conversation or search for it in the **New Chat** window to test direct chats with your bot.
+* Create your [app package](~/concepts/build-and-test/apps-package.md) and [validate it](https://dev.teams.microsoft.com/appvalidation.html) for errors.
+* [Enable custom app uploading](~/concepts/build-and-test/prepare-your-o365-tenant.md#enable-custom-teams-apps-and-turn-on-custom-app-uploading) in Teams.
+* Make sure that your app is running and accessible via HTTPs.
-## Access your uploaded Connector
+## Upload your app
-With the app loaded in the team or conversation, users can set up a Connector using the standard Connectors gallery flow:
+You can sideload your app to a team, chat, meeting, or for personal use depending on how you configured your app's scope.
-1. Go to a channel in the team. Choose **More options** (*&#8943;*) and choose **Connectors**.
+1. Log in to the Teams client with your [Microsoft 365 development account](~/build-your-first-app/build-and-run.md#prerequisites).
+1. Select **Apps** and choose **Upload a custom app**.
+1. Select your app package .zip file. An install dialog displays.
+1. Add your app to Teams.
-2. Select your Connector from the **Sideloaded** section at the bottom.
+## Troubleshoot upload issues
-3. Configure your connector through its [configuration page](../../webhooks-and-connectors/how-to/connectors-creating.md) and select **Save**.
+If your app fails to sideload, do the following until the issue resolves:
- ![The Add a tab dialog box, featuring a gallery of available tabs.](../../assets/images/connector_gallery.png)
+1. Go back through the instructions for [creating your app package](../../concepts/build-and-test/apps-package.md).
+1. [Validate your app package](https://dev.teams.microsoft.com/appvalidation.html) again.
+1. Make sure your app manifest matches the latest [schema](../../resources/schem).
-## Access your uploaded messaging extension
+## Access your app
-An uploaded app with a messaging extension automatically appears in the **More options** (*&#8943;*) menu in the compose box.
+Teams provides several ways to open apps. For more information, see [access your apps in Teams](https://support.microsoft.com/office/access-your-apps-in-teams-0758cb09-9e85-40e7-a974-51df7734646a).
-![Messaging extensions](../../assets/images/compose-extensions/cesampleapp.png)
+## Update your app
+You don't have to sideload your app again if you make code changes (these are reflected in Teams in real-time). However, you must reinstall if you change any app configurations.
-## Remove or update your app
+## Remove your app
-To remove your app, select the delete icon next to the app name in the **View Teams** bots list. If you change manifest information, first remove the app and then add the updated package, see [Load your package into a team](#load-your-package-into-teams). Code changes on your service do not require you to upload your manifest again. However, if the code changes require manifest updates, such as changes to the URL or the Microsoft app ID for its bot, you must upload the manifest again.
+To remove your app, right click the app icon in Teams and select **Uninstall**.
> [!NOTE]
-> You cannot remove a bot from a personal context entirely. If the bot is removed and added again, additional communication with the bot appends to the previous conversation.
+> You can't remove personal bot activity entirely. If you remove the app and add it again, new communication with the bot appends to the previous conversation with it.
-## Troubleshooting notes
+## Next step
-If the manifest fails to load, check if you have followed all the instructions in [Create the package](../../concepts/build-and-test/apps-package.md) and validated your manifest against the [schema](../../resources/schem).
+> [!div class="nextstepaction"]
+> [Use your Teams app](https://support.microsoft.com/office/apps-and-services-cc1fba57-9900-4634-8306-2360a40c665b?ui=en-us&rs=en-us&ad=us)
platform Overview https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/overview.md
Title: Maintaining and supporting your published app
-description: What to do after you have published your app
-
+ Title: Maintain and support your published app
+description: What to think about once your store is listed on the Teams store and AppSource.
+ localization_priority: Normal
-keywords: teams post publish update certification app update manifest
++
+# Maintain your published Microsoft Teams app
-# Maintain and support your published app
+With your app listed on the Microsoft Teams store, start thinking about how you'll maintain the app going forward and increase downloads and usage.
-After your app is approved and listed in the public app catalog, you can increase your reach by completing the Microsoft 365 App Compliance Program or by adding a download button on your website.
+## Publish updates to your app
-## Microsoft 365 Certified
+You can submit changes to your app (such as new features or even metadata) in Partner Center. These changes requires a new review process.
-The [Microsoft 365 App Compliance Program](./application-certification.md), is a three tier approach to app security and compliance. Each tier builds upon the next ΓÇô offering a layered program to meet your customerΓÇÖs needs. You can learn more about the security and compliance posture of Teams apps by visiting the [compliance page](https://docs.microsoft.com/microsoft-365-app-certification/teams/teams-apps).
+Ensure the following when publishing updates:
-## Add a download button to your product site
+* Don't change your app ID.
+* Increment your app's version number.
+* In Partner Center, don't select **Add a new app** to do the update. Go to your app's page instead.
-If your app is in the Microsoft Teams global store, you can generate a link for your website that launches Teams and shows a consent and installation dialog for users to add the app.
-The format is: `https://teams.microsoft.com/l/app/<appId>` where appID is the GUID they declare in the submitted manifest.
-Example: `https://teams.microsoft.com/l/app/49e6f432-d79c-49e8-94f7-89b94f3672fd` is the link to install Trello.
+### App updates requiring user consent
-## Updating your existing Teams app
+When a user installs your app, they must give the app permission to access the services and information the app requires to function. In most cases, users only have to do this once and new versions of your app install automatically.
-* Do not use the *Add a new app* button to resubmit your app. Use the tile for your app on the Overview tab instead.
-* The appId in the updated manifest should be the same as in the current manifest, with an incremented version number.
-* Increment your version number in the manifest if you make any changes to your submission including app name or any metadata in the manifest.
-* Updated submissions are required to undergo a new review and validation process.
+If you make any of the following changes to your app, however, your existing users must accept another permission request to install the update:
-## App updates and the user consent flow
+* Add or remove a bot.
+* Change the bot ID.
+* Modify a bot's one-way notification configuration.
+* Modify a bot's support for uploading and downloading files.
+* Add or remove a messaging extension.
+* Add a personal tab.
+* Add a channel and group tab.
+* Add a connector.
+* Modify configurations related to your Azure Active Directory (Azure AD) app registration. For more information, see [`webApplicationInfo`](~/resources/schem#webapplicationinfo).
-When a user installs your application one of the first things they do is consent to give the app permission to access the services and information that the app needs to do its job. In most cases, after you complete an app update the new version will automatically appear for end users. However, there are some updates to the [Teams app manifest](../../../../resources/schem) that require user acceptance to complete and can re-trigger this consent behavior:
+## Fix issues with your published app
- >[!div class="checklist"]
->
-> * A bot is added or removed.
-> * An existing bot's unique `botId` value is changed.
-> * An existing bot's `isNotificationOnly` boolean value is changed.
-> * An existing bot's `supportsFiles` or `supportsCalling` boolean value is changed.
-> * A messaging extension `composeExtensions` is added or removed.
-> * A new connector is added.
-> * A new static or personal tab is added.
-> * A new configurable group or channel tab is added.
-> * The properties inside `webApplicationInfo` are changed. For changes to `webApplicationInfo`, consent is only required in the Teams scope.
+Microsoft runs daily automation tests on apps listed on the Teams store. If issues with your app are identified, we contact you with a detailed report on how to reproduce the issues and recommendations to resolve them. If you can't fix the problems within a stated timeline, your app listing may be removed from the store.
-### Images of user consent flow:
+## Promote your app on another site
-**Set up a connector** ΓÇö This screen will appear only for Teams users.
+When your app is listed in the Teams store, you can create a link that launches Teams and displays a dialog to install your app. You could include this link, for example, with a download button on your product's marketing page.
-![Consent flow setup a connector diagram](../../../../assets/images/connector-teams-consentflow.png)
+Create the link using the following URL appended with your app ID: `https://teams.microsoft.com/l/app/<your-app-id>`.
-**User consent flow** - This screen is common for both personal and group scope. Here, select the **Consent on behalf of your organization** checkbox and choose **Accept**.
+## Complete Microsoft 365 Certification
-![Permissions diagram](../../../../assets/images/user-consent-flow.png)
+[Microsoft 365 Certification](/microsoft-365-app-certification/docs/certification) offers assurances that data and privacy are adequately secured and protected when a third-party Office app or add-in is installed in your Microsoft 365 ecosystem. Certification confirms that your app is compatible with Microsoft technologies, compliant with cloud app security best practices, and supported by Microsoft.
+
+## See also
+
+* [Monetize your app through Microsoft Commercial Marketplace](/office/dev/store/monetize-addins-through-microsoft-commercial-marketplace)
platform App Manifest Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/prepare/app-manifest-checklist.md
- Title: App manifest checklist
-description: The checklist for your app manifest for publishing your Microsoft Teams app to AppSource
-
-localization_priority: Normal
-keywords: teams publish store office publishing checklist
-
-# App manifest checklist
-
->[!IMPORTANT]
->We're migrating management of Office solutions from Seller Dashboard to Partner Center. For details, see [Moving from Seller Dashboard to Partner Center](https://developer.microsoft.com/office/blogs/moving-management-of-solutions-from-seller-dashboard-to-partner-center/) and read the [FAQ](https://docs.microsoft.com/office/dev/store/partner-center-faq).
-
-Your app manifest needs to conform to the guidelines outlined below.
-
->[!Tip]
-> Use App Studio to help you build your app manifest. It will validate most of the requirements below for you, and display any error or warnings on the **Test and Distribute** tab.
-
-## Tips
-
-* Don't use "Teams", "Microsoft", or "app" in your app name.
-* The developerName in your manifest must be same as the Provider Name defined in Partner Center.
-* Make sure the app description, screenshots, text, and promotional images describe only the app and do not contain any additional advertising, promotions or copyrighted brand names.
-* If your product requires an account on your service or another service, list that in the description and ensure there are links to sign up, sign in and sign out.
-* If your product requires additional purchases to function properly, list that in the description.
-* Provide the requisite Terms and Privacy policy links in the manifest and the Partner Center or Dashboard. Verify that the links properly resolve to the correct documentation, ideally Teams specific. For bots, you must provide this same information in the Submission section of the Bot Framework registration page.
-* Ensure that metadata in the manifest exactly matches metadata in the Partner Center (and, for bots, in the Bot Framework registration). Note that your Partner Center entry may contain a more detailed and formatted description for use in the AppSource product page.
-* Ensure the app title used in your manifest is an **exact match** with the App title entered in Partner Center submission. *See* [Create effective listings in Microsoft AppSource and within Office ΓÇö Use a consistent add-in name ](https://docs.microsoft.com/office/dev/store/create-effective-office-store-listings#use-a-consistent-add-in-name).
-
-## Metadata requirement
-
-The following metadata is required for your app.
-
-|Data|Type|Size|Manifest|Partner Center|Description|
-|||||||
-|App package|.zip|||Γ£ö|The actual app package for uploading or AppSource submission.|
-|Color logo|.png|192&times;192 pixels|`icon.color`||The icon to display in the product page listing in the Teams gallery. This is your full-color product logo.|
-|Logo outline|.png|32&times;32 pixels|`icon.outline`||The icon to display in Teams, in the Teams chat channel and other locations. This is your logo rendered as a white outline with transparent background.|
-|App logo|.png, .jpg, .jpeg, .gif|300&times;300 pixels||Γ£ö|The icon to display in AppSource. This is the full-color product logo, and is a different file from the one used in the manifest for `icon.color`. it should be smaller than 512 KB.|
-|Support link|URL|||Γ£ö|A link to support material for end users who may not have installed your app. Publicly available link accessible without any login (HTTPS).|
-|Privacy link|URL||`developer.privacyUrl`|Γ£ö|A link to your privacy policy (HTTPS).|
-|Video link|URL|||Optional|A link to a video about your app.|
-|EULA|.doc, .pdf, etc.|||Optional|AppSource requires an end-user licensing agreement (EULA), which you can provide as an attachment. If you choose not to submit a EULA, one will be provided on your behalf.|
-|Terms of service|URL||`developer.termsOfServiceUrl`||A link to your terms of service (HTTPS).|
-|Test Notes|Fill inline or link to a public URL|||Detailed test notes on how to test your application step by step. Please include two login credentials for testing Admin and Non-admin scenarios.|
-
-## Localized content
-
-> [!NOTE]
-> AppSource plans to support localized content for the following metadata. Currently, your app listing will only show in English in AppSource, but will display properly localized in the Teams client. See [localizing your app](~/concepts/build-and-test/apps-localization.md) for more information.
-
-|Data|Type|Size|Manifest|Partner Center|Description|
-|||||||
-|App name|String|30|`name.short`|Γ£ö|The name for your application as it should appear in the storefront and in product.|
-|Long app name|String|30|`name.full`|Γ£ö|The name for your application as it should appear in the storefront and in product.|
-|Short description|String|80|`description.short`|Γ£ö|Short description of your app.|
-|Long description|String|4000|`description.full`|Γ£ö|A more detailed description of your app. In the manifest file, an accurate summary is adequate. In Partner Center, you can use a richer and formatted description for AppSource product page.|
-|Screen shots (1-5)|.png, .jpg, or .gif|1366w x 768h and smaller than 1024 KB||Γ£ö|At least one screen shot that shows your app experience. Uses on the app details page.|
-
-## Submission extras for bots
-
-Bots in Microsoft Teams must be created using Bot Framework. See [Create a bot](~/bots/how-to/create-a-bot-for-teams.md) for instructions. Use a 96x96 color icon for your bot's icon in Bot Framework.
platform Create Partner Center Dev Account https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/prepare/create-partner-center-dev-account.md
+
+ Title: Create your Partner Center developer account
+description: To publish your app to the Microsoft Teams store, you need a Partner Center developer account.
++++
+# Create a Partner Center developer account
+
+To publish your app to the Microsoft Teams store, you must [set up your Partner Center developer account](https://docs.microsoft.com/office/dev/store/open-a-developer-account). Depending on your scenario, you might be able to use an existing account.
+
+## FAQ
+
+Get answers to some common questions about managing your Partner Center account.
+
+<br>
+
+<details>
+
+<summary><b>How do I create a Partner Center account?</b></summary>
+
+You can create a Partner Center account one of the following ways:
+
+* If you're new to Partner Center and don't have a Microsoft Network Account, [create an account using the Partner Center enrollment page](/office/dev/store/open-a-developer-account#create-an-account-using-the-partner-center-enrollment-page).
+* If you're already enrolled in the Microsoft Partner Network, [create an account directly from Partner Center using existing Microsoft Partner Center enrollments](/office/dev/store/open-a-developer-account#create-an-account-using-an-existing-partner-center-enrollment).
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>What if I can't find my account in Partner Center?</b></summary>
+
+Open a [Partner Center support ticket](https://partner.microsoft.com/support/v2/?stage=1) and select the following:
+
+| Menu | Option |
+| - | - |
+|Category| Commercial Marketplace|
+| Topic | General Marketplace Help and How-to questions |
+| Subtopic| Office add-in |
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>Where can I get support for my Partner Center account issues?</b></summary>
+
+Visit the [publishers support page](https://aka.ms/marketplacepublishersupport) to search for your issue. If the guidance isn't helpful, create a [Partner Center support ticket](/azure/marketplace/partner-center-portal/support#how-to-open-a-support-ticket).
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>How do I manage my Office Store account in Partner Center?</b></summary>
+
+See [manage your account through Partner Center](/office/dev/store/manage-account-settings-and-profile) for information.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>My phone number doesn't have an area code, so how do I add it to my profile?</b></summary>
+
+The phone number has three parts: country code, area code, and telephone number. If your phone number doesn't include an area code, leave the second box empty and complete the third box.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>How do I manage my account settings and partner profile in Partner Center?</b></summary>
+
+See [manage account settings and profile info](/windows/uwp/publish/manage-account-settings-and-profile#additional-settings-and-info) for information.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>Why do I see a, "This account is not publish eligible," message when I try to submit my app?</b></summary>
+
+You received this error message because your [account verification status](/partner-center/verification-responses) is pending. Check your status in the Partner Center [dashboard](https://partner.microsoft.com/dashboard). Select the **Settings** gear icon and choose **Developer settings > Account > Account settings**.
+
+![Partner Center verification status](~/assets/images/partner-center-verification-status.png)
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>What is verified in the Partner Center account verification process?</b></summary>
+
+There are three verification areas, **Email Ownership**, **Employment**, and **Business**. For more information, see [what is verified and how to respond](/partner-center/verification-responses#what-is-verified-and-how-to-respond).
+
+If you're the primary contact, global admin, or account admin, you can monitor verification status and track progress on your profile page.
+
+Once verification process is complete, the status of your enrollment on the profile page changes from *pending* to *authorized*. The primary contact then receives an email from Microsoft within a few business days.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>My account verification status hasn't advanced beyond Email Ownership. How should I proceed?</b></summary>
+
+During the **Email Ownership** verification process, a verification email is sent to the primary contact. Check your primary contact inbox for an email from **maccount@microsoft.com** with the subject line **Action needed: Verify your email account with Microsoft** and complete the email verification process. The verification email is sent to the address listed on your Partner Center account settings.
+
+Remember the following about the email verification process:
+
+* The email verification link is only valid for seven days.
+* You can request to resend the email by visiting your partner profile page and selecting the **Resend verification email** link.
+* To ensure you receive the email, safe-list **microsoft.com** as a secure domain and check your junk email folders.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>How do I get further support for my account-related issues?</b></summary>
+
+See [support for the Commercial Marketplace program in Partner Center](/azure/marketplace/partner-center-portal/support) for information.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>I've checked my mail folders and haven't received the verification email. What must I do next?</b></summary>
+
+Try the following:
+
+* Check your junk or spam folder.
+* Clear the browser cache, go to your Partner Center account dashboard, and select **Resend verification email**.
+* Try accessing the **Resend verification email** link from a different browser.
+* Work with your IT department to ensure that the verification emails are not blocked by your email server.
+* Adjust your server's spam filter to allow or safe-list all emails from **maccount@microsoft.com**.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>How long does the employment verification process usually take?</b></summary>
+
+If all the submitted details are correct, the employment verification process takes about two hours to complete.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>How long does the business verification process usually take?</b></summary>
+
+If all the required documents are submitted, business verification takes one to two business days to complete.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>If I reach out to the support team, will my ticket be expedited?</b></summary>
+
+Support tickets get resolved in a week. Check for updates sent to the email you provided when creating the support ticket.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>I created a support ticket but haven't received an update in seven business days. Where can I get help?</b></summary>
+
+Send an email to <a href="mailto:teamsubm@microsoft.com">teamsubm@microsoft.com</a> with the following details:
+
+* **Subject Line**: Partner Center Account Issue for *<your app name>*
+* **Email body**:
+ * Support ticket number
+ * Your seller ID
+ * A screenshot of the issue (if possible)
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>Where else can I go for Partner Center help?</b></summary>
+
+The following resources can also assist:
+
+* [Microsoft 365 app submission FAQ](/office/dev/store/appsource-submission-faq)
+* [Commercial marketplace documentation](/azure/marketplace/)
+
+<br>
+
+</details>
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [Prepare your store submission](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md)
platform Detail Page Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/prepare/detail-page-checklist.md
Title: Build a great app details page
-description: Describes requirements for app details page
-
+ Title: Create a store listing for your app
+description: Describes how to create a store listing for your Microsoft Teams app.
+ localization_priority: Normal
-keywords: teams publish store office publishing policy AppSource content Metadata screenshot logo description app name icons short description
++
-# Build a great app details page
+# Create a store listing for your Microsoft Teams app
-The details page presents the first impression of your app to users. Each element of your details page can be used to convey your vision and drive downloads ΓÇö consider how you want to showcase your app in a limited space. Here are some tips and tricks to help you engage your users before they even install your app.
+The information that you submit to [Partner Center](https://partner.microsoft.com)&#8212;including your name, descriptions, icons, and images&#8212;becomes the Microsoft Teams store and Microsoft AppSource listing for your app.
-> [!NOTE]
-> Make sure your app information follows our [AppSource guidance for creating an effective store listing](/office/dev/store/create-effective-office-store-listings).
+A store listing may be someone's first impression of your app. Increase your installations with a listing that effectively conveys your app's benefits, functionality, and brand.
-## App name
+## Specify a short name
-> [!div class="checklist"]
->
-> * An app's name plays a critical role in how users discover it in the AppSource app store. Your app's short name is displayed on the details page.
->* The app name should reflect your app without any reference to Microsoft or Microsoft products.
->
+Your app's name (specifically, its [*short name*](~/resources/schem#name)) plays a crucial role in how users discover it in the store.
-> **Note**: If your app is an official partnership with Microsoft, then the name of the third-party app needs to be first, e.g., *Salesforce Connector for Microsoft Teams*.
+The following example highlights where an app's short name displays in a store listing.
-> [!div class="checklist"]
->
->* Use these resources for guidance:
-* [App name guide](#app-name)
-* [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general)
+### Best practices for names
-**Do's:**
+**Do:**
* Choose a simple, memorable name that hints at what your app does. * Be distinctive.
-* If needed, use Microsoft 365 references instead of Office 365.
+* Avoid typos and grammatical errors.
-**Don'ts:**
+**Don't:**
-* Don't omit spaces, have an incorrect case, or contain language errors in the app name.
-* Don't use generic terms or names similar to existing apps.
-* Don't use "Teams", "Microsoft", existing/upcoming Microsoft product names, or "app" in your app name.
-* Don't use parenthesis to include Microsoft products, e.g., *Your-App-Name (for Microsoft Teams)*.
+* Use profane or derogatory terms.
+* Use racially or culturally insensitive language.
+* Use generic terms or names similar to existing apps.
+* Include "Teams", "Microsoft", existing/upcoming Microsoft product names, or "app" in the name.
-![App name store view](../../../../assets/images/store-detail-page/AppName-02.png)
+> [!NOTE]
+> If your app is part of an official partnership with Microsoft, the name of your app must come first (for example, *Salesforce Connector for Microsoft Teams*).
-![App name App Studio view](../../../../assets/images/store-detail-page/AppName-01.png)
+## Write descriptions
-## Color icon
+You need a short and long description of your app.
-This is one of the first elements that users see. It should be attractive and eye-catching when scrolling through the app store. Be sure it makes a good first impression and also communicates your brand's image and purpose. AppSource has more tips on [creating a consistent visual identity](/office/dev/store/create-effective-office-store-listings#create-a-consistent-visual-identity).
+### Short description
-![App icon store view](~/assets/images/store-detail-page/AppIcon-02.png)
+A concise summary of your app that should be original, engaging, and directed at your target audience. Ideally, keep the short description to one sentence.
-![App icon App Studio view](~/assets/images/store-detail-page/AppIcon-01.png)
+The following example highlights where an app's short description displays in a store listing:
-**Don'ts:**
-* Your icon must not mimic any copyrighted products that you don't own.
-* Your icon must not look similar to any Microsoft product/brands.
+#### Best practices for short descriptions
-## Outline icon
+**Do:**
-This icon is used for pinned messaging extensions and when your app displays on the left of Teams. See [design guidance for the outline icon](../../../../concepts/build-and-test/apps-package.md#outline-icon).
+* Put the most important information first.
+* Include keywords that customers are likely to search for.
-![App icon outline store view](../../../../assets/images/store-detail-page/AppIconOutline-02.png)
-![App icon outline App Studio view](../../../../assets/images/store-detail-page/AppIconOutline-01.png)
+**Don't:**
-**Don'ts:**
+* Repeat your app name.
+* Rely on jargon or specialized terminology. (You can't assume users know what to look for.)
-* Your icon must not mimic any copyrighted products you don't own.
-* Your icon must not look similar to any Microsoft product/brands.
+### Long description
-## Short description
+The long description can provide an engaging narrative that highlights your app's main features, the problems it solves, and its target audience. While this description can be as long as 4000 characters, most users will only read between 300-500 words.
-This is a concise summary of your app. You want it to be original, engaging, and directed at your target audience. Ideally, try and describe your solution and its value to your users in one sentence.
+The following example highlights where an app's long description displays in a store listing:
-**Do's:**
-* Put the most important information first.
-* Include keywords that customers are likely to search for.
-* If you need to mention Microsoft Teams, the first mention of Microsoft Teams should be written out in full as *Microsoft Teams*. If Teams is mentioned again in the same description, the name can be shortened to *Teams*.
-* Any references to Microsoft or Microsoft Teams can be part of the description and should follow MicrosoftΓÇÖs brand standards and guidelines.
-* All descriptions must be grammatically correct with no language errors.
-* Avoid unnecessary use of capitalizations, e.g., stating "Users" instead of "users".
-
-**Don'ts:**
-
-* Don't repeat the title.
-* Don't abbreviate Microsoft to "MS" or "MSFT".
-* Don't use jargon or specialized terminology ΓÇö you can't assume that users know what to look for.
-* Avoid unnecessary reference to Microsoft product names unless absolutely necessary.
-* Don't indicate or imply that the app is an offering from Microsoft.
-* Don't use copyrighted brand names you don't own.
-* Don't use "for Teams" in a short name.
-
-![Short Description store view](~/assets/images/store-detail-page/ShortDescription-02.png)
-
-Here's a view in [App Studio](https://aka.ms/InstallTeamsAppStudio):
-
-![Short Description App Studio view](~/assets/images/store-detail-page/ShortDescription-01.png)
-
-## Long description
-
-> [!div class="checklist"]
->
->* This provides an engaging narrative highlighting your solution's main features, the problems it solves, and the target audience. Draw in your audience with the first sentence by communicating your app's unique features. Your description must be under 4000 characters; most users will only read between 300 and 500 words.
->* What is allowed?
-
-* `<your_app>` "works with Microsoft Teams"
-* `<for users>` "working with Microsoft Teams"
-* `<for tasks>` "within Microsoft Teams"
-* `<an app>` "for Microsoft Teams"
-* `<your_app>` "integrates with Microsoft Teams"
-* "...integrated with Microsoft Teams"
-* "...built on…"
-* "...runs on…"
-* "…enabled by…"
-* "…developed for…"
-* "…designed for…"
-
-> **Note**: The above terms also apply to the use of Microsoft 365. Office 365 is now called Microsoft 365. Please update your app descriptions to reflect this.
-
->[!IMPORTANT]
-> Make sure to precisely copy the descriptions you wrote in your AppSource entry to your app manifest ΓÇö the values must match. Microsoft Teams will only use the descriptions you provide in the app manifest.
-
-**Do's:**
-
-* Use [Markdown formatting](https://support.office.com/article/use-markdown-formatting-in-teams-4d10bd65-55e2-4b2d-a1f3-2bebdcd2c772) to illuminate your description.
-* List features to aid readers in scanning your description.
-* Use active voice and speak to users directly.
-* Use bullet points to list out your features.
-* Include a help or support link so your users know how to reach you if they have questions.
-* Make certain that the first mention of Microsoft Teams is written out in full as "*Microsoft Teams*". If Teams is mentioned again later in the same description, the name can be shortened to "*Teams*".
-* Any references to Microsoft or Microsoft Teams (only if necessary) may be part of the long description and should follow MicrosoftΓÇÖs brand standards and guidelines.
-* All descriptions must be grammatically correct with no language errors.
-* Avoid unnecessary use of capitalizations for terms in your description (example: stating "Users" instead of "users".
+#### Usage examples
+
+The following phrases are examples of what's allowed when writing long descriptions:
+
+* "<*Your app name*> works with Microsoft Teams"
+* "... a <*type of app*> for Microsoft Teams"
+* "<*Your app name*> integrates with Microsoft Teams"
+* "... integrated with Microsoft Teams"
+* "... for users working with Microsoft Teams"
+* "... for <*specific task*> within Microsoft Teams"
+* "... built on ..."
+* "... runs on ..."
+* "... enabled by ..."
+* "... developed for ..."
+* "... designed for ..."
+
+#### Best practices for long descriptions
+
+**Do:**
+
+* Use [Markdown](https://support.office.com/article/use-markdown-formatting-in-teams-4d10bd65-55e2-4b2d-a1f3-2bebdcd2c772) to format your description.
+* List features with bullet points so it's easier to scan the description.
+* Use active voice and speak to users directly (for example, *You can ...*).
+* Include a help or support link.
+* Identify the following if applicable: limitations, set up information, account dependencies, and release updates.
+
+**Don't:**
+
+* Exceed 500 words.
+* Include too many keywords. (It's distracting and won't help people find your app.)
+* Use the following language unless the app has gone through an official certification process:
+ * "... certified for ..."
+ * " ... powered by ..."
+
+### Best practices for all descriptions
+
+**Do:**
+
+* Reference Microsoft product names only when necessary. For more information on the guidelines, see [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
+* If you need to reference **Teams**, write the first reference as **Microsoft Teams**. Subsequent references can be shortened to **Teams**.
+* Refer to **Microsoft 365** instead of **Office 365**.
+* Avoid typos and grammatical errors.
+* Avoid unnecessary capitalizations (for example, **Users** instead of **users**).
* Avoid acronyms.
-* Make sure to call out limitations, account dependency, configuration set up, future updates in releases, or any usage constraints
->[!NOTE]
-> Microsoft Teams supports the following Markdown syntax:
-> **Links**. `[title](url/address/here)`.
->**Images**.`![alt text](url/address/here)`.
-> **Bold**. `**bold text**` `__bold text__`.
-> **Italics**. `*italicized text*` `_italicized text`.
->**[Ordered Lists](https://www.markdownguide.org/basic-syntax/#ordered-lists)**<br>
->`1. first`
-<br>` 1. second `
-<br>`1.third`<br>
->**[Unordered List](https://www.markdownguide.org/basic-syntax/#unordered-lists)**<br>
-` - short` <br>`- bulleted` <br>`- list`<br>
->**Newline**. Use a `\n` character to designate a newline.
- >**Escape.** Use an inline backslash to escape special characters. `\*asterisk`.
+**Don't:**
+
+* Abbreviate Microsoft as **MS** or **MSFT**.
+* Indicate the app is an offering from Microsoft, including using Microsoft slogans or taglines.
+* Use copyrighted brand names you don't own.
+
+## Adhere to icon design guidelines
-**Example in Markdown format**
+Icons are one of the main elements users see when browsing the store. Your icons should communicate your app's brand purpose while also adhering to Teams requirements.
-|Markdown format for |Markdown format |Displayed text|
-|:|:|:-|
-|Link |` [App name guide](#app-name)`| [App name guide](#app-name) |
-|Image |` ![App long description store view](~/assets/images/store-detail-page/LongDescription-02.png)`| ![App long description store view](~/assets/images/store-detail-page/LongDescription-02.png)|
-|Bold |` **HR Tools**` | **HR Tools** |
-|Italics |`*HR Tools*` |*HR Tools*|
-|Newline |` HR Tools provide wide range of solutions that help your organization to manage day-to-day HR activities effectively. <br> No more flipping through paper records or juggling among 5 different apps.` |HR Tools provide wide range of solutions that help your organization to manage day-to-day HR activities effectively. <br> No more flipping through paper records or juggling among 5 different apps.|
-|Escape|`\*Payroll tools that help you manage your payroll and tax documents.` |\*Payroll tools that help you manage your payroll and tax documents.
+For more information, see [specific guidance on designing Teams app icons](~/concepts/build-and-test/apps-package.md#app-icons).
-**Don'ts:**
+## Capture screenshots
-* Don't put too many keywords in your description ΓÇö it's distracting and won't help your app's discoverability.
-* Don't use "*Teams*ΓÇ¥ or ΓÇ£*Microsoft Teams*ΓÇ¥ in a short name.
-* Avoid unnecessary reference to Microsoft product names unless absolutely necessary.
-* Don't indicate that the app is an offering from Microsoft.
-* Don't use copyrighted brand names you don't own.
-* Don't use the following language unless the app has gone through an official certification process:
+Screenshots provide a prominent visual preview of your app to complement your app name, icon, and descriptions.
- * "…certified for…"
- * "…powered by…"
+### Requirements for screenshots
-* Don't abbreviate ΓÇ£MicrosoftΓÇ¥ to ΓÇ£MSΓÇ¥ or ΓÇ£MSFTΓÇ¥ ΓÇö write Microsoft out in full.
-* No part of description or metadata can indicate the app as an official Microsoft offering.
-* Partners may not use or imitate any Microsoft tagline, or use the name of any Microsoft product or service in the slogan or tagline.
-* Logo must not wrongly depict the app as an official Microsoft product/ feature or mimic any of the existing or upcoming Microsoft products.
+* Up to five screenshots per listing.
+* Supported file types include PNG, JPEG, and GIF.
+* Dimensions should be 1366x768 pixels.
+* Maximum size of 1,024 KB.
-![App long description store view](~/assets/images/store-detail-page/LongDescription-02.png)
+### Best practices for screenshots
-Here's a view in [App Studio](https://aka.ms/InstallTeamsAppStudio):
+**Do:**
-![App long description App Studio view](~/assets/images/store-detail-page/LongDescription-01.png)
+* Focus on your app's capabilities (for example, how people can communicate with your bot).
+* Include content that accurately represents your app.
+* Use text judiciously.
+* Frame screenshots with a color that reflects your brand and include marketing content, similar to the following [Freshdesk](https://appsource.microsoft.com/product/office/WA104381505?src=office&tab=Overview) example (dimension requirements apply to the whole image and not just the screenshot):
+ :::image type="content" source="../../../../assets/images/freshdesk.png" alt-text="Screenshot example of third-party app Freshdesk":::
-## Screenshots
+**Don't:**
-The screenshots uploaded on the [Partner Center](https://partner.microsoft.com) are displayed in both [AppSource](https://appsource.microsoft.com/marketplace/apps?product=office%3Bteams&page=1) and your app listing in the Teams client. They provide a visual preview of your app along with your app description.
-You can provide one to five screenshots formatted as .png, .jpg, or .gif files. Screenshots should be 1366 x 768 pixels with a maximum size of 1024 KB.
+* Show specific devices, such as phones or laptops.
+* Display chrome or UI that isn't in your app.
+* Capture any Teams or browser UI in your screenshots.
+* Include mockups that inaccurately reflect your app's actual UI, such as showing your app in a browser instead of a Teams tab.
-**Do's:**
+For more best practices, see [craft effective images for Microsoft app stores](/office/dev/store/craft-effective-appsource-store-images).
-* Focus on highlighting all your app's capabilities.
-* Content should accurately represent your app.
-* Text should be well-populated without being excessive.
-* You can surround your screenshots with a background color and add marketing content similar to the [Freshdesk](https://appsource.microsoft.com/product/office/WA104381505?src=office&tab=Overview) example; however, the dimensions won't be of the screenshot alone but will include the overall image.
+## Create a video
-<img width="800px" alt="Freshdesk screenshot" src="../../../../assets/images/freshdesk.png" />
+A video can be the most effective way to communicate why people should use your app. You should address the following questions in a video:
-**Don'ts:**
+* Who is your app for?
+* What problems can your app solve?
+* How does your app work?
+* What other benefits do you get from using your app?
-* Don't show specific devices, like phones or laptops.
-* Don't show any chrome/UI from outside of your app.
-* Don't capture any Teams or browser UI in your screenshots.
-* Don't include mock-ups that inaccurately reflect your apps actual UI such as showing your website instead of your Teams tab.
+If you include a video, it appears before your screenshots in the listing.
-For more best practices, *see*: [Crafting effective AppSource store images](/office/dev/store/craft-effective-appsource-store-images).
+### Best practices for videos
-## Videos
+* Keep your video between 30-90 seconds.
+* Aim for quality. In a listing, users will see your video before screenshots.
-If an image is worth a thousand words, then a video is worth a thousand images. Videos are the most effective way to communicate the benefits of using your app. It will be placed in front of all your screenshots on the app details page. Make sure you mention the following:
+## Localize your store listing
-* How your app works.
-* What can be achieved with your app.
-* The benefits of using your app.
-* Who your is for.
+Partner Center supports [localized store listings](https://docs.microsoft.com/office/dev/store/prepare-localized-solutions). For more information, see [how to localize your Teams app listing](../../../../concepts/build-and-test/apps-localization.md).
-Remember to keep your presentation short and sweet ΓÇö somewhere between 30-90 seconds.
+## See also
+
+* [Create effective Microsoft 365 Stores listings](/office/dev/store/create-effective-office-store-listings)
+* Teams app design guidelines for [copy and content](~/concepts/design/design-teams-app-fundamentals.md#copy-and-content) and [brand expression](~/concepts/design/design-teams-app-fundamentals.md#brand-expression)
+* [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general)
-## Learn more
+## Next step
-[Checklist for app submission](~/concepts/deploy-and-publish/appsource/publish.md).
-[Create an app package for your Microsoft Teams app](~/concepts/build-and-test/apps-package.md).
-[Use Partner Center to submit your solution to AppSource](/office/dev/store/use-partner-center-to-submit-to-appsource).
+> [!div class="nextstepaction"]
+> [Prepare your store submission](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md)
platform Frequently Failed Cases https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md
keywords: app submission tips frequently failed cases validation guidelines
# Tips for a successful Microsoft Teams app submission
+>[!NOTE]
+>This page will be deprecated by May 2021. For more information on successfully publishing your app, see the [Teams store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md).
+ This article addresses common reasons submitted apps fail validation. While it's not intended to be an exhaustive list of all potential issues with your app, following this guide will increase the likelihood that your app submission will pass the first time. See [Commercial marketplace certification policies](/legal/marketplace/certification-policies) for an extensive list of validation policies. >[!NOTE]
platform Submission Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
Title: Store submission checklist
-description: The checklist to use before publishing your Microsoft Teams app to AppSource
-
+ Title: Prepare your store submission
+description: Describes the final steps before submitting your Microsoft Teams app to be listed on the store.
+ localization_priority: Normal
-keywords: teams publish store office publishing checklist submission Teams apps appsource validation
++
-# Prepare for AppSource submission
+# Prepare your Microsoft Teams store submission
-To be listed on AppSource, your app must go through an approval process. This is a free service provided by the Microsoft Teams group that verifies that your app works as described, contains all appropriate metadata, and provides content that would be valuable to an end user. To help you achieve rapid approval, ensure your app meets the following requirements and guidelines:
+You've designed, built, and tested your Microsoft Teams app. Now you're ready to list it so people can discover and start using your app.
-* **Distribution method:** Make sure your app is meant for publication on a store platform. There are [other options](../../overview.md) to distribute your app without publishing to AppSource.
-* **Validation policies:** Your app must pass all current [AppSource validation policies](https://docs.microsoft.com/legal/marketplace/certification-policies#1140-teams) before submission.
- > [!NOTE]
- > The Appsource validation policies are subject to change.
-* **Mobile readiness:** Your app must be mobile responsive. If your app contains tabs, they must follow the [mobile design guidelines](~/tabs/design/tabs-mobile.md) and your app must comply with [no upsell requirements](~/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#-mobile-responsiveness-no-direct-upsell-or-payment) on mobile OS (iOS and Android).
-* **Self test your app:** Test your app using the [Manifest validation tool](#teams-app-validation-tool).
-* **App detail page:** Your app must align with the [App detail page checklist](detail-page-checklist.md).
-* **Tips and frequently failed cases:** Pay extra attention to the listed [Tips and frequently failed cases](frequently-failed-cases.md) to improve your app submission and approval time.
-* **App manifest:** Check your app manifest against the [App manifest checklist](app-manifest-checklist.md).
-* **Testing and debugging:** Make certain that you have fully [tested and debugged your app](../../../build-and-test/debug.md).
-* **Testing notes:** Include your [test notes for validation](#test-notes-for-validation)
-* **Privacy policies:** Ensure your [privacy policy, terms of use and support URLs](#privacy-policy-terms-of-use-and-support-urls) follow our guidelines.
+Before you submit your app to [Partner Center](/office/dev/store/use-partner-center-to-submit-to-appsource), make sure you've done the following.
-Once you have completed all of the above requirements, submit your package to AppSource through [Partner Center](/office/dev/store/use-partner-center-to-submit-to-appsource).
+## Validate your app package
-## Teams App Validation Tool
+While your app may be working in a test environment, you should check your app package to avoid running into issues during the submission process.
-The app validation tool consists of an [app validator](#teams-app-validator) and a [preliminary checklist](#preliminary-checklist). The tool replicates the same test cases used by [AppSource](/office/dev/store/submit-to-appsource-via-partner-center) to evaluate your app submission. Therefore, it's crucial to pass all the test cases prior to submitting your solution to AppSource for approval.The tool can be found in several areas within the Teams platform:
+The Microsoft Teams app validation tool helps you identify and fix issues before submitting to Partner Center. The tool automatically checks your app's configurations against the same test cases used during store validation.
-> [!div class="checklist"]
->
-> * [**App Validator homepage**](https://dev.teams.microsoft.com/appvalidation.html)
-> * [**Teams Visual Studio Code toolkit**](/toolkit/visual-studio-code-overview.md)
-> * [**App Studio**](../../../build-and-test/app-studio-overview.md)
+1. Go to the [Microsoft Teams app validation tool](https://dev.teams.microsoft.com/appvalidation.html). (Note: The tool is also available in [App Studio](../../../build-and-test/app-studio-overview.md).)
+1. Upload your app package to run the automated tests.
+1. Go to the **Preliminary checklist** and review the test cases that are difficult to automate.
+1. [Fix issues with your configurations](~/resources/schem) or app in general if the automated tests give you errors or you haven't met all the criteria in the checklist.
-### Teams app validator
+## Compile testing instructions
-The **Validate** page allows you to check your app package before submission to AppSource. Simply upload your app package and the validation tool will check your app against all manifest-related test cases. For each failed test, the description provides a documentation link to help you fix the error.
+Provide instructions and resources to help the reviewers test your app, including test accounts, credentials, and license keys. You can add instructions in Partner Center or upload them to a publicly available location on SharePoint.
-![Validation tool](../../../../assets/images/validation-tool/validator.png)
+### Feature list
-### Preliminary checklist
+Provide details about your app's capabilities in Teams and steps for testing each one.
-For test scenarios that are difficult to automate, the preliminary checklist surfaces seven of the most commonly failed test cases.
+### Accounts
-![Preliminary checklist](../../../../assets/images/validation-tool/preliminary-checklist.png)
+You must provide test accounts if your app requires a license or backend safelisting. All accounts you provide must include pre-populated data to facilitate testing.
-## Privacy policy, terms of use and support URLs
+Depending on your app's features, you may need to provide all of the following:
-### Privacy policy
+* Admin account (required)
+* Non-admin account (required)
+* An account that isn't pre-configured in order to properly test the first-run sign-in experience (required)
+* An account with access to premium or upgraded features (if applicable)
+* Two accounts in the same tenant to test the collaboration experience for apps that work in shared contexts (if applicable)
-Privacy policy guidelines:
+### Tenant configurations
-> [!div class="checklist"]
->
-> * The privacy policy can be specific to your app and/or an overall policy for all of your services.
-> * If you use a generic privacy policy, it must reference "services", "applications", and "platforms" to include your Teams app as well as your website.
-> * It must include how you handle user data storage, user data retention, deletion, and security controls.
-> * It must include your contact information.
-> * It should not contain broken links, beta URLs, or staging URLs.
+If you must configure a Teams tenant to use your app, include those instructions and admin and non-admin accounts for validation.
-### Terms of use
+### Video (optional)
-Your terms of use statement should be specific and applicable to your app and/or add-in offering.
+Provide a recording of your app so that Microsoft can fully understand its functionality.
-### Support URLs
+## Create your store listing details
-Your support URLs should not require authentication or login credential to contact you for any issues with your app.
+The information that you submit to [Partner Center](https://partner.microsoft.com)&#8212;including your name, descriptions, icons, and images&#8212;becomes the Teams store and Microsoft AppSource listing for your app.
-## Test notes for validation
+A store listing may be someone's first impression of your app. Increase installations with a listing that effectively conveys your app's benefits, functionality, and brand.
-Please include the following:
+### Specify a short name
-* You must provide at least two login credentials, one admin and one non-admin.
+Your app's name (specifically, its [*short name*](~/resources/schem#name)) plays a crucial role in how users discover it in the store.
-* For verification purposes, the accounts you provide should have sufficient pre-populated data.
-* For enterprise apps, apps where a subscription is required, or apps where there is an Office 365 tenant/domain dependency, you must provide a third account in the same domain that is not pre-configured for your app so that we can validate the first-run user experience.
+ :::column span="3":::
+ :::image type="content" source="../../../../assets/images/store-detail-page/AppName-02.png" alt-text="Example screenshot highlights where an app's short name displays in a store listing.":::
+ :::column-end:::
+ :::column span="1":::
+ :::column-end:::
-* If your app has premium/upgraded features, an account with the necessary access must be provided to test that experience.
-* You may choose to upload your test notes to SharePoint. If so, please provide a public link to the file.
+Make sure your short name adheres to the [store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#11-app-name).
-* **Test Accounts**. A test account is required if your app only allows licensed accounts or safelisting from the backend. Also, if there is a team/group chat scope allowed in your app, two test accounts in the same tenant are required to validate the team collaboration scenario.
+### Write descriptions
-* **Integration steps**. If pre-configuration by a tenant admin is required to use the app, include the steps and/or provide configured admin and non-admin accounts for validation. Note: you can sign up for an [Office 365 Developer Program](https://developer.microsoft.com/microsoft-365/dev-program) subscription. It's *free* for 90 days and will continually renew as long as you're using it for development activity.
+You must have a short and long description of your app.
-* **Notes regarding the app features in Teams**: Detail all of the capabilities the app offers within Teams and steps for testing each feature.
+#### Short description
-* **Video showing the app functionality (Optional)**: You can provide a video recording of the product for us to fully understand the functionality of the app.
+A concise summary of your app that should be original, engaging, and directed at your target audience. Keep the short description to one sentence.
++
+ :::column span="3":::
+ :::image type="content" source="~/assets/images/store-detail-page/ShortDescription-02.png" alt-text="Example screenshot highlights where an app's short description displays in a store listing.":::
+ :::column-end:::
+ :::column span="1":::
+ :::column-end:::
++
+Make sure your short description adheres to the [store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#431-short-description).
+
+#### Long description
+
+The long description can provide a narrative that highlights your app's main features, the problems it solves, and its target audience. While this description can be as long as 4,000 characters, most users will only read between 300-500 words.
++
+ :::column span="3":::
+ :::image type="content" source="~/assets/images/store-detail-page/LongDescription-02.png" alt-text="Example screenshot highlights where an app's long description displays in a store listing.":::
+ :::column-end:::
+ :::column span="1":::
+ :::column-end:::
++
+Make sure your long description adheres to the [store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#432-long-description).
+
+### Adhere to icon design guidelines
+
+Icons are one of the main elements users see when browsing the store. Your icons should communicate your app's brand and purpose while also adhering to Teams requirements.
+
+For more information, see [guidance on creating Teams app icons](~/concepts/build-and-test/apps-package.md#app-icons).
+
+### Capture screenshots
+
+Screenshots provide a prominent visual preview of your app to complement your app name, icon, and descriptions.
++
+ :::column span="3":::
+ :::image type="content" source="~/assets/images/store-detail-page/Screenshot-01.png" alt-text="Example screenshot highlights where app screenshots display in a store listing.":::
+ :::column-end:::
+ :::column span="1":::
+ :::column-end:::
++
+Remember the following about screenshots:
+
+* You can have up to five screenshots per listing.
+* Supported file types include PNG, JPEG, and GIF.
+* Dimensions should be 1366x768 pixels.
+* Maximum size of 1,024 KB.
+
+For best practices, see the following resources:
+
+* [Teams store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#44-screenshots)
+* [Craft effective images for Microsoft app stores](/office/dev/store/craft-effective-appsource-store-images)
+
+### Create a video
+
+A video in your listing can be the most effective way to communicate why people should use your app. You should address the following questions in a video:
+
+* Who is your app for?
+* What problems can your app solve?
+* How does your app work?
+* What other benefits do you get from using your app?
+
+#### Best practices for videos
+
+* Keep your video between 30-90 seconds.
+* Aim for quality. In a listing, users will see your video before screenshots.
+
+### Select a category for your app
+
+During submission, you're asked to categorize your app. The following table maps Teams store categories to the categories listed in [Partner Center](https://aka.ms/PartnerCenterHomePage).
+
+| Teams categories | Partner Center categories |
+|:|:|
+| Analytics and BI | Analytics, Data Visualization and BI |
+| Developer and IT | Developer Tools, IT Admin |
+| Education | Education |
+| Human resources | Human Resources and Recruiting |
+| Productivity | Content Management, Files and documents, Productivity, Training and Tutorials, and Utilities |
+| Project management | Communication, Project Management, Workflow, and Business Management |
+| Sales and support | Customer and Contact Management, Customer Support, Financial Management, Sales and Marketing |
+| Social and fun | Image and Video Galleries, Lifestyle, News and Weather, Social, Travel, and Navigation |
+
+### Localize your store listing
+
+Partner Center supports [localized store listings](https://docs.microsoft.com/office/dev/store/prepare-localized-solutions). For more information, see [how to localize your Teams app listing](../../../../concepts/build-and-test/apps-localization.md).
+
+## Complete Publisher Verification
+
+[Publisher Verification](/azure/active-directory/develop/publisher-verification-overview) is required for Teams apps listed in the store.For more information, see [frequently asked questions](/azure/active-directory/develop/publisher-verification-overview#frequently-asked-questions), [how to mark your app as publisher verified](/azure/active-directory/develop/mark-app-as-publisher-verified), and [troubleshoot publisher verification](/azure/active-directory/develop/troubleshoot-publisher-verification).
+
+## Complete Publisher Attestation
+
+[Publisher Attestation](/microsoft-365-app-certification/docs/attestation) is also required for Teams apps listed in the store. The process includes completing a self-assessment of your app's security, data handling, and compliance practices that can help potential customers make informed decisions about using your app.
+
+> [!NOTE]
+> If you're submitting a new app, you can't officially complete Publisher Attestation until your app is listed on the Teams store. If you're updating a listed app, complete Publisher Attestation before you submit the latest version of the app for validation.
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [Submit your app](https://docs.microsoft.com/office/dev/store/add-in-submission-guide)
platform Teams Store Validation Guidelines https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
+
+ Title: Microsoft Teams store validation guidelines
+description: Describes the guidelines every app submitted to the Teams store (AppSource) must follow.
++++
+# Microsoft Teams store validation guidelines
+
+Following these guidelines increases the likelihood your app will pass the Microsoft Teams store submission process. These Teams-specific guidelines complement the Microsoft [commercial marketplace certification policies](https://docs.microsoft.com/legal/marketplace/certification-policies) and are updated frequently to reflect new capabilities, user feedback, and business rule changes.
+
+> [!NOTE]
+> Some guidelines may not be applicable to your app. For example, if your app doesn't include a bot, you can ignore bot-related guidelines.
+
+## 1.0 Value proposition
+
+### 1.1 App name
+
+An app's name plays a critical role in how users discover it in the store. Remember the following about app names:
+
+* The name must include terms relevant to your users.
+* Names of core Teams features&#8212;such as **Chat**, **Contacts**, **Calendar**, **Calls**, **Files**, **Activity**, **Teams**, **Apps**, and **Help**&#8212;should not be included in your app name.
+* Common nouns must be prefixed or suffixed with the developer's name (for example, **Contoso Tasks** rather than **Tasks**).
+* Must not use **Teams** or other Microsoft product names that could falsely indicate co-branding or co-selling. (For more information about referencing Microsoft software, products, and services, see the [Microsoft Trademark and Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general)).
+* If your app is part of an official partnership with Microsoft, the name of your app must come first (for example, **Contoso Connector for Microsoft Teams**).
+* Must not copy the name of an app listed in the store or other offer in the commercial marketplace.
+* Must not contain profane or derogatory terms. The name also must not include racially or culturally insensitive language.
+
+See also: [4.0 App package and store listing](#40-app-package-and-store-listing)
+
+### 1.2 Suitable for workplace consumption
+
+App content must be suitable for general workplace consumption and abide by all restrictions listed in the commercial marketplace certification policies. Content related to religion, politics, gambling, and prolonged entertainment is prohibited. For more information, see the [commercial marketplace certification policies](https://docs.microsoft.com/legal/marketplace/certification-policies#10010-inappropriate-content).
+
+Your app must facilitate group collaboration, improve an individual's productivity, or both. Apps intended for team bonding and socializing must be collaborative and designed for multiple participants. These types of apps also should not require a substantial time investment or perceptively impact productivity.
+
+### 1.3 Similar platforms and services
+
+Apps must focus on the Teams experience and not include the names, icons, or imagery of other similar chat-based collaboration platforms or services unless your app provides specific interoperability.
+
+### 1.4 Feature names
+
+App feature names in buttons and other UI text must not conflict with terminology reserved for Teams and other Microsoft products (for example, **Start meeting**, **Make call**, or **Start chat**). Include your app name if you can't completely avoid this, such as **Start Contoso meeting** instead of **Start meeting**.
+
+## 2.0 Security
+
+### 2.1 Microsoft 365 App Compliance Program
+
+The [Microsoft 365 App Compliance Program](https://docs.microsoft.com/microsoft-365-app-certification/overview) is intended to help organizations assess and manage risk by evaluating security and compliance information about your app. If you're publishing an app to the Teams store, you must complete the following tiers of the program:
+
+* [Publisher Verification](/azure/active-directory/develop/publisher-verification-overview): Helps admins and end users understand the authenticity of app developers integrating with the Microsoft identity platform. When completed, a blue "verified" badge displays on the Azure Active Directory (Azure AD) consent dialog and other screens. For more information, see [frequently asked questions](/azure/active-directory/develop/publisher-verification-overview#frequently-asked-questions), [how to mark your app as publisher verified](/azure/active-directory/develop/mark-app-as-publisher-verified), and [troubleshoot publisher verification](/azure/active-directory/develop/troubleshoot-publisher-verification).
+* [Publisher Attestation](/microsoft-365-app-certification/docs/attestation): A process in which you share general, data handling, and security and compliance information to help potential customers make informed decisions about using your app.
+
+> [!NOTE]
+> If you're submitting an app that hasn't been listed previously, you can't officially complete Publisher Attestation until your app is in the Teams store. If you're updating a listed app, complete Publisher Attestation before you submit the latest version of the app.
+
+### 2.2 Bots
+
+For apps that use the Microsoft Azure Bot Service (such as bots and messaging extensions), you must follow all requirements defined in the Microsoft [Online Services Terms](https://www.microsoftvolumelicensing.com/DocumentSearch.aspx?Mode=3&DocumentTypeId=46).
+
+Bots must always ask permission to upload a file and display a confirmation message after the file uploads.
+
+### 2.3 External domains
+
+In most cases, you must not include domains outside of your organization's control (including wildcards) and tunneling services in your app's domain configurations. The following exceptions include:
+
+* If your app uses the Azure Bot Service's OAuthCard, you must include `token.botframework.com` as a valid domain or the **Sign in** button won't work.
+* If your app relies on SharePoint, you can include the associated root SharePoint site as a valid domain using the `{teamSiteDomain}` context property.
+
+### 2.4 Authentication
+
+For information on how to implement app authentication, see [authentication in Teams](~/concepts/authentication/authentication.md).
+
+#### 2.4.1 Authenticating with external services
+
+Remember the following if your app authenticates users with an external service.
+
+* **Sign in, sign out, and sign up experiences**:
+ * Apps that depend on external accounts or services must provide clear and simple sign in, sign out, and sign up experiences.
+ * When a user signs out, they must sign out only from the app and remain signed in to Teams.
+* **Content sharing experiences**: Apps that require authentication with an external service to share content in Teams channels must clearly state in help documentation (or similar resources) how to disconnect or unshare content if that feature is supported on the external service. This does not mean the ability to unshare content must be present in your Teams app.
+
+#### 2.4.2 Government Community Cloud listings
+
+To distribute your app to Government Community Cloud (GCC) users while avoiding duplicate listings in the Teams store, the authentication process must identify and route users to a GCC-specific or expected URL.
+
+### 2.5 Sensitive content
+
+Your app must not post sensitive data, such as credit card or financial payment instrument data. The app also must not display health, contact tracing, or other personally identifiable information (PII) to an audience not intended to view that content.
+
+Warn users before your app downloads any files or executables (.exe) into the user's machine or environment.
+
+### 2.6 Financial information
+
+Apps must not ask users to make payments within the Teams interface. Financial instrument details must not be transmitted to users through a bot interface.
+
+You may link to secure, external payment services only if you made the appropriate disclosure in your terms of use, privacy policy, or any profile page or website before the user agreed to use the app.
+
+Apps running on the iOS or Android version of Teams must adhere to the following guidelines:
+
+* Apps must not include in-app purchases, trial offers, or UI that aims to upsell to paid versions or links to online stores where users can purchase or acquire other content, apps, or add-ins.
+* If your app requires an account, users must be able to sign up for an account at no charge. The use of the term **free** or **free account** is prohibited.
+* You may determine whether an account is active indefinitely or for a limited time, but if the account expires, no UI, text, or links indicating the need to pay may be shown.
+* Your app's privacy policy and terms of use pages must be free of any commerce-related UI or links.
+
+## 3.0 General functionality and performance
+
+### 3.1 Launching external functionality
+
+Apps must not take users out of Teams for core user scenarios. App content and interactions can occur within Teams capabilities, such as bots, cards, and task modules.
+
+You should link users somewhere in Teams and not to an external site or app. For scenarios that require external functionality, your app must have explicit user permission to launch that functionality.
+
+### 3.2 Compatibility
+
+Apps must be fully functional on the following operating systems and browsers:
+
+* Microsoft Windows 7 and later
+* macOS 10.10 and later
+* Microsoft Edge 12 and later
+* Mozilla Firefox 47.0 and later
+* Google Chrome 51.0 and later
+* iOS 9.0 and later
+* Android 4.4 and later
+
+### 3.3 Response time
+
+Teams apps must respond within a reasonable timeframe, which varies depending on the capability.
+
+* Tabs must respond within three seconds or display a loading message or warning.
+* Bots must respond to user commands within two seconds or display a typing indicator.
+* Messaging extensions must respond to user commands within five seconds.
+* Notifications must display within five seconds of the user action.
+
+## 4.0 App package and store listing
+
+App packages must be correctly formatted and include all required information and components.
+
+### 4.1 App manifest
+
+The Teams app manifest defines your app's configurations.
+
+* Your manifest must conform to the latest manifest schema. For information, see the [manifest reference](~/resources/schem).
+* If your app includes a bot or messaging extension, your manifest must be consistent with Bot Framework metadata, including bot name, logo, privacy policy link, and terms of service link.
+* If your app uses Azure Active Directory (Azure AD) for authentication, include the Azure AD Application (client) ID in the manifest. For more information, see the [manifest reference](~/resources/schem#webapplicationinfo).
+
+### 4.2 App icons
+
+Icons are one of the main elements people see when browsing the Teams store. Your icons should communicate your app's brand and purpose while also adhering to the following requirements:
+
+* Your app package must include two PNG versions of your app icon: A color icon and an outline icon.
+* The color version of your icon displays in most Teams scenarios and must be 192x192 pixels. Your icon symbol (96x96 pixels) can be any color or colors, but it must sit on a solid or fully transparent square background.
+* The outline version of your icon displays when your app is in use and ΓÇ£hoistedΓÇ¥ on the app bar on the left side of Teams and when a user pins your app's messaging extension. It must be 32x32 pixels and can be white with a transparent background or transparent with a white background (no other colors are permitted). The icon should not have any extra padding around the symbol.
+* Correctly sized and formatted icons must be included in your app package. The icons also must match what's submitted with the store listing metadata.
+
+For more information, best practices, and examples, see the Teams app [icon guidelines](~/concepts/build-and-test/apps-package.md#app-icons).
+
+### 4.3 App descriptions
+
+You must have a short and long description of your app. The descriptions in your app configurations and Partner Center must be the same.
+
+Descriptions should not directly or through insinuation disparage another brand (Microsoft owned or otherwise). Make sure your description does not include claims that can't be substantiated (for example, "Guaranteed 200 percent increase in efficiency").
+
+#### 4.3.1 Short description
+
+A short description is a concise summary of your app that highlights its value proposition and is directed at your target audience.
+
+**Do:**
+
+* Keep the short description to one sentence.
+* Put the most important information first.
+* Include keywords that customers are likely to search for.
+
+**Don't:**
+
+* Repeat your app name.
+* Use the word **app** in the short description.
+
+#### 4.3.2 Long description
+
+The long description can provide an engaging narrative that highlights your app's value proposition, primary audience, and target industry. While this description can be as long as 4,000 characters, most users will only read between 300-500 words.
+
+**Do:**
+
+* Use [Markdown](https://support.office.com/article/use-markdown-formatting-in-teams-4d10bd65-55e2-4b2d-a1f3-2bebdcd2c772) to format your description.
+* Use active voice and speak to users directly (for example, *You can ...*).
+* List features with bullet points so it's easier to scan the description.
+* Clearly describe limitations, conditions, or exceptions to the functionality, features, and deliverables described in the listing and related materials before the user installs your app. The Teams capabilities your app supports must relate to the core functions your listing describes.
+* Include a help or support link.
+* Refer to **Microsoft 365** instead of **Office 365**.
+* If you need to reference **Teams**, write the first reference as **Microsoft Teams**. Subsequent references can be shortened to **Teams**.
+* Use the following language when describing how the app works with Teams (or Microsoft 365):
+ * "... works with Microsoft Teams."
+ * "... working with Microsoft Teams."
+ * "... within Microsoft Teams."
+ * "... for Microsoft Teams."
+
+**Don't:**
+
+* Exceed 500 words.
+* Abbreviate **Microsoft** as **MS** or **MSFT**.
+* Indicate the app is an offering from Microsoft, including using Microsoft slogans or taglines.
+* Use copyrighted brand names you don't own.
+* Include typos, grammatical errors, and unnecessary capitalizations (for example, **Users** instead of **users**).
+* Include links to AppSource.
+* Use the following language unless you are a certified Microsoft partner:
+ * "... integrated with Microsoft Teams"
+ * "... integrates with ..."
+ * "... built for ..."
+ * "... built on ..."
+ * "... runs on ..."
+ * "... enabled by ..."
+ * "... certified for ..."
+ * "... developed for ..."
+ * "... designed for ..."
+
+### 4.4 Screenshots
+
+Screenshots provide a prominent visual preview of your app to complement your app name, icon, and descriptions. Remember the following about screenshots:
+
+* You can have up to five screenshots per listing.
+* Supported file types include PNG, JPEG, and GIF.
+* Dimensions should be 1366x768 pixels.
+* Maximum size of 1,024 KB.
+
+**Do:**
+
+* Focus on your app's capabilities (for example, how people can communicate with your bot).
+* Include content that accurately represents your app.
+* Use text judiciously.
+* Frame screenshots with a color that reflects your brand and include marketing content, similar to the [Freshdesk listing](https://appsource.microsoft.com/product/office/WA104381505?src=office&tab=Overview) example (dimension requirements apply to the whole image and not just the screenshot).
+
+**Don't:**
+
+* Show specific devices, such as phones or laptops.
+* Display chrome or UI that isn't in your app.
+* Capture any Teams or browser UI in your screenshots.
+* Include mockups that inaccurately reflect your app's actual UI, such as showing your app being used outside of Teams.
+
+> [!TIP]
+> A video can be the most effective way to communicate why people should use your app. A video also is the first thing users see in your listing (by default, a video displays before screenshots). For more information, see [create a video for your store listing](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md#create-a-video).
+
+### 4.5 Privacy policy
+
+The privacy policy can be specific to your Teams app or an overall policy for all of your services.
+
+* If you use a generic privacy policy template, you must reference **services**, **applications**, and **platforms** to include your Teams app and your service or website.
+* Must include how you handle user data storage, retention, and deletion. You also must describe the security controls you use for data protection.
+* Must include your contact information.
+* Should not contain URLs that are broken or for beta or staging purposes.
+* Must not include links to AppSource.
+
+### 4.6 Terms of use
+
+Your terms of use should be specific and applicable to your offering.
+
+### 4.7 Support links
+
+Your app's support URLs should not require authentication. For example, users should not have to log in to contact you.
+
+### 4.8 Localization
+
+If your app supports localization, your app package must include a file with language translations that display based on the Teams language setting. The file must conform to the Teams localization schema. For more information, see the [Teams localization schema](~/concepts/build-and-test/apps-localization.md)
+
+## 5.0 Tabs
+
+If your app includes a tab, make sure it adheres to these guidelines.
+
+> [!TIP]
+> For information on creating a high-quality app experience, see the [Teams tab design guidelines](~/tabs/design/tabs.md).
+
+### 5.1 Setup
+
+* Tab setup must not dead-end a new user. Provide a message on how to complete the action or workflow.
+* Authentication should happen during tab setup and not after.
+
+### 5.2 Views
+
+* The sign-in screen area must not use large logos or display an entire webpage.
+* Content can be simplified by breaking it down across multiple tabs.
+* Tabs should not have a duplicate header. Remove the logo from the iframe since the tab framework already displays the app icon and name.
+
+### 5.3 Navigation
+
+* Tabs must not have more than three levels of navigation.
+* Tabs must not provide navigation that conflicts with the primary Teams navigation.
+* The secondary and tertiary pages in a tab must be opened in a level two and level three view in the main tab area, which is navigated via breadcrumbs or left nav. You can also include the following components to aid tab navigation:
+ * Back buttons
+ * Page headers
+ * Hamburger menus
+* Tab should not have horizontal scroll.
+* Deep links in tabs must not link to an external webpage but somewhere within Teams (for example, task modules or other tabs).
+* Tabs should not allow users to navigate outside Teams for the core app experience.
+
+### 5.4 Usability
+
+* Tabs must provide value beyond just hosting an existing website.
+* Users must be able to undo their last action in the tab.
+* Tabs in a personal context may aggregate content from shared instances of the app.
+* Tabs must be responsive to Teams themes. When a user changes the theme, the app's theme must reflect the selection.
+* Tabs must use Teams-styled components (adopting Teams fonts, type ramps, color palettes, grid system, motion, tone of voice, etc.) whenever possible.
+* You must include a **Settings** tab.
+* Tabs must follow Teams interaction design (in-page navigation, position and use of dialogs, information hierarchies, etc.) whenever possible.
+* Tab content in the iframe must not include features that mimic Teams core capabilities (for example, bots, messaging extensions, calling, meeting, etc.).
+
+> [!TIP]
+>
+> * Include a personal bot alongside a personal tab.
+> * Allow users to share content from their personal tab.
+
+## 6.0 Bots
+
+If your app includes a bot, make sure it adheres to these guidelines.
+
+> [!TIP]
+> For information on creating a high-quality app experience, see the [Teams bot design guidelines](~/bots/design/bots.md).
+
+### 6.1 Bot commands
+
+Analyzing user input and predicting user intent is difficult. Bot commands provide users a set of words or phrases your bot understands so they (and your bot) don't have to guess.
+
+* Listing supported bot commands in your app configurations is highly recommended. These commands display in the compose box when a user tries to message your bot.
+* All commands that your bot supports must work correctly, including the **Hi**, **Hello**, and **Help** command.
+
+> [!TIP]
+> For personal bots, include a **Help** tab that further describes what your bot can do.
+
+### 6.2 Bot welcome messages
+
+* Bots should almost always send a welcome message during first run. For the best experience, the message should include the value proposition of your bot, how to configure the bot, and briefly describe all supported bot commands. You can display the message using an Adaptive Card with buttons for better usability. For more information, see [how to trigger a bot welcome message](~/bots/how-to/conversations/send-proactive-messages.md).
+* Bot welcome messages in channels and chats are optional during first run, especially if the bot is available for personal use and performs similar actions. If your bot does send welcome messages, it must not send these to users individually (this is considered [spamming](#63-bot-message-spamming)). The message should also mention the person who added the bot.
+* Notification-only bots must send a welcome message that conveys it will not reply to users' messages.
+
+> [!TIP]
+> In welcome messages to individual users, a carousel tour can provide an effective overview of your bot and any other app features. Including buttons the let users try bot commands is encouraged (for example, **Create a task**).
+
+### 6.3 Bot message spamming
+
+Bots must not spam users by sending multiple messages in short succession.
+
+* **Bot messages in channels and chats**: Don't spam users by creating separate posts. Create a single post with replies in the same thread.
+* **Bot messages in personal apps**: Don't send multiple messages in quick succession. Send one message with complete information. Avoid multi-turn conversations to complete a single workflow. Instead, consider using a form (or task module) to collect all inputs from a user at one time.
+* **Welcome messages**: Repeating the same welcome message over regular intervals is not allowed and considered spamming. For example, when a new member is added to a team, don't spam the other members with a welcome message. Message the new member personally instead.
+
+### 6.4 Bot notifications
+
+Bot notifications must include content relevant for the scope you define for the bot (team, chat, or personal).
+
+### 6.5 Bots and Adaptive Cards
+
+Adaptive Cards are a highly recommended way to display bot messages. Your cards must be lightweight and include only 1-3 actions. If you need to display more content, consider using a task module or tab.
+
+See the following resources for more information:
+
+* [Designing Adaptive Cards](~/task-modules-and-cards/cards/design-effective-cards.md)
+* [Cards reference](~/task-modules-and-cards/cards/cards-reference.md#types-of-cards)
+
+## 7.0 Messaging extensions
+
+If your app includes a messaging extension, make sure it adheres to these guidelines.
+
+> [!TIP]
+> For information on creating a high-quality app experience, see the [Teams messaging extension design guidelines](~/messaging-extensions/design/messaging-extension-design.md).
+
+### 7.1 Action commands
+
+Action-based messaging extensions should do the following:
+
+* Allow users to trigger actions on a message without completing intermediate steps, such as signing in.
+* Pass the message context to the next work state.
+
+### 7.2 Preview links (link unfurling)
+
+Messaging extensions should preview recognized links in the Teams compose box. Do not add domains that are outside your control (either absolute URLs or wildcards). For example, `yourapp.onmicrosoft.com` is valid but `*.onmicrosoft.com` is not valid. Top-level domains also are prohibited (for example, `*.com` or `*.org`).
+
+### 7.3 Search commands
+
+* Search-based messaging extensions must provide text that helps users effectively search.
+* @mention executables must be clear, easy to understand, and readable.
+
+## 8.0 Task modules
+
+A task module must include an icon and the short name of the app it's associated with.
+
+> [!TIP]
+> For information on creating a high-quality app experience, see the [Teams task module design guidelines](~/task-modules-and-cards/task-modules/design-teams-task-modules.md).
+
+## 9.0 Meeting extensions
+
+If your app includes a meeting extension, make sure it adheres to these guidelines.
+
+> [!TIP]
+> For information on creating a high-quality app experience, see the [Teams meeting extension design guidelines](~/apps-in-teams-meetings/design/designing-apps-in-meetings.md).
+
+### 9.1 Pre- and post-meeting experience
+
+* Pre- and post-meeting screens must adhere to general tab design guidelines. For more information, see the [Teams design guidelines](~/tabs/design/tabs.md).
+* Tabs must not have horizontal scrolling.
+* Tabs should have an organized layout when displaying multiple items (for instance, more than 10 polls or surveys). See an [example layout](~/apps-in-teams-meetings/design/designing-apps-in-meetings.md#after-a-meeting).
+* Your app must notify users when the results of a survey or poll are exported by stating, "Results successfully downloaded".
+
+### 9.2 In-meeting experience
+
+* Apps must only use a dark theme during meetings. For more information, see the [Teams design guidelines](~/apps-in-teams-meetings/design/designing-apps-in-meetings.md#theming).
+* A tooltip should display the app name when hovering over the app icon during meetings.
+* Messaging extensions must function the same during meetings as they do outside meetings.
+
+### 9.3 In-meeting tabs
+
+* Must be responsive. Make sure to maintain padding and component sizes.
+* Must have a back button if there is more than one layer of navigation.
+* Must not include more than one dismiss or close button. This may confuse users since there's already a built-in header button to dismiss the tab.
+* Must not have horizontal scrolling.
+
+### 9.4 In-meeting dialogs
+
+* Should be used sparingly and for scenarios that are light and task-oriented.
+* Must display content in a single column and not have multiple navigation levels.
+* Must not use task modules.
+* Must align with the center of the meeting stage.
+* Should be dismissed once a user selects a button or performs an action.
+
+## 10.0 Notifications
+
+If your app uses the [activity feed APIs provided by Microsoft Graph](https://docs.microsoft.com/graph/teams-send-activityfeednotifications), make sure it adheres to the following guidelines.
+
+### 10.1 General
+
+* All the notification triggers specified in your app configurations should get a notification in the app.
+* Notifications must be localized per the supported languages configured for your app.
+* Notifications must display within five seconds of user action.
+
+### 10.2 Avatars
+
+* The notification avatar should match your app's color icon.
+* Notifications triggered by a user should include the user's avatar.
+
+### 10.3 Spamming
+
+* Apps must not send more than 10 notifications per minute to a user.
+* Bots and the activity feed should not trigger duplicate notifications.
+* Notifications must provide some value to users and not be used for trivial or irrelevant events.
+
+### 10.4 Navigation and layout
+
+* Notifications must adhere to the Teams activity feed layout and experience.
+* When selecting a notification, the user must be directed to relevant content within Teams and not taken out of the Teams experience.
+
+## 11.0 Advertising
+
+Apps must not display advertising, including dynamic ads, banner ads, and ads in messages.
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [Create a Partner Center account](~/concepts/deploy-and-publish/appsource/prepare/create-partner-center-dev-account.md)
platform Publish https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/publish.md
Title: Understanding the Teams store submission process
-description: Describes the approval submission process for getting your app published to the Microsoft Teams app store
+ Title: Overview - Teams app store publishing process
+description: Describes the process for submitting your app to Partner Center and getting it published to the Microsoft Teams store (and AppSource).
-localization_priority: Normal
-keywords: teams publish store office publishing publish AppSource partner center account verification apps account not publish eligible app submission
-++
+# Publish your app to the Microsoft Teams store
-# Submit your app to AppSource
-
-## Teams app submission
-
-Make your app available in the Microsoft Teams app catalog and on the web by publishing it to [AppSource](https://appsource.microsoft.com). At a high level, the process for submitting your app to AppSource is as follows:
-
-1. Develop your app by following the [design guidelines](~/concepts/design/understand-use-cases.md). Tabs must follow the tab design guidelines for both, [desktop and web](~/tabs/design/tabs.md) and [mobile](~/tabs/design/tabs-mobile.md). Bots must follow the [bot design guidelines](~/bots/design/bots.md).
-1. Ensure your app meets the app [validation policies](/legal/marketplace/certification-policies) for Microsoft Teams.
-1. Test your app with the [Manifest validation tool](prepare/submission-checklist.md#teams-app-validation-tool).
-1. Set up a [developer account](/office/dev/store/open-a-developer-account) in [Partner Center](https://support.microsoft.com/help/4499930/partner-center-overview). *See also* [How do I create a Partner Center account](#how-do-i-create-a-partner-center-account) in the FAQ section.
-1. Prepare your app for submission by following the [submission checklist](prepare/submission-checklist.md).
-1. Review the [most failed test cases for a quicker app quality approval](prepare/frequently-failed-cases.md).
-1. Submit your package to [AppSource through Partner Center](/office/dev/store/use-partner-center-to-submit-to-appsource).
-1. Track the approval process on your Partner Center dashboard. *See* [Partner Center Overview](https://support.microsoft.com/help/4499930/partner-center-overview).
-1. After submission, review the guidance for [Maintaining and supporting your published app](post-publish/overview.md).
-
->[!NOTE]
->
->- Your Teams app must be mobile-responsive and comply with [no upsell requirements](~/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#-mobile-responsiveness-no-direct-upsell-or-payment) on mobile OS (iOS and Android).
->- If your Teams app contains a bot, you must comply with the Bot Developer Framework [Code of Conduct](https://aka.ms/bf-conduct).
->- If your app contains an Office 365 Connector, additional terms may apply. See [Connectors Developer Dashboard](https://aka.ms/connectorsdashboard) and [App Developer Agreement](https://sellerdashboard.microsoft.com/Assets/Content/Agreements/Office_Store_Seller_Agreement_20120927.htm).
->- To make your app available for Government Community Cloud (GCC) users and to avoid duplicate app listings in the store, the auth process or flow must identify and route the user to the specified or expected content URL for GCC users.
-
-## FAQs ΓÇö Teams apps and Partner account verification process in Partner Center
-
-## How do I create a Partner Center account?
-
-There are two ways to create a Partner Center account:
--- If you are new to Partner Center and don't have an account in the Microsoft network, create an account using the [Partner Center enrollment page](/office/dev/store/open-a-developer-account#create-an-account-using-an-existing-partner-center-enrollment).-- If you are already enrolled in the Partner Network, create an account directly in Partner Center using an [ existing enrollment page](/office/dev/store/).-
-## What if I cannot find my Office Store account in Partner Center?
-
-Open a [Partner Center support ticket](https://partner.microsoft.com/support/v2/?stage=1) and select the following from the drop-down menus:
-
-| Menu | Option |
-| - | - |
-|Category| Commercial Marketplace|
-| Topic | General Marketplace Help and How-to questions |
-| Subtopic| Office add-in |
-
-## Where can I get support for my Partner Center account issues?
-
-Visit the [publishers support page](https://aka.ms/marketplacepublishersupport) to search for your issue topic and find guidance. If the provided guidance is not helpful, raise a [Partner Center support ticket](/azure/marketplace/partner-center-portal/support#how-to-open-a-support-ticket).
-
-## How do I manage my Office Store account in Partner Center?
-
-Visit the [Manage your Office Store account through Partner Center](/office/dev/store/manage-account-settings-and-profile) for guidance.
-
-## How do I add my phone number to the partner profile contact section?
-
-The phone number has three parts, country code, area code, and telephone number. If your phone number doesn't include an area code, then leave the second box empty, and complete the third box.
-
-## How do I manage my account settings and partner profile in Partner Center?
-
-Visit the [Manage account settings and profile info](/windows/uwp/publish/manage-account-settings-and-profile#additional-settings-and-info) page for guidance on managing your Partner Center account settings.
-
-## Why do I receive the message, "This account is not publish eligible," when I try to submit my add-in through Partner Center?
-
-You receive the above error message when your [account verification status](/partner-center/verification-responses) is pending. Check your account verification status in the Partner Center [dashboard](https://partner.microsoft.com/dashboard). Select **Settings**, the gear icon in the upper-right corner of the page header shell. Choose **Developer settings** => **Account** => **Account settings**.
-
-![Partner Center account settings page](../../../assets/images/partner-center-accts-page.png)
-
-![Partner Center verification status](../../../assets/images/partner-center-verification-status.png)
-
-The status of each required step, such as **Email Ownership**, **Employment Verification**, and **Business Verification**, are displayed in the account verification process. After the verification process is complete, the verification status of your enrollment on the profile page changes from *pending* to *authorized*. The process steps are no longer displayed.
-
-![Partner Center verification error](../../../assets/images/partner-center-acct-verification-error.png)
-
-## What is verified in the Partner Center account verification process and how to respond?
-There are three verification areas, **Email Ownership**, **Employment**, and **Business**. For more information on the verification process, see [What is verified and how to respond](/partner-center/verification-responses#what-is-verified-and-how-to-respond).
-If you are the primary contact, Global admin, or Account admin, go to your Partner Profile to monitor verification status and track the progress.
-
-After the verification process is complete, the verification status of your enrollment on the profile page changes from *pending* to *authorized*. After authorization, the process steps and their status are no longer available on the page. The primary contact receives an email from Microsoft within a few business days after the verification is complete.
-
-## My account Verification status has not advanced beyond Email Ownership in the Partner Center. How should I proceed?
-
-During the **Email Ownership** verification process, a verification email is sent to the primary contact email address. Check your primary contact inbox for an email from **maccount@<span>microsoft</span>.com** with the subject line *Action needed: Verify your email account with Microsoft*. Complete the email verification process. The verification email is sent to the email address listed on your account settings page in Partner Center.
-
-> [!NOTE]
-> * The email verification link is only valid for seven days.
-> * You can request us to resend the email by visiting your partner profile page and selecting the **Resend verification email** link.
-> * To ensure that email is received, safe list the email from microsoft.com as a secure domain, and check your junk email folders.
-
-## How do I get further support for my account related issues?
-
-Visit the [Support for the Commercial Marketplace program in Partner Center](/azure/marketplace/partner-center-portal/support) page for guidance and steps to create a support ticket.
-
-## I've checked my mail folders and haven't received the verification email. What must I do next?
+You can distribute your app directly to the store inside Microsoft Teams and reach millions of users around the world. If your app is also featured in the store, you can instantly reach potential customers.
-Try the following:
-* Check your junk or spam folder.
-* Clear the browser cache, go to your Partner Center account dashboard, and select the **Resend verification email** link to have the verification email resent to your email address.
-* Try accessing the **Resend verification email** link from a different browser.
-* Work with your IT department to ensure that the verification emails are not blocked by the email server.
-* Adjust your server's spam filter to allow or safe-list all emails from **maccount@microsoft.<span></span>com**.
+Apps published to the Teams store also automatically list on [Microsoft AppSource](https://appsource.microsoft.com), which is the official marketplace for Microsoft 365 apps and solutions.
-## How long does the employment verification process usually take?
+## Understand the publishing process
-If all the submitted details are correct, the employment verification process takes around two hours to complete.
+ :::column span="3":::
-## How long does the business verification process usually take?
+When you feel your app is production ready, you can begin the process of getting it listed on the Teams store.
-If all the required documents are submitted, business verification takes one to two business days to complete.
+> [!TIP]
+> Following the pre-submission steps closely can increase the possibility that Microsoft approves your app for publishing.
-## If I reach out to the support team, will my ticket be expedited?
+1. [Review the Teams store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md) to make sure your app meets Teams app and store standards.
+1. [Create a Partner Center developer account](~/concepts/deploy-and-publish/appsource/prepare/create-partner-center-dev-account.md).
+1. [Prepare your store submission](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md), which includes running automated tests, compiling test notes, creating a store listing, among other important tasks to help expedite the review process.
+1. [Submit your app](https://docs.microsoft.com/office/dev/store/add-in-submission-guide) through Partner Center.
+1. If your submission fails, work with Microsoft directly to [resolve the issues and resubmit your app](~/concepts/deploy-and-publish/appsource/resolve-submission-issues.md).
-Support tickets get resolved in a week. Check for updates sent to the email ID provided when raising the support ticket.
+ :::column-end:::
+ :::column span="1":::
-## My issue is not listed here. Are there other pages I can reference for Partner Center issues?
+<br>
-See the [commercial marketplace documentation](/azure/marketplace/) for more help.
-## I've created a support ticket, it has been 7 business days, and I haven't received an update. Where can I get additional help?
+ :::column-end:::
-Send an email to **<teamsubm@microsoft.com>** with the following details:
+## See also
-* **Subject Line**: Partner Center Account Issue for <App_Name> (specify the name of your app).
-* **Email body**:
- * Support ticket number
- * Your seller ID
- * A screenshot of the issue (if possible)
-
-## App category mapping
+* [Publishing to Microsoft 365 App Stores](https://docs.microsoft.com/office/dev/store/)
+* [Upload your Teams app](~/concepts/deploy-and-publish/apps-upload.md)
+* [Publish your Teams app to your org](/MicrosoftTeams/tenant-apps-catalog-teams?toc=/microsoftteams/platform/toc.json&bc=/MicrosoftTeams/breadcrumb/toc.json)
-| Teams Category | PC Categories |
-|:|:|
-| Analytics and BI | Analytics, Data Visualization and BI |
-| Developer and IT | Developer Tools, IT Admin |
-| Education | Education |
-| Human resources | Human Resources and Recruiting |
-| Productivity | Content Management, Files and documents, Productivity, Training and Tutorials, and Utilities |
-| Project management | Communication, Project Management, Workflow, and Business Management |
-| Sales and support | Customer and Contact Management, Customer Support, Financial Management, Sales and Marketing |
-| Social and fun | Image and Video Galleries, Lifestyle, News and Weather, Social, Travel, and Navigation |
+## Next step
->
> [!div class="nextstepaction"]
-> [Learn more about app validation policies for Microsoft Teams](/legal/marketplace/certification-policies)
+> [Review store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md)
platform Resolve Submission Issues https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/resolve-submission-issues.md
+
+ Title: Resolve issues with your store submission
+description: Understand how to troubleshoot and correct problems with your Microsoft Teams store submission.
++++
+# Resolve issues if your Microsoft Teams store submission fails
+
+Apps published to the Microsoft Teams store must meet the [Teams store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md) and [commercial marketplace policies](https://docs.microsoft.com/legal/marketplace/certification-policies).
+
+If your store submission fails, Microsoft provides a concierge validation service to help get your app compliant and published.
+
+## Get help directly from Microsoft
+
+The concierge validation service provided by Microsoft helps developers get their apps published to the Teams store. As part of this service, Microsoft verifies if your app works as described, contains all appropriate metadata, and provides value to users.
+
+If your app submission fails, Microsoft sends you a review report with recommendations within 24 hours of submission.
+
+## Resolve issues and resubmit your app
+
+You must fix all issues reported by the Microsoft concierge validation team before resubmitting your app on Partner Center. The Microsoft report includes the following information:
+
+* A corresponding [validation guideline](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md) for each issue
+* Instructions on how to reproduce each issue
+* Recommendations for resolving each issue based on publicly available developer documentation
+
+The process for resolving issues and resubmitting an app typically goes like this:
+
+1. You fix all issues in the report.
+1. You send the following to the Microsoft concierge validation team at <a href="mailto:teamsubm@microsoft.com">teamsubm@microsoft.com</a>:
+ * An updated app package
+ * Test notes for your app (if you didn't include these in your original submission):
+ * Credentials for at least two accounts (one admin and one non-admin)
+ * Instructions to configure the app and test its functionality
+ * A video showing your app used in Teams
+1. Microsoft concierge validation team fully tests your updated app.
+1. You do one of the following:
+ * If your app is free of issues, resubmit your app on Partner Center.
+ * If issues aren't resolved or Microsoft finds new issues, you receive another report on what to fix. Resolve those issues and send an updated version of the app to <a href="mailto:teamsubm@microsoft.com">teamsubm@microsoft.com</a>.
+
+> [!CAUTION]
+> To avoid multiple submission failures, do not resubmit your app on Partner Center until the Microsoft concierge validation team approves your app.
+
+## FAQ
+
+Get answers to some common questions when resolving app submission issues.
+
+<br>
+
+<details>
+
+<summary><b>How long will it take to publish my app?</b></summary>
+
+If your store submission has no issues, your app will publish within 1-2 business days. If your app fails, a team from Microsoft provides you with recommendations to fix the issues. Once you make those fixes and resend an updated app to that team, you will be notified in 24 hours if your app is ready to publish or still needs more work.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>How do I increase the likelihood my app will pass submission?</b></summary>
+
+Doing the following can lead to a successful submission:
+
+1. Develop your app based on the [Teams design guidelines](~/concepts/design/design-teams-app-overview.md).
+1. Make sure your app adheres to the [Teams store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md) and [Microsoft commercial marketplace certification policies](https://docs.microsoft.com/legal/marketplace/certification-policies).
+1. Test your app package with the [Microsoft Teams app validation tool](https://dev.teams.microsoft.com/appvalidation.html).
+1. [Prepare your Teams store submission](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md).
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>My app is in beta testing. Can I submit my app anyway to save time on the publishing process?</b></summary>
+
+No. Microsoft only validates production-ready apps.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>May I contact the teamsubm@microsoft.com email before submitting my app for the first time on Partner Center?</b></summary>
+
+No. Microsoft doesn't start validating your app until you submit your app for the first time on Partner Center.
+
+<br>
+
+</details>
+
+<details>
+
+<summary><b>I received an email from Partner Center saying my app was approved to publish. Why isn't my app in the Teams store?</b></summary>
+
+Once your app is approved, publishing usually takes 1-2 business days depending on the app's capabilities. If your app hasn't published after two business days, contact <a href="mailto:teamsubm@microsoft.com">teamsubm@microsoft.com</a>.
+
+<br>
+
+</details>
platform Submit Your App https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/appsource/submit-your-app.md
+
+ Title: Submit your app to Partner Center
+description: Learn how to create a Partner Center account and submit your app for store validation.
++++
+# Submit your Microsoft Teams app to Partner Center
+
+After preparing your store submission, you can officially submit your app for review.
+
+## Create a Partner Center account
+
+To publish your app to the Teams store and AppSource, you must [first set up a developer account](https://docs.microsoft.com/office/dev/store/open-a-developer-account).
+
+## Submit your app
+
+To submit your app, follow these [step-by-step store submission instructions](https://docs.microsoft.com/office/dev/store/add-in-submission-guide). When creating a new submission, specify you're submitting a Teams app.
+
+### App category mapping
+
+During submission, you're asked to categorize your app. The following table maps Teams store categories to the categories listed in Partner Center.
+
+| Teams categories | Partner Center categories |
+|:|:|
+| Analytics and BI | Analytics, Data Visualization and BI |
+| Developer and IT | Developer Tools, IT Admin |
+| Education | Education |
+| Human resources | Human Resources and Recruiting |
+| Productivity | Content Management, Files and documents, Productivity, Training and Tutorials, and Utilities |
+| Project management | Communication, Project Management, Workflow, and Business Management |
+| Sales and support | Customer and Contact Management, Customer Support, Financial Management, Sales and Marketing |
+| Social and fun | Image and Video Galleries, Lifestyle, News and Weather, Social, Travel, and Navigation |
+
+### 3. Fix issues with your submission
+
+If your app fails submission, you receive a failure report so you know what to fix and resubmit. Microsoft also provides a white-glove service to help get your app listed.
+
+## FAQs
+
+### How do I create a Partner Center account?
+
+You can create a Partner Center account one of the following ways:
+
+- If you're new to Partner Center and don't have an account in the Microsoft network, create an account using the [Partner Center enrollment page](/office/dev/store/open-a-developer-account#create-an-account-using-the-partner-center-enrollment-page).
+- If you're already enrolled in the Partner Network, create an account directly in Partner Center using an [existing enrollment page](/office/dev/store/open-a-developer-account#create-an-account-using-an-existing-partner-center-enrollment).
+
+### What if I can't find my Office Store account in Partner Center?
+
+Open a [Partner Center support ticket](https://partner.microsoft.com/support/v2/?stage=1) and select the following from the drop-down menus:
+
+| Menu | Option |
+| - | - |
+|Category| Commercial Marketplace|
+| Topic | General Marketplace Help and How-to questions |
+| Subtopic| Office add-in |
+
+### Where can I get support for my Partner Center account issues?
+
+Visit the [publishers support page](https://aka.ms/marketplacepublishersupport) to search for your issue topic and find guidance. If the provided guidance is not helpful, raise a [Partner Center support ticket](/azure/marketplace/partner-center-portal/support#how-to-open-a-support-ticket).
+
+### How do I manage my Office Store account in Partner Center?
+
+Visit the [Manage your Office Store account through Partner Center](/office/dev/store/manage-account-settings-and-profile) for guidance.
+
+### How do I add my phone number to the partner profile contact section?
+
+The phone number has three parts, country code, area code, and telephone number. If your phone number doesn't include an area code, then leave the second box empty, and complete the third box.
+
+### How do I manage my account settings and partner profile in Partner Center?
+
+Visit the [Manage account settings and profile info](/windows/uwp/publish/manage-account-settings-and-profile#additional-settings-and-info) page for guidance on managing your Partner Center account settings.
+
+### Why do I receive the message, "This account is not publish eligible," when I try to submit my app?
+
+You receive the above error message when your [account verification status](/partner-center/verification-responses) is pending. Check your account verification status in the Partner Center [dashboard](https://partner.microsoft.com/dashboard). Select **Settings**, the gear icon in the upper-right corner of the page header shell. Choose **Developer settings** => **Account** => **Account settings**.
+
+![Partner Center account settings page](../../../assets/images/partner-center-accts-page.png)
+
+![Partner Center verification status](../../../assets/images/partner-center-verification-status.png)
+
+The status of each required step, such as **Email Ownership**, **Employment Verification**, and **Business Verification**, are displayed in the account verification process. After the verification process is complete, the verification status of your enrollment on the profile page changes from *pending* to *authorized*. The process steps are no longer displayed.
+
+![Partner Center verification error](../../../assets/images/partner-center-acct-verification-error.png)
+
+### What is verified in the Partner Center account verification process and how to respond?
+
+There are three verification areas, **Email Ownership**, **Employment**, and **Business**. For more information on the verification process, see [What is verified and how to respond](/partner-center/verification-responses#what-is-verified-and-how-to-respond).
+If you are the primary contact, Global admin, or Account admin, go to your Partner Profile to monitor verification status and track the progress.
+
+After the verification process is complete, the verification status of your enrollment on the profile page changes from *pending* to *authorized*. After authorization, the process steps and their status are no longer available on the page. The primary contact receives an email from Microsoft within a few business days after the verification is complete.
+
+### My account verification status hasn't advanced beyond Email Ownership. How should I proceed?
+
+During the **Email Ownership** verification process, a verification email is sent to the primary contact email address. Check your primary contact inbox for an email from **maccount@<span>microsoft</span>.com** with the subject line *Action needed: Verify your email account with Microsoft*. Complete the email verification process. The verification email is sent to the email address listed on your account settings page in Partner Center.
+
+> [!NOTE]
+> * The email verification link is only valid for seven days.
+> * You can request us to resend the email by visiting your partner profile page and selecting the **Resend verification email** link.
+> * To ensure that email is received, safe list the email from microsoft.com as a secure domain, and check your junk email folders.
+
+### How do I get further support for my account-related issues?
+
+Visit the [Support for the Commercial Marketplace program in Partner Center](/azure/marketplace/partner-center-portal/support) page for guidance and steps to create a support ticket.
+
+### I've checked my mail folders and haven't received the verification email. What must I do next?
+
+Try the following:
+* Check your junk or spam folder.
+* Clear the browser cache, go to your Partner Center account dashboard, and select the **Resend verification email** link to have the verification email resent to your email address.
+* Try accessing the **Resend verification email** link from a different browser.
+* Work with your IT department to ensure that the verification emails are not blocked by the email server.
+* Adjust your server's spam filter to allow or safe-list all emails from **maccount@microsoft.<span></span>com**.
+
+### How long does the employment verification process usually take?
+
+If all the submitted details are correct, the employment verification process takes around two hours to complete.
+
+### How long does the business verification process usually take?
+
+If all the required documents are submitted, business verification takes one to two business days to complete.
+
+### If I reach out to the support team, will my ticket be expedited?
+
+Support tickets get resolved in a week. Check for updates sent to the email ID provided when raising the support ticket.
+
+### My issue is not listed here. Are there other pages I can reference for Partner Center issues?
+
+See the [commercial marketplace documentation](/azure/marketplace/) for more help.
+
+### I've created a support ticket and I haven't received an update in 7 business days. Where can I get help?
+
+Send an email to **<teamsubm@microsoft.com>** with the following details:
+
+* **Subject Line**: Partner Center Account Issue for <App_Name> (specify the name of your app).
+* **Email body**:
+ * Support ticket number
+ * Your seller ID
+ * A screenshot of the issue (if possible)
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [Maintain and support your app](~/concepts/deploy-and-publish/appsource/post-publish/overview.md)
platform Map Use Cases https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/design/map-use-cases.md
Title: Map your use cases to Teams app capabilities
-description: Choose the correct app scope
+description: Identify how your app's use cases can work within the Teams experience.
localization_priority: Normal - # Map your use cases to Teams app capabilities After you have identified *who* the user is and *what* problem you will solve, it is time to decide *how* to solve the problem. The *who*, *what*, and *how* completes the process of understanding and mapping your use cases to Teams app capabilities. You need to define the scope of the app based on the responses you have received from the user to your queries, and then decide which capability is best suited to build your app.
While choosing the app scope, consider the following:
You can choose between personal scope and team or channel scope for your app depending on the following:
-* For selecting personal scope, answer questions, such as:
+* For personal scope, ask the following questions:
* Are there one-on-one interactions with the app required for privacy or other reasons? For example, checking leave balance or other private information. * Is there going to be collaboration among users who might not have any common Teams? For example, finding upcoming organization wide events in a company. * Are there any personalized notifications or messages that will need to be sent to a user throughout the Teams app experience? For example, reminders for approvals or registrations.-
-* For selecting team or channel scope, answer questions, such as:
+* For a shared scope (team, channel, or chat), ask the following questions:
* Is the information presented by the app, either in tab or through a bot, relevant and useful for most members in a Team? For example, Scrum app. * Could the appΓÇÖs context change depending on the team in which it is added to? For example, PlannerΓÇÖs tasks are different in different teams. * Is it possible that all members in a persona who need to collaborate are a part of a single team? For example, agents working on a ticket.
That being said, the best apps usually combine multiple features, creating an ap
## See also -- [Build apps for Microsoft Teams](../../overview.md)
-
-
+* [Build apps for Microsoft Teams](../../overview.md)
platform Personal Apps https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/design/personal-apps.md
Personal apps can include a bot for one-on-one conversations and private notific
|B|**Bot message**: Bots often send messages and notifications in the form of a card (such as an Adaptive Card).| |C|**Compose box**: Input field for sending messages to the bot.|
+## Manage a personal tab
+
+On the left side of Teams, users can right click the personal app to pin, remove, and configure other app options.
++ ## Best practices
+Use these recommendations to create a quality app experience.
+ ### Tab priority #### Do: Show the most relevant content in the first tab With responsive sizing, tabs on the right may become truncated or out of view. #### DonΓÇÖt: Lead with secondary content or metadata Like a standard web app, tab navigation should progress in an order that helps make sense of your appΓÇÖs primary features. ### Tab hierarchy
Like a standard web app, tab navigation should progress in an order that helps m
Your tabs should categorize your appΓÇÖs primary features and content. With responsive sizing, content on the right may become truncated or out of view. #### Don't: Include different levels of hierarchy Your content should progress in a logical order that helps users make sense of it. If you have two tabs that are closely related, consider combining them into one tab. ### First-run experience
Your content should progress in a logical order that helps users make sense of i
There should be at least a welcome screen the first time you use a personal app. For bots, describe what your bot can do and provide quick actions, such as a sign-in button. #### Don't: Start with a blank screen Users might be confused if nothing displays the first time they run your app. ### Personalized content
Users might be confused if nothing displays the first time they run your app.
Whether it's a personal tab or bot, display content related to only a user's activity in your app. #### DonΓÇÖt: Show unrelated or overly broad content In personal contexts, donΓÇÖt display content for teams a user isn't part of. Personal bot content should focus on the individualΓÇönot a group. ### Complex app features
In personal contexts, donΓÇÖt display content for teams a user isn't part of. Pe
Your app should focus on core tasks in Teams, but you can still view the full, standalone app in a browser. #### DonΓÇÖt: Include your entire app Unless you created your app specifically for Teams, you probably have features that donΓÇÖt make sense in a collaboration tool.
-## Manage a personal tab
-
-On the left side of Teams, users can right click the personal app to pin, remove, and configure other app options.
--
-## Learn more
+## See also
These other design guidelines may help depending on the scope of your personal app: * [Designing your tab](../../tabs/design/tabs.md) * [Designing you bot](../../bots/design/bots.md)-
-## Validate your design
-
-If you plan to publish your app to AppSource, you should understand the design issues that commonly cause apps to fail during submission.
-
-> [!div class="nextstepaction"]
-> [Check design validation guidelines](../../concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#validation-guidelines--most-failed-test-cases)
platform Understand Use Cases https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/design/understand-use-cases.md
Title: Understand your use cases-
-description: Understand your use cases
+ Title: Understanding your app's use cases
+
+description: When planning your Microsoft Teams app, you should first understand what problems your app is trying to solve.
localization_priority: Normal
Identify which new features the user will prefer to have in the current solution
## See also -- [Choose how to distribute your app](../deploy-and-publish/overview.md)--- [Design effective tabs](../../tabs/design/tabs.md)--- [Design amazing bots](../../bots/design/bots.md)
+* [Choose how to distribute your app](../deploy-and-publish/overview.md)
+* [Design tabs](../../tabs/design/tabs.md)
+* [Design bots](../../bots/design/bots.md)
## Next step
platform Location Capability https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/device-capabilities/location-capability.md
You must use the following set of APIs to enable your device's location capabili
> [!NOTE]
-> The `getLocation()` API comes along with following [input configurations](https://docs.microsoft.com/javascript/api/@microsoft/teams-js/locationprops?view=msteams-client-js-latest&preserve-view=true), `allowChooseLocation` and `showMap`. <br/> If the value of `allowChooseLocation` is *true*, then the users can choose any location of their choice.<br/> If the value is *false*, then the users cannot change their current location.<br/> If the value of `showMap` is *false*, the current location is fetched without displaying the map. `showMap` is ignored if `allowChooseLocation` is set to *true*.
-
+> The `getLocation()` API comes along with following [input configurations](https://docs.microsoft.com/javascript/api/@microsoft/teams-js/locationprops?view=msteams-client-js-latest&preserve-view=true), `allowChooseLocation` and `showMap`. <br/> If the value of `allowChooseLocation` is *true*, then the users can choose any location of their choice.<br/> If the value is *false*, then the users cannot change their current location.<br/> If the value of `showMap` is *false*, the current location is fetched without displaying the map. `showMap` is ignored if `allowChooseLocation` is set to *true*.
**Web app experience for location capabilities** ![web app experience for location capabilities](../../assets/images/tabs/location-capability.png)
microsoftTeams.location.showLocation(location, (err: microsoftTeams.SdkError, re
## See also -- [Integrate media capabilities in Teams](mobile-camera-image-permissions.md)--- [Integrate QR or barcode scanner capability in Teams](qr-barcode-scanner-capability.md)
+* [Integrate media capabilities in Teams](mobile-camera-image-permissions.md)
+* [Integrate QR code or barcode scanner capability in Teams](qr-barcode-scanner-capability.md)
platform Graph Proactive Bots And Messages https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md
To use these permissions, you must add a [webApplicationInfo](../../resources/sc
## Enable proactive app installation and messaging
- > [!IMPORTANT]
->Microsoft Graph can only install apps published within your organization's [app catalog](../../concepts/deploy-and-publish/overview.md#publish-to-your-organizations-app-catalog) or in [AppSource](https://appsource.microsoft.com/).
+> [!IMPORTANT]
+>Microsoft Graph can only install apps published to your organization's app store or the Teams store.
### Γ£ö Create and publish your proactive messaging bot for Teams
-To get started, you need a [bot for Teams](../../bots/how-to/create-a-bot-for-teams.md) with [proactive messaging](../../concepts/bots/bot-conversations/bots-conv-proactive.md) capabilities that is [published](../../concepts/deploy-and-publish/overview.md) in your organization's [app catalog](../../concepts/deploy-and-publish/overview.md#publish-to-your-organizations-app-catalog) or in [AppSource](https://appsource.microsoft.com/).
+To get started, you need a [bot for Teams](../../bots/how-to/create-a-bot-for-teams.md) with [proactive messaging](../../concepts/bots/bot-conversations/bots-conv-proactive.md) capabilities that's in your [organization's app store](../../concepts/deploy-and-publish/apps-publish-overview.md#publish-your-app-to-your-org) or the [Teams store](../../concepts/deploy-and-publish/apps-publish-overview.md#publish-your-app-to-the-teams-store).
>[!TIP] > The production-ready [**Company Communicator**](../..//samples/app-templates.md#company-communicator) app template permits broadcast messaging and is a good foundation for building your proactive bot application.
platform Resource Specific Consent https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/graph-api/rsc/resource-specific-consent.md
The steps for enabling RSC in your application are as follows:
1. [Review your application permissions in the Azure AD portal](#review-your-application-permissions-in-the-azure-ad-portal). 1. [Obtain an access token from the Microsoft Identity platform](#obtain-an-access-token-from-the-microsoft-identity-platform). 1. [Update your Teams app manifest](#update-your-teams-app-manifest).
-1. [Install your app directly in Teams](#install-your-app-directly-in-teams).
+1. [Install your app directly in Teams](#sideload-your-app-in-teams).
1. [Check your app for added RSC permissions](#check-your-app-for-added-rsc-permissions). ## Configure group owner consent settings in the Azure AD portal
The RSC permissions are declared in your app manifest (JSON) file. Add a [webAp
} ```
-## Install your app directly in Teams
+## Sideload your app in Teams
-Once you've created your app you can [upload your app package](../../concepts/deploy-and-publish/apps-upload.md#upload-your-package-into-a-team-using-the-apps-tab) directly to a specific team. To do so, the **Upload custom apps** policy setting must be enabled as part of the custom app setup policies. *See* [Custom app policy settings](/microsoftteams/teams-custom-app-policies-and-settings#custom-app-policy-and-settings).
+If your Teams admin allows custom app uploads, you can [sideload your app](~/concepts/deploy-and-publish/apps-upload.md) directly to a specific team.
## Check your app for added RSC permissions
platform Messaging Extension Design https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/messaging-extensions/design/messaging-extension-design.md
The following example is a messaging extension opened from the compose box.
## Best practices
+Use these recommendations to create a quality app experience.
+ ### Setup and general usage :::row:::
You can make users press a key or select a button to send queries to your app. W
#### Do: Consider zero-term queries For example, before a user writes anything in the search box, display what they last viewed on your app. It's possible that they want to insert that content into their conversation.-
-## Validate your design
-
-If you plan to publish your app to AppSource, you should understand the design issues that commonly cause apps to fail during submission.
-
-> [!div class="nextstepaction"]
-> [Check design validation guidelines](../../concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#validation-guidelines--most-failed-test-cases)
platform Overview https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/overview.md
Looking for app development inspiration? Browse our list of real-world scenarios
* [Design your Teams app](concepts/design/design-teams-app-overview.md) * [Microsoft Teams JavaScript client SDK](https://docs.microsoft.com/javascript/api/@microsoft/teams-js/?view=msteams-client-js-latest&preserve-view=true) * Bot Framework SDK for [JavaScript](https://github.com/Microsoft/botbuilder-js) and [.NET](https://github.com/Microsoft/botbuilder-dotnet/)
-* [Publish your Teams app](concepts/deploy-and-publish/overview.md)
+* [Distribute your Teams app](concepts/deploy-and-publish/apps-publish-overview.md)
platform Bots Text Formats https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/resources/bot-v3/bots-text-formats.md
Support for text formatting varies by type of message and by platform.
| preformatted text | `text` | `` `text` `` | `<pre>text</pre>` | | blockquote | <blockquote>text</blockquote> | `>text` | `<blockquote>text</blockquote>` | | hyperlink | [Bing](https://www.bing.com/) | `[Bing](https://www.bing.com/)` | `<a href="https://www.bing.com/">Bing</a>` |
-| image link | <img src="https://aka.ms/Fo983c" alt="Duck on a rock"></img> | `![Duck on a rock](http://aka.ms/Fo983c)` | `<img src="http://aka.ms/Fo983c" alt="Duck on a rock"></img>` |
+| image link | <img src="https://aka.ms/Fo983c" alt="Duck on a rock"></img> | `![Duck on a rock](http://aka.ms/Fo983c)` | `<img src="https://aka.ms/Fo983c" alt="Duck on a rock"></img>` |
platform Samesite Cookie Update https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/resources/samesite-cookie-update.md
Chrome 80, scheduled for release in February 2020, introduces new cookie values
|Setting | Enforcement | Value |Attribute Specification | | -- | -- | --|--|
-| **Lax** | Cookies will be sent automatically only in a *first-party* context and with HTTP GET requests. SameSite cookies will be withheld on cross-site sub-requests, such as calls to load images or iframes, but will be sent when a user navigates to the URL from an external site, e.g., by following a link.| **Default** |`Set-Cookie: key=value; SameSite=Lax`|
+| **Lax** | Cookies will be sent automatically only in a *first-party* context and with HTTP GET requests. SameSite cookies will be withheld on cross-site sub-requests, such as calls to load images or iframes, but will be sent when a user navigates to the URL from an external site, for example, by following a link.| **Default** |`Set-Cookie: key=value; SameSite=Lax`|
| **Strict** |The browser will only send cookies for first-party context requests (requests originating from the site that set the cookie). If the request originated from a different URL than that of the current location, none of the cookies tagged with the `Strict` attribute will be sent.| Optional |`Set-Cookie: key=value; SameSite=Strict`| | **None** | Cookies will be sent in both first-party context and cross-origin requests; however, the value must be explicitly set to **`None`** and all browser requests **must follow the HTTPS protocol** and include the **`Secure`** attribute which requires an encrypted connection. Cookies that don't adhere to that requirement will be **rejected**. <br/>**Both attributes are required together**. If just **`None`** is specified without **`Secure`** or if the HTTPS protocol is not used, the third-party cookie will be rejected.| Optional, but, if set, the HTTPS protocol is required. |`Set-Cookie: key=value; SameSite=None; Secure` |
-## Handling incompatible clients
-
-> [!IMPORTANT]
-> Currently, `SameSite=None` is not supported by the [**Teams desktop client**](/aspnet/core/security/samesite?view=aspnetcore-3.1#test-with-electron&preserve-view=true) or older versions of Chrome or Safari. **See** [Known Incompatible Clients]( https://www.chromium.org/updates/same-site/incompatible-clients).
->However, there are two **workaround solutions**:
->
->1. Check the user-agent in order to provide the correct SameSite property. You can implement the user-agent check in [**C#**](https://devblogs.microsoft.com/aspnet/upcoming-samesite-cookie-changes-in-asp-net-and-asp-net-core/) and [**Node.js**](https://web.dev/samesite-cookie-recipes/).
->2. Set your cookie attributes using both the new and old models. *See* [Handling incompatible clients](https://web.dev/samesite-cookie-recipes/#handling-incompatible-clients)<br><br>
->**If your app is running in the Teams desktop client, and you set the SameSite attribute to `SameSite=None` , your app will not work as expected.**
-
-Using either approach will ensure that your application continues to work properly when the Teams desktop client is upgraded to a `SameSite=None` compatible version of Chromium.
- ## Teams implications and adjustments
->[!WARNING]
->**Applications running in the Teams desktop client are incompatible with the `SameSite=None` attribute, and they will not work as expected.** Please see the **workaround solutions**, above.
- 1. Enable the relevant SameSite setting for your cookies and validate that your apps and extensions continue to work in Teams. 1. If your apps or extensions fail, make the necessary fixes prior to the Chrome 80 release. 1. Microsoft internal partners can join the following team if they need more information or help with this issue: <https://teams.microsoft.com/l/team/19%3A08b594cd465e4c0491fb751e823802e2%40thread.skype/conversations?groupId=4d6d04cd-dbf0-43c8-a2ff-f80dd38be034&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47>. > [!NOTE]
-> For best practice, it's recommended that you always set SameSite attributes to reflect the intended use for your cookies ΓÇö don't rely on default browser behavior. *See* [Developers: Get Ready for New SameSite=None; Secure Cookie Settings](https://blog.chromium.org/2019/10/developers-get-ready-for-new.html).
+> For best practice, it is recommended that you always set SameSite attributes to reflect the intended use for your cookies. Do not rely on default browser behavior. For more information, see [Developers: Get Ready for New SameSite=None; Secure Cookie Settings](https://blog.chromium.org/2019/10/developers-get-ready-for-new.html).
### Tabs, task modules, and message extensions
Using either approach will ensure that your application continues to work proper
* Task modules allow you to create modal popup experiences in your Teams application. Similar to a tab, a modal window opens inside the current page. * Message extensions allow you to insert enriched content into chat message from external resources.
-Any cookies used by embedded content will be considered third-party when the site is displayed in an `<iframe>`. In addition, if any remote resources on a page rely on cookies being sent with a request (e.g., `<img>` and `<script>` tags, external fonts, and personalized content) you'll need to ensure those are marked for cross-site usage ΓÇö `SameSite=None; Secure` ΓÇö or ensure that a fallback is in place.
+Any cookies used by embedded content will be considered third-party when the site is displayed in an `<iframe>`. In addition, if any remote resources on a page rely on cookies being sent with a request `<img>` and `<script>` tags, external fonts, and personalized content, you must ensure those are marked for cross-site usage, such as `SameSite=None; Secure` or ensure that a fallback is in place.
### Authentication
Android WebView is a Chrome system component that allows Android apps to display
## Learn more
-[SameSite examples](https://github.com/GoogleChromeLabs/samesite-examples)
+* [SameSite examples](https://github.com/GoogleChromeLabs/samesite-examples)
-[SameSite cookie recipes](https://web.dev/samesite-cookie-recipes/)
+* [SameSite cookie recipes](https://web.dev/samesite-cookie-recipes/)
-[Known Incompatible Clients]( https://www.chromium.org/updates/same-site/incompatible-clients)
+* [Known Incompatible Clients]( https://www.chromium.org/updates/same-site/incompatible-clients)
-[Developers: Get Ready for New SameSite=None; Secure Cookie Settings](https://blog.chromium.org/2019/10/developers-get-ready-for-new.html)
+* [Developers: Get Ready for New SameSite=None; Secure Cookie Settings](https://blog.chromium.org/2019/10/developers-get-ready-for-new.html)
**OpenId Connect impact**<br> [Upcoming SameSite Cookie Changes in ASP.NET and ASP.NET Core](https://devblogs.microsoft.com/aspnet/upcoming-samesite-cookie-changes-in-asp-net-and-asp-net-core/)
platform Manifest Schema https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/resources/schema/manifest-schema.md
The ID is a unique Microsoft-generated identifier for the app. You have an ID if
**Required** ΓÇö object
-Gives information about your company. For apps submitted to AppSource (formerly Office Store), these values must match the information in your AppSource entry. See the [publishing guidelines](~/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md) for additional information.
+Specifies information about your company. For apps submitted to the Teams store, these values must match the information in your store listing. For more information, see the [Teams store publishing guidelines](~/concepts/deploy-and-publish/appsource/publish.md).
|Name| Maximum size | Required | Description| |||||
platform Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/design/tabs.md
Notify users of tab activity one of the following ways:
## Best practices
+Use these recommendations to create a quality app experience.
+ ### Collaboration :::row:::
If you donΓÇÖt use Teams color tokens, your designs will be less scalable and ta
:::column-end::: :::row-end:::-
-## Validate your design
-
-If you plan to publish your app to AppSource, you should understand the design issues that commonly cause apps to fail during submission.
-
-> [!div class="nextstepaction"]
-> [Check design validation guidelines](../../concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md#validation-guidelines--most-failed-test-cases)
platform Content Page https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-tab-pages/content-page.md
A content page is a webpage that is rendered within the Teams client. Typically
This article is specific to using content pages as tabs; however the majority of the guidance here would apply regardless of how the content page is presented to the end-user.
-## Tab content and style guidelines
+## Tab content and design guidelines
-Your tab's overall objective should be to provide access to meaningful and engaging content that has a practical value and an evident purpose. That does not mean that you should forego a pleasing style, but you should focus on minimizing clutter by making your tab design clean, navigation intuitive, and content immersive. See [Content and conversations, all at once using tabs](~/tabs/design/tabs.md) and [Microsoft Teams app approval process guidance](~/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md)
+Your tab's overall objective should be to provide access to meaningful and engaging content that has a practical value and an evident purpose. That does not mean that you should forego a pleasing style, but you should focus on minimizing clutter by making your tab design clean, navigation intuitive, and content immersive.
+
+For more information, see the [tab design guidelines](~/tabs/design/tabs.md) and [Microsoft Teams store validation guidelines](~/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md)
## Integrate your code with Teams
platform Developer Tools https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/developer-tools.md
When Teams is running in a browser, it is easy to access the browser's DevTools:
> [!NOTE] > The feature is only available for desktop and Android clients after the **Developer Preview** has been enabled. For more information, see [How do I enable developer preview](~/resources/dev-preview/developer-preview-intro.md).
-## Access DevTools in the Desktop
+## Access DevTools on the desktop
While the web version and the desktop version of Teams are almost the same, there are some differences concerning authentication. Sometimes the only way to figure out what is going on is to use the DevTools. To use DevTools in the desktop client, you must: 1. Ensure you have enabled [developer preview](~/resources/dev-preview/developer-preview-intro.md). 1. Open up a tab so you have something to inspect with the DevTools.
-1. Open the DevTools in one of the following ways:
- * **Windows**: Select the Teams icon in the desktop tray.
- * **macOS**: Select the Teams icon in the Dock.
-
- The following image shows DevTools inspecting an element in a tab configuration dialog:
+1. Open the DevTools one of the following ways:
+ * On Windows, you open DevTools via the Microsoft Teams icon in the desktop tray:<br>
+ ![Right-click to open DevTools](~/assets/images/dev-preview/devtools-right-click.png)
+ * On MacOS, click on the Microsoft Teams icon in the Dock.
+
+The following example shows DevTools open and inspecting a tab configuration dialog:
![Tab and DevTools](~/assets/images/dev-preview/tab-and-devtools.png)
-## Access DevTools from an Android client
+## Access DevTools from an Android device
You can also enable the DevTools from the Teams Android client. To enable DevTools, you must:
platform What Are Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/what-are-tabs.md
Tabs are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML <iframe\> tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user. You can include custom tabs with your app to embed your own web content in Teams or add Teams-specific functionality to your web content. *See* [Teams JavaScript client SDK](/javascript/api/overview/msteams-client).
-> [!NOTE]
-> Chrome 80, scheduled for release in early 2020, introduces new cookie values and imposes cookie policies by default. It's recommended that you set the intended use for your cookies rather than rely on default browser behavior. *See* [SameSite cookie attribute (2020 update)](../resources/samesite-cookie-update.md).
- There are two types of tabs available in Teams ΓÇö channel/group and personal. Channel/group tabs deliver content to channels and group chats, and are a great way to create collaborative spaces around dedicated web-based content. Personal tabs, along with personally-scoped bots, are part of personal apps and are scoped to a single user. They can be pinned to the left navigation bar for easy access. ## Lesser known tab features
For channel/group tabs, you also need to create an additional configuration page
You can have multiple channels or group tabs, and up to sixteen personal tabs per app.
-## Mobile clients
+## Mobile considerations
If you choose to have your channel or group tab appear on Teams mobile clients, the `setSettings()` configuration must have a value for the `websiteUrl` property. To ensure optimal user experience, you must follow the [guidance for tabs on mobile](~/tabs/design/tabs-mobile.md) when creating your tabs.
-Apps that are [distributed through Appsource](~/concepts/deploy-and-publish/appsource/publish.md) have a separate approval process for mobile clients. The default behavior of such apps is as follows:
-
-| **Tab Type** | **Behavior of App if it is optimized for mobile clients** | **Behavior of App if it is not optimized for mobile clients** |
-|:--|:--|:--|
-| **Static Tabs** or **Personal Tabs**|App appears in the bottom bar of the mobile clients. The tabs open in an in-app webview within the Teams client. | App does not show up in mobile clients. |
-| **Configurable Tabs** | The tabs open in an in-app webview within the Teams client using the `contentUrl`. | Selecting **Tab** opens the content using the `websiteUrl` in the default web browser on the device. |
+Apps [distributed through the Teams store](~/concepts/deploy-and-publish/appsource/publish.md) have a separate approval process for mobile clients. The default behavior of such apps is as follows:
+| **App capability** | **Behavior if app is approved** | **Behavior if app is not approved** |
+| | | |
+| **Personal tabs** | App appears in the bottom bar of the mobile clients. Tabs open in the Teams client. | App does not appear in the bottom bar of the mobile clients. |
+| **Channel and group tabs** | The tab opens in the Teams client using `contentUrl`. | The tab opens in a browser outside the Teams client using `websiteUrl`. |
> [!NOTE] >
-> * [Apps submitted to the AppSource for publishing on Teams ](../concepts/deploy-and-publish/overview.md#publish-to-appsource) are evaluated automatically for mobile responsiveness. For any queries, reach out to teamsubm@microsoft.com.
-> * For all [apps that are not distributed through the AppSource](../concepts/deploy-and-publish/overview.md), the tabs open in an in-app webview within the Teams clients by default and there is no separate approval process required.
-
-> [!div class="nextstepaction"]
-> [Learn more: Request device permissions](../concepts/device-capabilities/native-device-permissions.md)
-
-> [!div class="nextstepaction"]
-> [Learn more: Integrate media capabilities](../concepts/device-capabilities/mobile-camera-image-permissions.md)
+> The default behavior of apps is only applicable if distributed through the Teams store. By default, all tabs open in the Teams client.
+> To initiate an evaluation of your app for mobile-friendliness, reach out to teamsubm@microsoft.com with your app details.
-> [!div class="nextstepaction"]
-> [Learn more: Integrate QR or barcode scanner capability in Teams](../concepts/device-capabilities/qr-barcode-scanner-capability.md)
+## See also
-> [!div class="nextstepaction"]
-> [Learn more: Integrate location capabilities in Teams](../concepts/device-capabilities/location-capability.md)
+* [Request device permissions](../concepts/device-capabilities/native-device-permissions.md)
+* [Integrate media capabilities](../concepts/device-capabilities/mobile-camera-image-permissions.md)
+* [Integrate a QR or barcode scanner](../concepts/device-capabilities/qr-barcode-scanner-capability.md)
+* [Integrate location capabilities](../concepts/device-capabilities/location-capability.md)
platform Design Effective Cards https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/task-modules-and-cards/cards/design-effective-cards.md
An Adaptive Card contains a freeform body of card elements and optional set of a
The Adaptive Card framework is used across many Microsoft products, including Teams. You can send cards inside messages to users via bots or messaging extensions. Users can take actions on cards when present. ## Microsoft Teams UI Kit
You also can start designing your Adaptive Cards directly in the browser.
Our largest card. Use for sharing articles or scenarios where an image tells most of the story. ### Thumbnail Use for sending a simple actionable message. ### List Use in scenarios where you want the user to pick an item from a list, but the items donΓÇÖt need a lot of explanation. ### Digest Use for news digests and round-up posts. Note: We recommend the thumbnail card for a single update or news item. ### Media Use when you want to combine text and media, like audio or video. ### People Best used when you to efficiently convey who's involved with a task. ### Request ticket Use to get quick inputs from a user to automatically create a task or ticket. ### ImageSet Use to send multiple image thumbnails. ### ActionSet Use when you want to the user to select a button, then gather addition user input from the same card. ### ChoiceSet Use to gather multiple inputs from the user. ## Anatomy Adaptive Cards have a lot of flexibility. But at minimum, we strongly suggest including the following components in every card:
Adaptive Cards have a lot of flexibility. But at minimum, we strongly suggest in
## Best practices
+Use these recommendations to create a quality app experience.
+ ### Primary and secondary actions :::row::: :::column span=""::: #### Do: Use up to six primary actions
While Adaptive Cards can support six primary actions, most cards donΓÇÖt need th
:::column-end::: :::column span=""::: #### Don't: Use more than six primary actions
Adaptive Cards should present quick, actionable content. Too many actions can ov
### Frequency #### Do: Be concise
platform Design Teams Task Modules https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/task-modules-and-cards/task-modules/design-teams-task-modules.md
This example shows poll results launched from an Adaptive Card. The poll can be
## Best practices
+Use these recommendations to create a quality app experience.
+ ### Usability :::row::: :::column span=""::: #### Do: Use one task module at a time
The goal is to focus the user on completing a task after all!
:::column-end::: :::column span=""::: #### Don't: Pop a dialog on top of a task module
This creates an unfocused, confusing user experience.
:::row::: :::column span=""::: #### Do: Make sure the content is responsive
While Adaptive Cards hosted in a task module render well on mobile devices, if y
:::column-end::: :::column span=""::: #### Don't: Use horizontal scroll bars
It's a best practice to keep content focused and not too lengthy. If a scroll is
:::row::: :::column span=""::: #### Do: Keep it short
You can easily create a multi-step wizard, but that doesn't necessarily mean you
:::column-end::: :::column span="":::
-#### Don't: Do long interactions
+#### Don't: Have long interactions
Try to keep your interactions short and to the point.
Try to keep your interactions short and to the point.
:::row::: :::column span=""::: #### Do: Use inline error messages
See the forms UI template for guidelines on inline error handling.
:::column-end::: :::column span=""::: #### Don't: Put error messages in dialogs
platform Get Started Dotnet App Studio https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tutorials/get-started-dotnet-app-studio.md
Last updated 11/09/2018
-# Create your first Teams app using C# or .NET
+# Create your first Teams app using C#
-This tutorial helps you to create a Microsoft Teams app using C# or .NET. To do this, you must:
+This tutorial helps you to create a Microsoft Teams app using C#. To do this, you must:
* Prepare your environment * Get prerequisites
Visual Studio has built-in support for app deployment to different providers, in
## Update the credentials for your hosted app
-The sample app requires the environment variables be set to the values that you saved in the text file.
+The sample app requires the environment variables to be set to the values that you saved in the text file.
Open the `appsettings.json` file. Update the **MicrosoftAppId** value with your bot ID that you saved in the text file. Update the **MicrosoftAppPassword** with the bot password you saved.
platform Whats New https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/whats-new.md
The change log lists changes to the Microsoft Teams platform and this document s
| **Date** | **Notes** | **Changed topics** | | -- | | |
+|04/30/2021|New guidance on how to publish apps to the Teams store.|[Publish your app to the Teams store](concepts/deploy-and-publish/appsource/publish.md), [Teams store validation guidelines](concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md) |
| 04/29/2021 | New: Universal Actions for Adaptive Cards. | [Universal Actions for Adaptive Cards](task-modules-and-cards/cards/universal-actions-for-adaptive-cards/overview.md) |
-|04/08/2021| App customization feature is now available in developer preview.|[Design teams app overview](concepts/design/design-teams-app-overview.md#app-customization), [App studio overview](concepts/build-and-test/app-studio-overview.md#connectors), and [Manifest schema](resources/schem) |
+|04/08/2021| App customization feature is now available in developer preview.|[Design Teams app overview](concepts/design/design-teams-app-overview.md#app-customization), [App Studio overview](concepts/build-and-test/app-studio-overview.md#connectors), and [manifest schema](resources/schem) |
|03/18/2021|Notice: Update to version 4.10 or above of the Bot Framework SDK, as we've started with the deprecation process for `TeamsInfo.getMembers` and `TeamsInfo.GetMembersAsync`. | [Bot API Changes for Team/Chat Members](resources/team-chat-member-api-changes.md) | |03/05/2021|Notice: Tabs will no longer have margins surrounding their experiences. Tab developers should review and update their apps. | [Removing tab margins](resources/removing-tab-margins.md) | |03/05/2021|Default install scope and group capability is in developer preview.| [Default install scope and group capability](concepts/deploy-and-publish/add-default-install-scope.md) |
The change log lists changes to the Microsoft Teams platform and this document s
|08/06/2020|Support for Tabs SSO authentication|[Develop an SSO Microsoft Teams Tab](tabs/how-to/authentication/auth-aad-sso.md#develop-an-sso-microsoft-teams-tab) | |07/27/2020 | Graph proactive bots and messages (Public Preview)|[Enable proactive bot installation and proactive messaging in Teams with Microsoft Graph](graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md)| | 07/22/2020 |Mobile device capability updates.|[Request device permissions for your Microsoft Teams tab](concepts/device-capabilities/native-device-permissions.md) |
-|07/20/2020|Teams App Validation Tool for AppSource submissions.|[Teams App Validation Tool](concepts/deploy-and-publish/appsource/prepare/submission-checklist.md#teams-app-validation-tool)
+|07/20/2020|Teams App Validation Tool for AppSource submissions.|[Teams app package validation tool](concepts/deploy-and-publish/appsource/prepare/submission-checklist.md#validate-your-app-package)
|07/15/2020|Create a virtual assistant for Teams|[Virtual Assistant for Microsoft Teams](samples/virtual-assistant.md)| |07/14/2020|Surfacing a native loading indicator documentation|[Showing a native loading indicator](tabs/how-to/create-tab-pages/content-page.md#show-a-native-loading-indicator) |07/01/2020|Get started building Teams apps with the Visual Studio Code Toolkit.|[Build apps with the Microsoft Teams Toolkit and Visual Studio Code](toolkit/visual-studio-code-overview.md) |