Updates from: 10/08/2022 02:37:02
Service Microsoft Docs article Related commit history on GitHub Change details
platform Enable And Configure Your App For Teams Meetings https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
The meetings app capabilities are declared in your app manifest using the `confi
> * Apps in meetings require `groupchat` or `team` scope. The `team` scope works for tabs in channels or channel meetings. > * To support adding tabs in scheduled channel meetings, specify **team** scope in **scopes** section in your app manifest. Without **team** scope the app would not appear in the flyout for channel meetings. > * Apps in meetings can use the following contexts: `meetingChatTab`, `meetingDetailsTab`, `meetingSidePanel` and `meetingStage`.
+> * The delegated RSC permissions `MeetingStage.Write.Chat` and `ChannelMeetingStage.Write.Group` are required in the manifest to enable meeting stage sharing.
The following code snippet is an example of a configurable tab used in an app for Teams meetings:
platform M365 Plugins Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/m365-plugins/m365-plugins-overview.md
The following table lists the plugins and GitHub labels to be used based on the
|[**Microsoft 365 integration**](#microsoft-365-integration)|Create Teams instances for each course in Moodle, and sync faculty as owners, and students as team members.|local_o365| |[**Microsoft 365 Repository**](#microsoft-365-repository) |Supports Microsoft 365 OneDrive content for file repositories to reduce storage needs in Moodle.| repository_office 365| |[**Teams Meeting**](#teams-meetings) |Enables Atto editor in Moodle to create Teams meeting links.|atto_teamsmeeting |
-|[**Teams Theme**](#microsoft-365-teams-theme)| Remove Moodle blocks and extra chrome within the Moodle iframes for Teams, which applies while mapping courses to Teams instances.| themeboost_o365teams |
+|[**Teams Theme**](#microsoft-365-teams-theme)| Remove Moodle blocks and extra chrome within the Moodle iFrames for Teams, which applies while mapping courses to Teams instances.| themeboost_o365teams |
|[**OneNote**](#onenote-integration)| Enable OneNote to be used for assignment, submission, and feedback.|local_onenote, assignsubmission_onenote, and assignfeedback_onenote </br>| |[**Microsoft Block**](#microsoft-block) | Enables Microsoft 365 quick access blocks within Moodle with links to Microsoft 365 collaboration services and install links for Microsoft Office.|block_microsoft | |[**oEmbed Filter**](#oembed-filter) | Enable video links in Moodle.|Filter_oembed|
platform Manifest Schema https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md
The item is an array (maximum of only one element&mdash;currently only one bot i
### bots.commandLists
-A list of commands that your bot can recommend to users. The object is an array (maximum of two elements) with all elements of type `object`; you must define a separate command list for each scope that your bot supports. For more information,see [Bot menus](~/bots/how-to/create-a-bot-commands-menu.md).
+A list of commands that your bot can recommend to users. The object is an array (maximum of two elements) with all elements of type `object`; you must define a separate command list for each scope that your bot supports. For more information, see [Bot menus](~/bots/how-to/create-a-bot-commands-menu.md).
|Name| Type| Maximum size | Required | Description| ||||||
Specify the app's Graph connector configuration. If this is present, then [webAp
Indicates if or not to show the loading indicator when an app or tab is loading. Default is **false**. >[!NOTE]
->If you select`showLoadingIndicator` as true in your app manifest, to load the page correctly, modify the content pages of your tabs and task modules as described in [Show a native loading indicator](../../tabs/how-to/create-tab-pages/content-page.md#show-a-native-loading-indicator) document.
+>If you select `showLoadingIndicator` as true in your app manifest, to load the page correctly, modify the content pages of your tabs and task modules as described in [Show a native loading indicator](../../tabs/how-to/create-tab-pages/content-page.md#show-a-native-loading-indicator) document.
## isFullScreen
platform App Templates https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/app-templates.md
The following table describes App template code samples:
|Incident Reporter | Incident Reporter is a [Microsoft Teams bot](../bots/what-are-bots.md) that optimizes the management of incidents in your organization. The bot facilitates automated incident data collection, customized incident reports, relevant stakeholder notifications, and end-to-end incident tracking.|[Incident Reporter](https://github.com/OfficeDev/microsoft-teams-apps-incidentreport) | | Inspection|Inspection is a Teams app that enables front line workers to inspect anything from locations to assets and equipments. For example, a retail store, manufacturing plant, or vehicles and machines. There are two apps in this solution, each intended for different types of users. The app empowers the front line workers to inspect an asset or area, to manage quality of products and services, or maintain safety at workplace. It facilitates communication between team members to address issues found during inspection. The app provides simple reports for managers to expedite issue resolution and highlight trends. |[Inspection](https://github.com/OfficeDev/microsoft-teams-apps-inspection) | |Issue Reporting |The Issue Reporting app empowers the employees and managers to raise and manage issues. It consists of two apps, Issue reporting app for reporting issues and Manage Issues app for managing issues. The team managers use the Manage Issues app to configure the app experience, including the channel in which Teams messages and Planner tasks are created by the app. Managers also use the app to create template forms to collect details when a user reports an issue. For example, review, edit, or delete issue template forms. The app is also used to review team issues, report on issue history, and efficiently manage issue resolution. The employees use the Issue reporting app to log issues and details required to resolve them. The app is also used to modify and resolve existing issues and get a high-level view of individual or team issues. |[Issue Reporting](https://github.com/OfficeDev/microsoft-teams-apps-issuereporting) |
-| New Employee Onboarding| New Employee Onboarding is an integrated Teams and [SharePoint New Employee Onboarding Solution](https://lookbook.microsoft.com/details/75e60a32-9849-4ed4-b83e-b2b08983ad19)that enables your organization to provide a consistent, high-quality onboarding experience for employees on their new-hire journey. The app is used by human resource teams and hiring managers to provide relevant information throughout the orientation and induction process and by new hires to share feedback, provide introductions, and complete onboarding tasks.|[New Employee Onboarding](https://github.com/OfficeDev/microsoft-teams-apps-newemployeeonboarding) |
+| New Employee Onboarding| New Employee Onboarding is an integrated Teams and [SharePoint New Employee Onboarding Solution](https://lookbook.microsoft.com/details/75e60a32-9849-4ed4-b83e-b2b08983ad19) that enables your organization to provide a consistent, high-quality onboarding experience for employees on their new-hire journey. The app is used by human resource teams and hiring managers to provide relevant information throughout the orientation and induction process and by new hires to share feedback, provide introductions, and complete onboarding tasks.|[New Employee Onboarding](https://github.com/OfficeDev/microsoft-teams-apps-newemployeeonboarding) |
| Open Badges| Open Badges is a Teams app that enables individuals to earn digital learning credential badges within the Teams context and share them everywhere. Using capabilities from the third-party digital badge issuing authority, [Badgr](https://badgr.org/), awarded badges are recorded in a recipient's Badgr profile and available to build and share a rich picture of lifetime learning journeys.|[Open Badges](https://github.com/OfficeDev/microsoft-teams-apps-openbadges) | | Poll| Poll is a custom Teams [message extension](../messaging-extensions/what-are-messaging-extensions.md) app that enables you to quickly create and send polls in a chat or a channel to gather team opinions and preferences. The app is supported across all Teams platform clients, such as desktop, browser, iOS, and Android and is ready for deployment as part of your Microsoft 365 subscription.|[Poll](https://github.com/OfficeDev/microsoft-teams-poll-app) | | Quick Responses| Quick Responses is a Teams app that delivers a robust solution for effectively answering users' commonly asked questions FAQs. Instead of answering each query manually and continuously repeating information, the app builds a library of responses for an interactive user experience through Teams [message extensions](../messaging-extensions/what-are-messaging-extensions.md).|[Quick Responses](https://github.com/OfficeDev/microsoft-teams-apps-quickresponses) |
platform App With Collaboration Controls https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/app-with-collaboration-controls.md
Approvals allow users to request sign out from others when working in a record.
:::image type="content" source="../assets/images/collaboration-control/approval-request-form.png" alt-text="Screenshot is an example that shows the new approval request form.":::
-1. In the Approval request form, fill the required fields and select **Send**,which creates a request and added to the list.
+1. In the Approval request form, fill the required fields and select **Send**, which creates a request and added to the list.
:::image type="content" source="../assets/images/collaboration-control/approvals-list.png" alt-text="Screenshot is an example that shows the list of approvals.":::
platform Virtual Assistant https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/virtual-assistant.md
For more information,, refer [this](/microsoftteams/platform/samples/virtual-ass
} ```
-You can also leverage existing skills from [Bot Framework Solutions repository](https://github.com/microsoft/botframework-components/tree/main/skills/csharp) or create a new skill altogether from scratch. For creating a new skill, see [tutorials to create a new skill](https://microsoft.github.io/botframework-solutions/overview/skills/). For Virtual Assistant and skills architecture documentation, see[Virtual Assistant and skills architecture](/azure/bot-service/skills-conceptual?view=azure-bot-service-4.0&preserve-view=true).
+You can also leverage existing skills from [Bot Framework Solutions repository](https://github.com/microsoft/botframework-components/tree/main/skills/csharp) or create a new skill altogether from scratch. For creating a new skill, see [tutorials to create a new skill](https://microsoft.github.io/botframework-solutions/overview/skills/). For Virtual Assistant and skills architecture documentation, see [Virtual Assistant and skills architecture](/azure/bot-service/skills-conceptual?view=azure-bot-service-4.0&preserve-view=true).
## Limitations of Virtual Assistant
platform Build Adaptive Card Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/build-adaptive-card-tabs.md
When developing a tab using the traditional method, you might run into these iss
* iFrame constraints * Server maintenance and costs
-Adaptive Card tabs are a new way to build tabs in Teams. Instead of embedding web content in an IFrame, you can render Adaptive Cards to a tab. While the front end is rendered with Adaptive Cards, the backend is powered by a bot. The bot is responsible for accepting requests and responding appropriately with the Adaptive Card that is rendered.
+Adaptive Card tabs are a new way to build tabs in Teams. Instead of embedding web content in an iFrame, you can render Adaptive Cards to a tab. While the front end is rendered with Adaptive Cards, the backend is powered by a bot. The bot is responsible for accepting requests and responding appropriately with the Adaptive Card that is rendered.
You can build your tabs with ready-made user interface (UI) building blocks native on desktop, web, and mobile. This article helps you understand the changes required to be made to the app manifest. The article also identifies how the invoke activity requests and sends information in tab with Adaptive Cards, and its effect on the task module workflow.
platform Create Personal Tab https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-personal-tab.md
Create a content page and update the existing files of the personal tab applicat
1. Save the updated `manifest.json` file.
-1. Open **Tab.ts** in your Visual Studio Code from the following path to provide your content page in an IFrame:
+1. Open **Tab.ts** in your Visual Studio Code from the following path to provide your content page in an iFrame:
```bash ./src/server/<yourDefaultTabNameTab>/<yourDefaultTabNameTab>.ts ```
-1. Add the following to the list of IFrame decorators:
+1. Add the following to the list of iFrame decorators:
```typescript @PreventIframe("/<yourDefaultTabName Tab>/personal.html")
This folder contains the following required app package files:
* A **transparent outline icon** measuring 32 x 32 pixels. * A `manifest.json` file that specifies the attributes of your app.
-These files must be zipped in an app package for use in uploading your tab to Teams. Teams loads the `contentUrl` specified in your manifest, embeds it in an IFrame, and renders it in your tab.
+These files must be zipped in an app package for use in uploading your tab to Teams. Teams loads the `contentUrl` specified in your manifest, embeds it in an iFrame, and renders it in your tab.
#### .csproj
platform Removal Page https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-tab-pages/removal-page.md
When your tab is uploaded to a channel or group chat, Teams adds a right-click d
| `canUpdateConfiguration`| true | false | description | | -- | :-: | -- | -- |
-| Settings | √ | |The `configurationUrl` page is reloaded in an IFrame allowing the user to reconfigure the tab. |
+| Settings | √ | |The `configurationUrl` page is reloaded in an iFrame allowing the user to reconfigure the tab. |
| Rename | √ | √ | The user can change the tab name as it appears in the tab bar. |
-| Remove | √ | √ | If the `removeURL` property and value are included in the **configuration page**, the **removal page** is loaded into an IFrame and presented to the user. If a removal page isn't included, the user is presented with a confirm dialog box. |
+| Remove | √ | √ | If the `removeURL` property and value are included in the **configuration page**, the **removal page** is loaded into an iFrame and presented to the user. If a removal page isn't included, the user is presented with a confirm dialog box. |
## Create a tab removal page for your application
The following is a sample tab removal code block:
***
-When a user selects **Remove** from the tab's drop-down menu, Teams loads the optional `removeUrl` page assigned in your **configuration page**, into an IFrame. The user is shown a button loaded with the `onClick()` function that calls `pages.config.setValidityState(true)` and enables the **Remove** button shown at the bottom of the removal page IFrame.
+When a user selects **Remove** from the tab's drop-down menu, Teams loads the optional `removeUrl` page assigned in your **configuration page**, into an iFrame. The user is shown a button loaded with the `onClick()` function that calls `pages.config.setValidityState(true)` and enables the **Remove** button shown at the bottom of the removal page iFrame.
After the remove handler is executed, `removeEvent.notifySuccess()` or `removeEvent.notifyFailure()` notifies Teams of the content removal outcome.
platform Tabs In Sharepoint https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/tabs-in-sharepoint.md
The following image displays the corresponding screen:
1. Select the **Publish** button after you finish editing. 1. Select **Add page to navigation** to have a quick reference to your page in the left navigation bar.
-The following image displays the tab in Sharepoint:
+The following image displays the tab in SharePoint:
![Tab in Sharepoint image](~/assets/images/tabs/tabs-in-sharepoint/image073.png)
platform AAD Manifest Customization https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/AAD-manifest-customization.md
You need to interact with Azure AD application during various stages of your Tea
* Initially ignores some properties in the manifest file that requires more context, (such as replyUrls property that requires a local debug endpoint) during the creation of a new Azure AD application with the manifest file.
- * After the local dev environment startup successfully, the Azure AD application's identifierUris, replyUrls, and other properties that aren't available during creation stage are updated accordingly.
+ * After the local dev environment starts successfully, the Azure AD application's identifierUris, replyUrls, and other properties that aren't available during creation stage are updated accordingly.
* The changes you've done to your Azure AD application are loaded during next local debug session. You can see [Azure AD application changes](https://github.com/OfficeDev/TeamsFx/wiki/) to apply changes manually Azure AD application changes.
You need to interact with Azure AD application during various stages of your Tea
|**Not supported properties**|**Reason**| |--|-| |passwordCredentials|Not allowed in manifest|
- |createdDateTime|Readonly and can't change|
- |logoUrl|Readonly and can't change|
- |publisherDomain|Readonly and can't change|
+ |createdDateTime|Read-only and can't change|
+ |logoUrl|Read-only and can't change|
+ |publisherDomain|Read-only and can't change|
|oauth2RequirePostResponse|Doesn't exist in Graph API| |oauth2AllowUrlPathMatching|Doesn't exist in Graph API| |samlMetadataUrl|Doesn't exist in Graph API|
platform Teamsfx SDK https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-SDK.md
If you've created Azure function or bot project using Visual Studio Code Toolkit
* clientSecret (M365_CLIENT_SECRET) * applicationIdUri (M365_APPLICATION_ID_URI) * apiEndpoint (API_ENDPOINT)+ * sqlServerEndpoint (SQL_ENDPOINT) // only used when there's an sql instance * sqlUsername (SQL_USER_NAME) // only used when there's an sql instance * sqlPassword (SQL_PASSWORD) // only used when there's an sql instance
This section provides several code snippets for common scenarios that are relate
<details> <summary><b>Integration with Microsoft Graph Toolkit</b></summary>
- The [Microsoft Graph Toolkit (mgt)](https://aka.ms/mgt) library is a collection of various authentication providers and UI components powered by Microsoft Graph.
+ The [Microsoft Graph Toolkit](https://aka.ms/mgt) library is a collection of various authentication providers and UI components powered by Microsoft Graph.
- The `@microsoft/mgt-teamsfx-provider` package exposes the `TeamsFxProvider` class that uses `TeamsFx` class to sign in users and acquire tokens to use with Graph.
+ The `@microsoft/mgt-teamsfx-provider` package exposes the `TeamsFxProvider` class that uses `TeamsFx` class to sign in users and acquire tokens to use with Microsoft Graph.
1. You can install the following required packages:
platform Teamsfx Multi Env https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-multi-env.md
Steps for customization:
4. Open config file `.fx/configs/config.staging.json`. 5. Add the same property to `my app description for staging`. 6. Open Teams app manifest template `templates/appPackage/manifest.template.json`.
-7. Update the property **`description`** > **`short`** to use the **variable** defined in configure files with mustache syntax **`{{config.manifest.description.short}}`**.
+7. Update the property **`description`** > **`short`** to use the **variable** defined in configure files with braces syntax **`{{config.manifest.description.short}}`**.
The updates to `manifest.template.json` are:
platform Teamsfx Preview And Customize App Manifest https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-preview-and-customize-app-manifest.md
To preview manifest file using Visual Studio Code:
:::image type="content" source="../assets/images/teams-toolkit-v2/teams toolkit fundamentals/provision.png" alt-text="Screenshot is an example of showing the selection of provision in the cloud resource.":::
-To preview manifest file using command palatte:
+To preview manifest file using command palette:
* Trigger **Teams: Provision in the cloud** from command palette.
- :::image type="content" source="../assets/images/teams-toolkit-v2/teams toolkit fundamentals/command palatte.png" alt-text="Screenshot is an example of showing provision cloud resource using command palatte.":::
+ :::image type="content" source="../assets/images/teams-toolkit-v2/teams toolkit fundamentals/command palatte.png" alt-text="Screenshot is an example of showing provision cloud resource using command palette.":::
It generates configuration for remote Teams app, and builds package and preview manifest under `build/appPackage` folder.
The changes are updated to Teams Developer Portal.
> [!NOTE] >
-> * Select **Overwrite and update** or **Cancel** from the **Warning** dialog box to make any maual updates that can be overwritten in the Develope Portal.
+> * Select **Overwrite and update** or **Cancel** from the **Warning** dialog box to make any manual updates that can be overwritten in the Developer Portal.
> * When you create a Teams command bot using Visual Studio, two app IDs are registered in Azure Active Directory. You can identify the app IDs in the Developer Portal as **Application client ID** under Basic information and existing **Bot ID** under **App features**. :::image type="content" source="../assets/images/Tools-and-SDK-revamp/edit-manifest-for-visual-studio/vs-overwrite.png" alt-text="Screenshot is an example of showing the update warning." lightbox="../assets/images/Tools-and-SDK-revamp/edit-manifest-for-visual-studio/vs-overwrite.png":::
platform Add Capability https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/add-capability.md
You can add capabilities by the following methods:
|--|-| |To add notification bot |`teamsfx add notification`| |To add command bot |`teamsfx add command-and-response`|
- |To add sso-enabled tab |`teamsfx add sso-tab`|
+ |To add SSO-enabled tab |`teamsfx add sso-tab`|
|To add tab |`teamsfx add tab`| |To add bot |`teamsfx add bot`| |To add message extension |`teamsfx add message extension`|
The following table shows the changes that can be seen in the files of your app
|Bot, message extension and tab|Includes a **hello world**&nbsp;bot or tab application template into your project.|A frontend bot or tab template code is added into a subfolder with path `yourProjectFolder/bot` or `yourProjectFolder/tab` respectively.| | Bot, message extension and tab |Includes necessary scripts for Visual Studio Code, and is executed when you want to debug your application locally. |Files `launch.json` and `task.json` under `.vscode` folder are updated.| | Bot and message extension|Includes bot or tab-related information in the manifest file that represents your application in Teams Platform.|File`manifest.template.json` under `templates/appPackage` folder is updated, which includes tab-related information in the manifest file that represents your application in the Teams Platform. The changes are visible in ID of your bot, scopes of your bot, and the commands that hello world bot or tab application can respond to.|
-|Tab|Includes bot or tab-related information in the manifest file that represents your application in Teams Platform.|File`manifest.template.json` under `templates/appPackage` folder is updated, which includes tab-related information in the manifest file that represents your application in the Teams Platform. The changes are visible in configurable and static tabs, and scopes of the tabs.|
+|Tab|Includes bot or tab-related information in the manifest file that represents your application in Teams Platform.|File `manifest.template.json` under `templates/appPackage` folder is updated, which includes tab-related information in the manifest file that represents your application in the Teams Platform. The changes are visible in configurable and static tabs, and scopes of the tabs.|
|Bot, message extension and tab|Includes bot or tab-related&nbsp;information in the teamsfx and provision files that are for integrating Azure functions.|Files under `templates/azure/teamsfx` are updated, and `templates/azure/provision/xxx`.bicep files are regenerated.| |Bot, message extension and tab|Ensures your project is set with right configurations for newly added capability.|Files under `.fx/config` are regenerated|
platform Build Environments https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/build-environments.md
Azure Function integrates with an array of [cloud services](add-resource.md#type
* When building a web API * Processing to database changes
-* Processing Iot data streams
+* Processing IoT data streams
* Managing message queues ## See also
platform Create New Project https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/create-new-project.md
The core notification implementation in **bot** folder and it contains:
| File name | Contents | | | |
-| `src/adaptiveCards/` | Templates for Adaptive card |
+| `src/adaptiveCards/` | Templates for Adaptive Card |
| `src/internal/` | Generated initialize code for notification functionality |
-| `src/index.*s` | The entrypoint to handle bot messages and send notifications |
+| `src/index.*s` | The entry point to handle bot messages and send notifications |
| `.gitignore` | File to exclude local files from bot project | | `package.json` | The npm package file for bot project |
You can see Teams app templates already populated in Teams Toolkit for various T
|Notification Bot |Notification Bot app can send notification to your Teams client, there are multiple ways to trigger the notification. For example, trigger the notification by HTTP request, or by time. You can also select triggered notification based on your business scenario. | |Command Bot |Users can type a command to interact with the bot using the Command Bot app. | |Tab |Tab app shows a webpage inside Teams, and it enables single sign-on using Teams account. |
-|Message Extension |Message Extension app implements simple features like create adaptive card, search Nugget packages, unfurling links for "dev.botframework.com" domain. |
+|Message Extension |Message Extension app implements simple features like create Adaptive Card, search Nugget packages, unfurling links for "dev.botframework.com" domain. |
> [!NOTE] > After the project is created, Teams Toolkit automatically opens **Get started** window. You can now see the instructions in **Get started** window and check out the different features in Teams Toolkit.
platform Debug Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-overview.md
Teams Toolkit supports the following debug features:
* [Hot reload](#hot-reload) * [Stop debugging](#stop-debugging)
-Teams Toolkit performs background functions during debug process, which include verifying the prerequisites required for debug.You can see the progress of the verification process in the output channel of Teams Toolkit. In the setup process you can register and configure your Teams app.
+Teams Toolkit performs background functions during debug process, which include verifying the prerequisites required for debug. You can see the progress of the verification process in the output channel of Teams Toolkit. In the setup process you can register and configure your Teams app.
### Start debugging