Updates from: 01/20/2024 05:04:14
Service Microsoft Docs article Related commit history on GitHub Change details
platform App Icon Badging For Your App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/app-icon-badging-for-your-app.md
To enable app icon badging, you must:
To enable app icon badging, ensure that you've [enabled targeted in-meeting notification](in-meeting-notification-for-meeting.md#enable-targeted-in-meeting-notification).
-The [Targeted meeting notification and app icon badging API](meeting-apps-apis.md#targeted-meeting-notification-and-app-icon-badging-api) has been extended to support the app icon badging capability on the app icon and pass the user MRI IDs of the intended recipients. The `surfaces` parameter now supports `meetingTabIcon` value, which is used by the app.
+The [Targeted meeting notification and app icon badging API](meeting-apps-apis.md#targeted-meeting-notification-and-app-icon-badging-api) is extended to support the app icon badging capability on the app icon and pass the user MRI IDs of the intended recipients. The `surfaces` parameter now supports `meetingTabIcon` value, which is used by the app.
App can also pass the `tabEntityId`, if there are multiple instances of the app added to the same meeting. If the `tabEntityId` isn't passed, then Teams displays the badge on the first app icon on the users meeting window. ### Example
-The following is an example of a payload:
+# [C#](#tab/csharp)
+
+[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/meetings-app-icon-badging/csharp/AppIconBadgingInMeetings/Bots/AppIconBadgingInMeeting.cs#L108)
+
+```csharp
+TeamsInfo.SendMeetingNotificationAsync(context, notificationPayload, meetingId);
+```
+
+# [JavaScript](#tab/javascript)
+
+[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/meetings-app-icon-badging/nodejs/bots/teamsBot.js#L83)
+
+```javascript
+TeamsInfo.sendMeetingNotification(context, notificationPayload, meetingId);
+```
+
+# [JSON](#tab/json)
```json {
The following is an example of a payload:
] } }- ``` ++ [!INCLUDE [Response code](../includes/meeting-response-code.md)] ## Limitations
platform Define Action Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md
See the following video to learn how to define message extension action commands
## Select action command invoke locations
-First, you must decide the location from where your action command must be invoked. By specifying the `context` in your app manifest, your command can be invoked from one or more of the following locations:
+First, you must decide the location from where your action command must be invoked. By specifying the `context` in your app manifest (previously called Teams app manifest), your command can be invoked from one or more of the following locations:
* Compose message area: The buttons at the bottom of the compose message area.
- Command context = compose
+ Commands context = `compose`
-* Command box: By @mentioning your app in the command box.
+* Command box: By using / in the command box. For example, **/your-app-name**. If you're using the classic Teams, action command is invoked by @mentioning in the command box. For example, **@your-app-name**.
- Commands context = commandBox
+ Commands context = `commandBox`
> [!NOTE]
- > If message extension is invoked from the command box, you cannot respond with a bot message inserted directly into the conversation.
+ > If a message extension is invoked from the command box, you can't respond with a bot message inserted directly into the conversation.
* Message: Directly from an existing message through the `...` overflow menu on a message.
- Commands context = message
+ Commands context = `message`
> [!NOTE] >
You can create an action command using **Teams Toolkit** and **Developer Portal
# [Teams Toolkit](#tab/Teams-toolkit)
-To create an action based message extension using Teams Toolkit, follow these steps:
+To create an action-based message extension using Teams Toolkit, follow these steps:
1. Open **Visual Studio Code**. 1. From the left pane, Select **Teams Toolkit**.
Teams Toolkit scaffolds your project and creates an action message extension.
# [Developer Portal for Teams](#tab/developer-portal-for-teams)
-To create an action based message extension using Developer Portal for Teams, follow these steps:
+To create an action-based message extension using Developer Portal for Teams, follow these steps:
1. Go to [**Developer Portal for Teams**](https://dev.teams.microsoft.com/home). 1. Go to **Apps**.
To create an action based message extension using Developer Portal for Teams, fo
:::image type="content" source="../../../assets/images/Copilot/api-based-me-tdp-app-feature.png" alt-text="Screenshot shows the message extension option in Teams Developer Portal."::: 1. If you don't have an existing bot, select **Existing bot** or if you have a bot ID, select **Enter Bot ID**.-
- 1. If don't have a Bot ID, you can select **Create a bot**, to create a new bot and enter the bot ID of the new bot that you've created.
+
+ 1. If you don't have a bot ID, select **Create a bot**, to create a new bot and enter the bot ID of the new bot that you've created.
1. Select the required scopes.
To create an action based message extension using Developer Portal for Teams, fo
A command details page appears. 1. In the Command details page, select **Action** and then select parameter type.-
-1. 1. Select **Action** as the type of command and update the following:
+
+1. Select **Action** as the type of command and update the following:
* Command ID * Command title * Command description
To create an action based message extension using Developer Portal for Teams, fo
:::image type="content" source="../../../assets/images/tdp/add-parameter.PNG" alt-text="Screenshot shows how to add additional parameters for your message extension."lightbox="../../../assets/images/tdp/add-a-parameters.PNG":::
-A search message extension using bot framework created.
+A search message extension using bot framework is created.
## Code snippets
-The following code provides an example of action based for message extensions:
+The following code provides an example of action-based for message extensions:
# [C#](#tab/dotnet)
protected override Task<MessagingExtensionActionResponse> OnTeamsMessagingExtens
## Step-by-step guide
-Follow the [step-by-step guide](../../../sbs-meetingextension-action.yml) to build Teams action based message extension.
+Follow the [step-by-step guide](../../../sbs-meetingextension-action.yml) to build Teams action-based message extension.
## Next step
platform Define Search Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md
ms.localizationpriority: medium
The search command is invoked from any one or both of the following locations: * Compose message area: The buttons at the bottom of the compose message area.
-* Command box: By @mentioning in the command box.
+* Command box: By using / in the command box. For example, **/your-app-name**. If you're using the classic Teams, search command is invoked by @mentioning in the command box. For example, **@your-app-name**.
When a search command is invoked from the compose message area, the user sends the results to the conversation. When it's invoked from the command box, the user interacts with the resulting card, or copies it for use elsewhere.
The following image displays the invoke locations of the search command:
## Add the search command to your app manifest
-To add the search command to your [app manifest](../../../resources/schem#composeextensions), you must add a new `composeExtensions` object to the top level of your app manifest JSON. You can add the search command either with the help of Developer Portal, or manually.
+To add the search command to your [app manifest](../../../resources/schem#composeextensions) (previously called Teams app manifest), you must add a new `composeExtensions` object to the top level of your app manifest JSON. You can add the search command either with the help of Developer Portal or manually.
### Create search message extension using Bot Framework
Before you get started, ensure that you meet the following requirements:
* [Node.js](https://nodejs.org/en). The supported versions are 16, 18. * [Microsoft 365 account for development](../../../toolkit/tools-prerequisites.md#microsoft-365-developer-program)
-* [Set up your dev environment for extending Teams apps across Microsoft 365](../../../m365-apps/prerequisites.md) Please note that after you enrolled your developer tenant in Office 365 Target Release, it may take couple days for the enrollment to take effect.
+* [Set up your dev environment for extending Teams apps across Microsoft 365.](../../../m365-apps/prerequisites.md) After you've enrolled your developer tenant in Office 365 Targeted Release, it may take a couple of days for the enrollment to take effect.
* [Teams Toolkit Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=TeamsDevApp.ms-teams-vscode-extension) version 5.2.0 and higher or Teams Toolkit CLI. # [Teams Toolkit](#tab/Teams-toolkit)
-To create a search based message extension using Teams Toolkit, follow these steps:
+To create a search-based message extension using Teams Toolkit, follow these steps:
1. Open **Visual Studio Code**. 1. From the left pane, Select **Teams Toolkit**.
To run the message extension in Teams, follow these steps:
:::image type="content" source="../../../assets/images/Copilot/api-based-me-ttk-accounts.png" alt-text="Screenshot shows the Microsoft 365 and Azure sign in option in Teams Toolkit."::: 1. From the left pane, Select **Run and Debug (Ctrl+Shift+D)**.
-1. From the launch configuration dropdown, select `Preview in Teams (Edge)` or `Preview in Teams (Chrome)` . Teams Toolkit launches Teams web client in a browser window.
+1. From the launch configuration dropdown, select `Preview in Teams (Edge)` or `Preview in Teams (Chrome)`. Teams Toolkit launches Teams web client in a browser window.
1. Go to a chat message and select the **Actions and apps** icon. In the flyout menu, search for your app. 1. Select your message extension from the list and enter a search command in the search box. 1. Select an item from the list. The item unfurls into an Adaptive Card in the message compose area.
To run the message extension in Teams, follow these steps:
:::image type="content" source="../../../assets/images/Copilot/api-based-me-tdp-app-feature.png" alt-text="Screenshot shows the message extension option in Teams Developer Portal."::: 1. If you have an existing bot, select **Existing bot** or if you have a bot ID, select **Enter Bot ID**.-
- 1. If you don't have a Bot ID, you can select **Create a bot**, to create a new bot and enter the bot ID of the new bot that you've created.
+
+ 1. If you don't have a bot ID, select **Create a bot**, to create a new bot and enter the bot ID of the new bot that you've created.
1. Select **Save**.
To run the message extension in Teams, follow these steps:
### Extend bot-based message extension as plugin > [!IMPORTANT]
-> Plugins for Microsoft Copilot for Microsoft 365 are in preview and only work in Microsoft 365 Chat in Microsoft Teams.
+> Plugins for Microsoft Copilot for Microsoft 365 are in preview and only work in Microsoft 365 Chat in Teams.
-Microsoft 365 plugins provide integration with various Microsoft 365 products, such as Teams and Outlook. The integration helps users to search or create content in external systems. Message extension plugins allow Microsoft Copilot for Microsoft 365 to interact with APIs from other software and services through a bot. We recommend that you build or upgrade your existing message extensions to maximize their usefulness and usability in Copilot for Microsoft 365. For more information, see [Extend bot-based message extension as plugin for Copilot for Microsoft 365](../../build-bot-based-plugin.md).
+Microsoft 365 plugins provide integration with various Microsoft 365 products, such as Teams and Outlook. The integration helps users to search or create content in external systems. Message extension plugins allow Microsoft Copilot for Microsoft 365 to interact with APIs from other software and services through a bot. We recommend that you build or upgrade your existing message extensions to maximize their usefulness and usability in Copilot for Microsoft 365. For more information, see [extend bot-based message extension as plugin for Copilot for Microsoft 365](../../build-bot-based-plugin.md).
## Code snippets
-The following code provides an example of search based for message extensions:
+The following code provides an example of search-based for message extensions:
# [C#](#tab/dotnet)
async handleTeamsMessagingExtensionQuery(context, query) {
| Sample name | Description | .NET | Node.js | Manifest| |:|:--|:|:--|:--|
-|Teams message extension search | This sample shows how to build a Search-based message extension. It searches nudget packages and displays the results in search based messaging extension. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip)
+|Teams message extension search | This sample shows how to build a search-based message extension. It searches nudget packages and displays the results in search-based messaging extension. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip)
## Step-by-step guide
-Follow the [step-by-step guide](../../../sbs-messagingextension-searchcommand.yml) to build a search based message extension.
+Follow the [step-by-step guide](../../../sbs-messagingextension-searchcommand.yml) to build a search-based message extension.
## Next step
platform Teams Updates https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/teams-updates.md
To ensure a smooth transition, a phased rollout of the new platform is planned a
The following Teams features aren't currently supported (will be available soon) in the new Teams client:
-* [Message Extensions](../get-started/build-message-extension.md) can't be invoked from the Teams search bar in the new Teams client.
- * Personal static tabs aren't supported in one-on-one conversations with bots in the new Teams client. However, users can open their app from the app bar in Teams and view the personal static tabs. * [Location](../concepts/device-capabilities/location-capability.md#location-apis) and [Media](../concepts/device-capabilities/media-capabilities.md#media-capability-apis) APIs aren't supported in the new Teams client. We recommend using HTML5 Geolocation, and Media.
platform Whats New https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/whats-new.md
Teams platform features that are available to all app developers.
**2024 January**
-***January 04, 2024***: [Apps for Teams meetings are available in Department of Defense (DOD) environment.](apps-in-teams-meetings/teams-apps-in-meetings.md)
+* ***January 19, 2024***: [Use / to invoke message extensions from command box in the new Teams client.](messaging-extensions/build-bot-based-message-extension.md)
+* ***January 04, 2024***: [Apps for Teams meetings are available in Department of Defense (DOD) environment.](apps-in-teams-meetings/teams-apps-in-meetings.md)
:::column-end::: :::row-end:::