Updates from: 03/20/2022 02:38:07
Service Microsoft Docs article Related commit history on GitHub Change details
README https://github.com/MicrosoftDocs/msteams-docs/commits/main/README.md
Microsoft Teams is a cloud-based communications platform that combines different services for collaboration, such as chat, meetings, calling, and files. Teams is well integrated into Microsoft 365 and combines multiple workloads into a unified communication and collaboration system. In addition, Teams offers integration capabilities for other tools and third-party products.
-Get documentation, sample code, tutorials, and more to help you build custom Microsoft Teams apps. See [Microsoft Teams developer documentation](https://docs.microsoft.com/en-us/microsoftteams/platform/mstdd-landing/).
+Get documentation, sample code, tutorials, and more to help you build custom Microsoft Teams apps. See [Microsoft Teams developer documentation](https://docs.microsoft.com/microsoftteams/platform/mstdd-landing/).
## How to contribute
-Teams documentation is part of the Microsoft Docs technical documentation library. The content is organized into groups called docsets, each representing a group of related documents managed as a single entity. You can ask questions, provide suggestion, or provide updates. See [how to contribute to Teams documentation](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/teams-contributor-reference/).
+Teams documentation is part of the Microsoft Docs technical documentation library. The content is organized into groups called docsets, each representing a group of related documents managed as a single entity. You can ask questions, provide suggestion, or provide updates. See [how to contribute to Teams documentation](https://docs.microsoft.com/microsoftteams/platform/resources/teams-contributor-reference/).
-To contribute to any Microsoft docs, see the [contributor guide overview](https://docs.microsoft.com/en-us/contribute/).
+To contribute to any Microsoft docs, see the [contributor guide overview](https://docs.microsoft.com/contribute/).
-To know more about Microsoft standards and style guide, see [Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/welcome/).
+To know more about Microsoft standards and style guide, see [Microsoft style guide](https://docs.microsoft.com/style-guide/welcome/).
Most contributions require you to agree to a **Contributor License Agreement (CLA)** declaring that you have the right to contribute and grant us the rights to use your contribution. See [CLA](https://cla.microsoft.com/).
This project adopts the [Microsoft Open Source code of conduct](https://opensour
## Learning resources
-* [Teams Toolkit fundamentals](https://docs.microsoft.com/en-us/microsoftteams/platform/toolkit/teams-toolkit-fundamentals/)
-* [Teams Toolkit for Visual Studio](https://docs.microsoft.com/en-us/microsoftteams/platform/toolkit/visual-studio-overview/)
-* [TeamsFx SDK for TypeScript or JavaScript](https://docs.microsoft.com/en-us/microsoftteams/platform/toolkit/teamsfx-sdk/)
-* [Teams JavaScript client SDK](https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/how-to/using-teams-client-sdk/) and [Teams JavaScript client SDK v2 preview](https://docs.microsoft.com/en-us/microsoftteams/platform/m365-apps/using-teams-client-sdk-preview?tabs=manifest-teams-toolkit%2Cjavascript/)
-* [Microsoft Graph SDKs](https://docs.microsoft.com/en-us/graph/sdks/sdks-overview/)
-* [Bots SDK (v3)](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/bot-v3/bots-overview/)
-* [Messaging extensions SDK (v3)](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/messaging-extension-v3/messaging-extensions-overview/)
+* [Teams Toolkit fundamentals](https://docs.microsoft.com/microsoftteams/platform/toolkit/teams-toolkit-fundamentals/)
+* [Teams Toolkit for Visual Studio](https://docs.microsoft.com/microsoftteams/platform/toolkit/visual-studio-overview/)
+* [TeamsFx SDK for TypeScript or JavaScript](https://docs.microsoft.com/microsoftteams/platform/toolkit/teamsfx-sdk/)
+* [Teams JavaScript client SDK](https://docs.microsoft.com/microsoftteams/platform/tabs/how-to/using-teams-client-sdk/) and [Teams JavaScript client SDK v2 preview](https://docs.microsoft.com/microsoftteams/platform/m365-apps/using-teams-client-sdk-preview?tabs=manifest-teams-toolkit%2Cjavascript/)
+* [Microsoft Graph SDKs](https://docs.microsoft.com/graph/sdks/sdks-overview/)
+* [Bots SDK (v3)](https://docs.microsoft.com/microsoftteams/platform/resources/bot-v3/bots-overview/)
+* [Messaging extensions SDK (v3)](https://docs.microsoft.com/microsoftteams/platform/resources/messaging-extension-v3/messaging-extensions-overview/)
-See [additional Git and GitHub resources](https://docs.microsoft.com/en-us/contribute/additional-resources).
+See [additional Git and GitHub resources](https://docs.microsoft.com/contribute/additional-resources).
platform Apps Localization https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/apps-localization.md
The images that you upload with the English language are used in AppSource.
## Localize strings in your app manifest
-You must use the Microsoft Teams app schema `v1.5` and later to localize your app. You can do this by setting the `$schema` attribute in your manifest.json file to **https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json** or higher and updating the `manifestVersion` property to `$schema` version (`1.5` in this case).
+You must use the Microsoft Teams app schema `v1.5` and later to localize your app. You can do this by setting the `$schema` attribute in your manifest.json file to `https://developer.microsoft.com/json-schemas/teams/v1.5/MicrosoftTeams.schema.json` or higher and updating the `manifestVersion` property to `$schema` version (`1.5` in this case).
You must add the `localizationInfo` property with the default language that your application supports. The default language is used as the final fallback language if the user's client settings do not match with any of your additional languages.
The following manifest.json helps to add the `localizationInfo` property with th
```json {
- "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
+ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
"manifestVersion": "1.5", "localizationInfo": { "defaultLanguageTag": "en",
Following is an example for localization .json:
```json {
- "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.Localization.schema.json",
+ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.5/MicrosoftTeams.Localization.schema.json",
"manifestVersion": "1.5", "name.short": "Localizaci├│n", "name.full": "Aplicaci├│n de localizaci├│n",
If the user's language is set to 'en-ca', the following changes take place based
If the user's language is set to 'es-es', the Teams client takes the 'fr' strings. The Teams client does not override the strings with any of the language files as no 'es' or 'es-es' translation is provided.
-Therefore, you must provide top level, language only translations in your manifest. For example, 'en' instead of 'en-us'. You must provide region level overrides only for the few strings that need them.
+Therefore, you must provide top level, language only translations in your manifest. For example, `en` instead of `en-us`. You must provide region level overrides only for the few strings that need them.
### Example manifest.json change
The manifest.json change is shown in the following example:
```json {
- "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.Localization.schema.json",
+ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.Localization.schema.json",
"name.short": "Le App", "name.full": "App pour Microsoft Teams", "description.short": "Créez d'excellentes applications pour Microsoft Teams avec App.",
platform Apps Upload https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/apps-upload.md
To remove your app, right click the app icon in Teams and select **Uninstall**.
## Next step > [!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)
+> [Use your Teams app](https://support.microsoft.com/office/apps-and-services-cc1fba57-9900-4634-8306-2360a40c665b)
## See also
platform Teams Store Validation Guidelines https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
If your app supports localization, your app package must include a file with lan
## Apps linked to SaaS offer * ISVs must support the ability for multiple users (Subscribers) in the same tenant to manage their own subscription and assign licenses to users in the tenant.
-* The offer must meet all the [technical requirements](/microsoftteams/platform/concepts/deploy-and-publish/appsource/prepare/include-saas-offer?branch=pr-en-us-2759) for Teams apps linked to a SaaS offer.
+*
+ The offer must meet all the [technical requirements](/microsoftteams/platform/concepts/deploy-and-publish/appsource/prepare/include-saas-offer) for Teams apps linked to a SaaS offer.
* The Teams apps linked to SaaS offer must meet all the requirements defined in [1000 Software as a Service (SaaS)](/legal/marketplace/certification-policies#1000-software-as-a-service-saas). * `subscriptionOffer` details mentioned in the manifest file must be correct. In your app manifest, add or update node `subscriptionOffer` with value `publisherId.offerId`. For example, if your publisher ID is `contoso1234` and your offer ID is `offer01`, the value that you specify in your app manifest must be `contoso1234.offer01`. * Linked SaaS offer to the Teams app must be live in AppSource and preview offers aren't accepted for store approval.
If your app supports localization, your app package must include a file with lan
* Provide introduction to subscribers on how to use the product. * Allow the subscriber to assign licenses.
-* Provide different ways to engage with support for issues, such as FAQ, knowledgebase, and email address.
+* Provide different ways to engage with support for issues, such as FAQ, knowledge base, and email address.
* Validate users to ensure that they donΓÇÖt already have license assigned through another user. * Notify users after license assignment. * Guide users through Teams chat bot or email, on how to add the app to Teams and get started.
If your app supports localization, your app package must include a file with lan
### Usability and functionality * After successful purchase and assignment of licenses, you must provide the following:
- * Access to users for subscribed plan features.
- * Value addition and significant benefits of subscription plan to users.
+* Access to users for subscribed plan features.
+* Value addition and significant benefits of subscription plan to users.
* From your Teams app, provide link to the SaaS application home page for subscribers to manage the licenses in the future. ### Configure and test SaaS application
platform Location Capability https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/location-capability.md
Update your Teams app [manifest.json](../../resources/schem#
``` > [!NOTE]
->
> * The **Request Permissions** prompt is automatically displayed when a relevant Teams API is initiated. For more information, see [request device permissions](native-device-permissions.md). > * Device permissions are different in the browser. For more information, see [browser device permissions](browser-device-permissions.md).
platform Native Device Permissions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/native-device-permissions.md
By accessing the device capabilities, you can build richer experiences on the Te
* Use the location information of the user to display relevant information. > [!NOTE]
->
> * Currently, Teams doesn't support device permissions for multi-window apps, tabs, and the meeting side panel. > * Device permissions are different in the browser. For more information, see [browser device permissions](browser-device-permissions.md).
platform Glossary https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/glossary.md
Common terms and definitions used in Teams Developer Documentation.
| [Teams Toolkit](../toolkit/teams-toolkit-fundamentals.md) | The Microsoft Teams Toolkit enables you to create custom Teams apps directly within the Visual Studio Code environment. | | [TeamsFx](../toolkit/teamsfx-cli.md) | TeamsFx is a text-based command line interface that accelerates Teams application development. It's also called TeamsFx CLI.| | [TeamsFx SDK](../toolkit/teamsfx-sdk.md) | TeamsFx SDK is pre-configured in scaffolded project using TeamsFx toolkit or CLI. |
+| [TeamsJS SDK](../tabs/how-to/using-teams-client-sdk.md) | TeamsJS SDK enables you to create hosted experiences in Teams. The functionalities in [latest version](~/m365-apps/using-teams-client-sdk-preview.md) extend Teams app to run in Outlook and Office. |
| [Teams Mobile](../concepts/design/plan-responsive-tabs-for-teams-mobile.md) | Microsoft Teams available as a mobile app. | | [Teams store](../concepts/deploy-and-publish/appsource/publish.md) | A store landing page that brings apps to users in a single place. The apps are categorized by usage, industry, and more. An app must follow Store validation guidelines and obtain an approval before it's available to users via the Teams store. <br>**See also**: [Store validation guidelines](#s) | | [Teams workbench](../sbs-gs-spfx.yml) | A workbench in Visual Studio Code used at build for Teams apps created using SPFx and Teams Toolkit. <br>**See also**: [Workbench](#w); [Local workbench](#l) |
platform Azure Bot Channels Registration https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/bots/azure-bot-channels-registration.md
After Azure has created the registration resource it will be included in the res
Once your bot channels registration is created, you'll need to enable the Teams channel. 1. In the [Azure portal](https://ms.portal.azure.com/#home), under Azure services, select the **Bot Channel Registration** you just created.
-1. In the left panel, click **Channels**.
-1. Click the Microsoft Teams icon, then choose **Save**.
+1. In the left panel, select **Channels**.
+1. Select the Microsoft Teams icon, then choose **Save**.
platform Dotnet Core Prereq https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/tabs/dotnet-core-prereq.md
## Prerequisites - To complete this quickstart you'll need a Microsoft 365 tenant and a team configured with *Allow uploading custom apps* enabled. To learn more, see [Prepare your Microsoft 365 tenant](~/concepts/build-and-test/prepare-your-o365-tenant.md).
- - If you don't currently have a Microsoft 365 account, you can sign up for a free subscription through the [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program). The subscription will remain active as long as you're using it for ongoing development.
+ - If you don't currently have a Microsoft 365 account, you can sign up for a free subscription through the [Microsoft Developer Program](https://developer.microsoft.com/microsoft-365/dev-program). The subscription will remain active as long as you're using it for ongoing development.
- You'll use App Studio to import your application to Teams. To install App Studio select **Apps** ![Store App](~/assets/images/tab-images/storeApp.png) at the bottom-left corner of the Teams app, and search for App Studio. Once you find the tile, select it and choose install in the pop-up window dialog box.
platform Invoking Task Modules https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/task-modules/invoking-task-modules.md
The next section provides details on using a keyboard with your app's task modul
With HTML or JavaScript-based task modules, you must ensure your app's task module can be used with a keyboard. Screen reader programs also depend on the ability to navigate using the keyboard. This includes the following two things:
-* Using the [tabindex attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) in your HTML tags to control which elements can be focused. Also, use tabindex attribute to identify where it participates in sequential keyboard navigation usually with the <kbd>Tab</kbd> and <kbd>Shift-Tab</kbd> keys.
+* Using the [tabindex attribute](https://developer.mozilla.org/docs/Web/HTML/Global_attributes/tabindex) in your HTML tags to control which elements can be focused. Also, use tabindex attribute to identify where it participates in sequential keyboard navigation usually with the <kbd>Tab</kbd> and <kbd>Shift-Tab</kbd> keys.
* Handling the <kbd>Esc</kbd> key in the JavaScript for your task module. The following code provides an example of how to handle the <kbd>Esc</kbd> key: ```javascript
platform Provision https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/provision.md
TeamsFx integrates with Azure and Microsoft 365 cloud, which allows you to place
Provision is performed with single command in Teams Toolkit for Visual Studio Code or TeamsFx CLI as follows:
-[Provision Azure-based app](/microsoftteams/platform/sbs-gs-javascript?tabs=vscode%2Cvsc%2Cviscode%2Cvcode&tutorial-step=8&branch)
+[Provision Azure-based app](/microsoftteams/platform/sbs-gs-javascript?tabs=vscode%2Cvsc%2Cviscode%2Cvcode&tutorial-step=8)
## Resource creation
The following table provides a list of available predefined parameters:
| simpleAuthWebAppName | ${resourceBaseName}simpleAuth | Name of simple auth web app | 2-60 alphanumerics and hyphens <br /> Cannot start or end with hyphen | | simpleAuthSku | F1 | SKU of simple auth app service plan | Not applicable | | frontendHostingStorageName | ${resourceBaseName}tab | Name of frontend hosting storage account | 3-24 lowercase letters and numbers |
-| frontendHostingStorageSku | Standard_LRS | SKU of frontend hosting storage account |[Available SKUs](/azure/templates/microsoft.storage/storageaccounts?tabs=bicep&branch)|
+| frontendHostingStorageSku | Standard_LRS | SKU of frontend hosting storage account |[Available SKUs](/azure/templates/microsoft.storage/storageaccounts?tabs=bicep)|
| functionServerfarmsName | ${resourceBaseName}api | Name of function apps service plan | 1-40 alphanumerics and hyphens | | functionServerfarmsSku | Y1 | SKU of function apps service plan | Not applicable| | functionAppName | ${resourceBaseName}api | Name of function app | 2-60 alphanumerics and hyphens <br /> Cannot start or end with hyphen | | functionStorageName | ${resourceBaseName}api | Name of function app's storage account | 3-24 lowercase letters and numbers |
-| functionStorageSku | Standard_LRS | SKU of function app's storage account | [Available SKUs](/azure/templates/microsoft.storage/storageaccounts?tabs=bicep&branch=pr-en-us-4713) |
+| functionStorageSku | Standard_LRS | SKU of function app's storage account | [Available SKUs](/azure/templates/microsoft.storage/storageaccounts?tabs=bicep) |
| botServiceName | ${resourceBaseName} | Name of Azure bot service | 2-64 alphanumerics, underscores, periods, and hyphens <br /> Start with alphanumeric |
-| botServiceSku | F0 | SKU of Azure bot service | [Available SKUs](/azure/templates/microsoft.botservice/2021-05-01-preview/botservices?tabs=bicep&branch) |
+| botServiceSku | F0 | SKU of Azure bot service | [Available SKUs](/azure/templates/microsoft.botservice/2021-05-01-preview/botservices?tabs=bicep) |
| botDisplayName | ${resourceBaseName} | Display name of your bot | 1-42 characters | | botServerfarmsName | ${resourceBaseName}bot | Name of bot's app service plan | 1-40 alphanumerics and hyphens | | botWebAppName | ${resourceBaseName}bot | Name of bot's web app | 2-60 alphanumerics and hyphens <br /> Cannot start or end with hyphen |
The following table provides a list of available predefined parameters:
| sqlDatabaseName | ${resourceBaseName} | Name of Azure SQL database | 1-128 characters, can't use <>*%&:\/? or control characters <br /> Can't end with period or space | | sqlDatabaseSku | Basic | SKU of Azure SQL database | Not applicable | | apimServiceName | ${resourceBaseName} | Name of APIM service | 1-50 alphanumerics and hyphens <br /> Start with letter and end with alphanumeric |
-| apimServiceSku | Consumption | SKU of APIM service | [Available SKUs](/azure/templates/microsoft.apimanagement/service?tabs=bicep&branch) |
+| apimServiceSku | Consumption | SKU of APIM service | [Available SKUs](/azure/templates/microsoft.apimanagement/service?tabs=bicep) |
| apimProductName | ${resourceBaseName} | Name of APIM product | 1-80 alphanumerics and hyphens <br /> Start with letter and end with alphanumeric | | apimOauthServerName | ${resourceBaseName} | Name of APIM OAuth server | 1-80 alphanumerics and hyphens <br /> Start with letter and end with alphanumeric | | keyVaultSkuName | standard | SKU name of Azure Key Vault Service| |
The following example reads the value of `mySelfHostedDbConnectionString` parame
#### Customize ARM template files
-If the predefined templates doesn't meet your application requirement, you can customize the ARM templates under `templates/azure` folder. For example, you can customize the ARM template to create some additional Azure resources for your app. You need to have basic knowledge of bicep language, which is used to author ARM template. You can get started with bicep at [bicep documentation](/azure/azure-resource-manager/bicep/?branch).
+If the predefined templates doesn't meet your application requirement, you can customize the ARM templates under `templates/azure` folder. For example, you can customize the ARM template to create some additional Azure resources for your app. You need to have basic knowledge of bicep language, which is used to author ARM template. You can get started with bicep at [bicep documentation](/azure/azure-resource-manager/bicep/).
> [!NOTE]
-> The ARM template is shared by all environments. You can use [conditional deployment](/azure/azure-resource-manager/bicep/conditional-resource-deployment?branch) if the provision behavior varies between environments.
+> The ARM template is shared by all environments. You can use [conditional deployment](/azure/azure-resource-manager/bicep/conditional-resource-deployment) if the provision behavior varies between environments.
To ensure the TeamsFx tool functions properly, ensure you customize ARM template, which satisfies the following requirement. If you use other tool for further development, you can ignore these requirements.
Before provision, the tool will ask you if you want to create a new resource gro
<summary><b>How can I provision sharepoint-based app?</b></summary>
-You can follow [provision SharePoint-based app](/microsoftteams/platform/sbs-gs-spfx?tabs=vscode%2Cviscode&tutorial-step=4&branch).
+You can follow [provision SharePoint-based app](/microsoftteams/platform/sbs-gs-spfx?tabs=vscode%2Cviscode&tutorial-step=4).
> [!NOTE] > Currently, the building Teams app with sharepoint framework with Teams Toolkit doesn't have direct integration with Azure, the contents in the doc doesn't apply to SPFx based apps.
platform Connectors Creating https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md
Run the following commands in Exchange Online PowerShell:
* `Set-OrganizationConfig -ConnectorsEnabledForTeams:$true` * `Set-OrganizationConfig -ConnectorsActionableMessagesEnabled:$true`
-For more information on PowerShell module exchange, see [Set-OrganizationConfig](/powershell/module/exchange/Set-OrganizationConfig?view=exchange-ps&preserve-view=true). To enable or disable Outlook connectors, [connect apps to your groups in Outlook](https://support.microsoft.com/topic/connect-apps-to-your-groups-in-outlook-ed0ce547-038f-4902-b9b3-9e518ae6fbab?ui=en-us&rs=en-us&ad=us).
+For more information on PowerShell module exchange, see [Set-OrganizationConfig](/powershell/module/exchange/Set-OrganizationConfig?view=exchange-ps&preserve-view=true). To enable or disable Outlook connectors, [connect apps to your groups in Outlook](https://support.microsoft.com/topic/connect-apps-to-your-groups-in-outlook-ed0ce547-038f-4902-b9b3-9e518ae6fbab).
## Test your connector
The connector is available in the section &#9679;&#9679;&#9679; > **More options
## Distribute webhook and connector
-1. [Set up an Incoming Webhook](~/webhooks-and-connectors/how-to/add-incoming-webhook.md?branch=pr-en-us-3076#create-an-incoming-webhook) directly for your team.
-1. Add a [configuration page](~/webhooks-and-connectors/how-to/connectors-creating.md?branch=pr-en-us-3076#integrate-the-configuration-experience) and [publish your Incoming Webhook](~/webhooks-and-connectors/how-to/connectors-creating.md?branch=pr-en-us-3076#publish-connectors-for-the-organization) in a Office 365 Connector.
+1. [Set up an Incoming Webhook](~/webhooks-and-connectors/how-to/add-incoming-webhook.md#create-an-incoming-webhook) directly for your team.
+1. Add a [configuration page](~/webhooks-and-connectors/how-to/connectors-creating.md?#integrate-the-configuration-experience) and [publish your Incoming Webhook](~/webhooks-and-connectors/how-to/connectors-creating.md#publish-connectors-for-the-organization) in a Office 365 Connector.
1. Package and publish your connector as part of your [AppSource](~/concepts/deploy-and-publish/office-store-guidance.md) submission. ## Code sample