diff --git a/msteams-platform/includes/messaging-extensions/bot-based-me-note.md b/msteams-platform/includes/messaging-extensions/bot-based-me-note.md new file mode 100644 index 00000000000..462bf2ae669 --- /dev/null +++ b/msteams-platform/includes/messaging-extensions/bot-based-me-note.md @@ -0,0 +1,6 @@ +> [!NOTE] +> Agents provide a more flexible, intelligent, and future‑ready experience which enables richer reasoning, simpler development, and better alignment with the evolving Teams and Microsoft 365 platform. We recommend that you explore and build agents. +> +> For more information, see [build declarative agents](/microsoft-365-copilot/extensibility/overview-declarative-agent) and [build agents in Teams](../../agents-in-teams/overview.md). +> +> You can also [extend bot-based message extension](../../messaging-extensions/build-bot-based-agent.md) as an agent. diff --git a/msteams-platform/m365-apps/extend-m365-teams-message-extension.md b/msteams-platform/m365-apps/extend-m365-teams-message-extension.md index f151cb5238b..61a6aabda79 100644 --- a/msteams-platform/m365-apps/extend-m365-teams-message-extension.md +++ b/msteams-platform/m365-apps/extend-m365-teams-message-extension.md @@ -23,6 +23,8 @@ Outlook mobile users on Android and iOS can receive and take actions on cards fr Teams message extension across Microsoft 365 also supports [link unfurling](../messaging-extensions/how-to/link-unfurling.md) that display cards to launch [Stageview](../tabs/tabs-link-unfurling.md) and dialogs. +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + ## Prerequisites To extend your Teams message extension to Outlook, ensure the following: diff --git a/msteams-platform/m365-apps/me-or-outlook-add-in.md b/msteams-platform/m365-apps/me-or-outlook-add-in.md index 453ff243ad8..7538a2148fd 100644 --- a/msteams-platform/m365-apps/me-or-outlook-add-in.md +++ b/msteams-platform/m365-apps/me-or-outlook-add-in.md @@ -2,7 +2,7 @@ title: Message Extension vs. Outlook Add-in description: Learn how to decide whether Microsoft 365 app must be message extension or Outlook add-in, and customer relation, security, attachment, and signature management. ms.date: 01/05/2023 -ms.topic: conceptual +ms.topic: article ms.localizationpriority: medium ms.subservice: m365apps --- @@ -12,6 +12,8 @@ An Outlook add-in and a message extension allow you to create rich and interacti If your app includes scenarios from Outlook add-in and message extension, then you must create both apps, an Outlook add-in and a message extension. You must host both these apps at the same domain so that they can share files. +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + ## Guidelines for Outlook add-in and message extension # [**Outlook add-in**](#tab/outlook-add-in) diff --git a/msteams-platform/messaging-extensions/api-based-overview.md b/msteams-platform/messaging-extensions/api-based-overview.md index e3be242ea72..889a0ae1094 100644 --- a/msteams-platform/messaging-extensions/api-based-overview.md +++ b/msteams-platform/messaging-extensions/api-based-overview.md @@ -21,6 +21,8 @@ Message extensions built using API (API-based) use a web service to manage user * Retrieve real-time information, such as latest news coverage on a product launch. * Retrieve knowledge-based information, for example, my team’s design files in Figma. +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + See the video to learn more about building an API-based message extension using Microsoft 365 Agents Toolkit (previously known as Teams Toolkit):

diff --git a/msteams-platform/messaging-extensions/build-bot-based-agent.md b/msteams-platform/messaging-extensions/build-bot-based-agent.md index ade927cc511..e8c0a177170 100644 --- a/msteams-platform/messaging-extensions/build-bot-based-agent.md +++ b/msteams-platform/messaging-extensions/build-bot-based-agent.md @@ -23,6 +23,8 @@ Microsoft 365 Copilot, powered by an advanced processing and orchestration engin :::image type="content" source="../assets/images/Copilot/ailib-copilot-diff.png" alt-text="Graphic shows the user interaction flow between the user, Microsoft Teams, and Microsoft 365 Copilot." lightbox="../assets/images/Copilot/ailib-copilot-diff.png"::: +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + ## What is an agent? An agent allows Microsoft 365 Copilot to interact directly with third-party data, apps, and services, enhance its capabilities, and broaden its range of capabilities. Agents allow Microsoft 365 Copilot to: diff --git a/msteams-platform/messaging-extensions/build-bot-based-message-extension.md b/msteams-platform/messaging-extensions/build-bot-based-message-extension.md index bc7a892b765..83c72895657 100644 --- a/msteams-platform/messaging-extensions/build-bot-based-message-extension.md +++ b/msteams-platform/messaging-extensions/build-bot-based-message-extension.md @@ -15,6 +15,8 @@ Message extensions built using Bot Framework (Bot-based) use a web service as a Bot-based message extension takes advantage of the Bot Framework's messaging schema and secure communication protocol. The bot is defined in the app manifest for the Teams app and you can also define different types of commands for your message extension, such as action commands or search commands. +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + There are two types of message extension commands, action command and search command. The message extension command type defines the UI elements and interaction flows available to your web service. You can use a search command or an action command to interact with your web service through a bot in Teams. :::image type="content" source="../assets/images/Copilot/bot-based-action-search-command.png" alt-text="Screenshot shows the way for a developer to select between action commands and search commands."::: diff --git a/msteams-platform/messaging-extensions/create-api-message-extension.md b/msteams-platform/messaging-extensions/create-api-message-extension.md index d33f4ab2845..de545062d33 100644 --- a/msteams-platform/messaging-extensions/create-api-message-extension.md +++ b/msteams-platform/messaging-extensions/create-api-message-extension.md @@ -15,6 +15,8 @@ ms.date: 02/26/2025 API-based message extensions are a Microsoft Teams app capability that integrates external APIs directly into Teams, enhancing your app's usability and offering a seamless user experience. API-based message extensions support search commands and can be used to fetch and display data from external services within Teams, streamlining workflows by reducing the need to switch between applications. +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + Before you get started, ensure that you meet the following requirements:
diff --git a/msteams-platform/messaging-extensions/dev-guidelines-agents.md b/msteams-platform/messaging-extensions/dev-guidelines-agents.md index db55e3c9ef5..6e1e5e56dce 100644 --- a/msteams-platform/messaging-extensions/dev-guidelines-agents.md +++ b/msteams-platform/messaging-extensions/dev-guidelines-agents.md @@ -1,7 +1,7 @@ --- title: Development Guidelines for Agents description: Discover the essential guidelines and best practices to create, upgrade, and optimize agents for Microsoft 365 Copilot. -ms.topic: conceptual +ms.topic: article author: v-preethah ms.author: surbhigupta ms.localizationpriority: high @@ -11,6 +11,8 @@ ms.collection: ce-skilling-ai-copilot # Guidelines to create and upgrade agents +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + > [!IMPORTANT] > > * Agents for Microsoft 365 Copilot are in preview and work only in Microsoft 365 Copilot. diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md b/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md index c8baf355876..dc6da3fa53b 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md @@ -3,7 +3,7 @@ title: Modal Dialogs in Message Extensions author: surbhigupta description: Learn to create and send dialogs (task modules). Handle the initial invoke action and respond with a dialog (task module) from an action message extension command. ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: article ms.author: anclear ms.owner: ginobuzz ms.date: 03/11/2025 @@ -17,6 +17,8 @@ the initial invoke request, payload activity properties when a dialog is invoked > [!NOTE] > If you are not populating the dialog with parameters defined in the app manifest, you must create the dialog for users with either an Adaptive Card or an embedded web view. +[!INCLUDE [bot-based-me-note](../../../includes/messaging-extensions/bot-based-me-note.md)] + ## The initial invoke request In the process of the initial invoke request, your service receives an `Activity` object of type `composeExtensions/fetchTask`, and you must respond with a `task` object containing either an Adaptive Card or a URL to the embedded web view. Along with the standard bot activity properties, the initial invoke payload contains the following request metadata: diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md b/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md index bd12b1f88ef..b71a05074bc 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md @@ -3,7 +3,7 @@ title: Create Action Commands for App author: surbhigupta description: Learn to define message extension action commands with app manifest in Teams. Sample (.NET, Node.js), create dialog (task module), respond to dialog submit action. ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: article ms.author: anclear ms.owner: ginobuzz ms.date: 03/11/2025 @@ -17,6 +17,8 @@ Before creating the action command, you must decide the following factors: 1. [How is the dialog (referred as task module in TeamsJS v1.x) created?](#select-how-to-create-your-dialog) 1. [Is the final message or card sent to the channel from a bot, or is the message or card inserted into the compose message area for the user to submit?](#select-how-the-final-message-is-sent) +[!INCLUDE [bot-based-me-note](../../../includes/messaging-extensions/bot-based-me-note.md)] + ## Select action command invoke locations First, you must decide the location from where your action command must be invoked. When you specify the `context` property in your app manifest (previously called Teams app manifest), your command can be invoked from one or more of the following locations: @@ -100,7 +102,7 @@ To create an action-based message extension using Developer Portal for Teams, fo :::image type="content" source="../../../assets/images/Copilot/bot-based-me-tdp-type.png" alt-text="Screenshot shows API Message extension is already in use disclaimer when a user switches from API to bot message extension type."::: 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 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 created. 1. Select the required scopes. @@ -110,7 +112,7 @@ 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. Select **Action** as the type of command and update the following fields: * Command ID * Command title @@ -141,7 +143,7 @@ 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"::: -1. Select **Save** +1. Select **Save** A bot-based action message extension is created. diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md b/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md index b4e8dcf6c52..e06c168aa9f 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md @@ -3,7 +3,7 @@ title: Explore Responses to Action Commands author: surbhigupta description: Learn to respond to message extension action commands with Proactive message. Define and respond to search commands and display username on Adaptive Card headers. ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: article ms.author: anclear ms.owner: ginobuzz ms.date: 03/11/2025 @@ -32,6 +32,8 @@ If the app doesn't respond within five seconds, the Teams client retries the req >* The app must defer any long-running actions after the bot replies to the invoke request. The long-running action results can be delivered as a message. >* Your app has five seconds to respond to the invoke message. +[!INCLUDE [bot-based-me-note](../../../includes/messaging-extensions/bot-based-me-note.md)] + For authentication or configuration, after the user completes the process, the original invoke is resent to your web service. The following table shows which types of responses are available, based on the invoke location `commandContext` of the message extension: |Response Type | Compose | Command bar | Message | diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md b/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md index 237f4d7f85f..630043ce922 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md @@ -2,7 +2,7 @@ title: Create Search Commands for App author: surbhigupta description: Learn about message extension search commands for Teams apps, to create a search command through app manifest and manually. -ms.topic: conceptual +ms.topic: article ms.author: anclear ms.date: 09/16/2024 ms.localizationpriority: medium @@ -10,6 +10,8 @@ ms.owner: slamba --- # Define message extension search commands +[!INCLUDE [bot-based-me-note](../../../includes/messaging-extensions/bot-based-me-note.md)] + 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. diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md index 40b10495c56..c932e7e813e 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md @@ -2,13 +2,15 @@ title: Respond to Search Command in Teams author: surbhigupta description: Learn how to respond to the search command from a message extension in a Microsoft Teams app. Understand how to respond to the user request. -ms.topic: conceptual +ms.topic: article ms.author: anclear ms.date: 03/06/2025 ms.localizationpriority: medium --- # Respond to search command +[!INCLUDE [bot-based-me-note](../../../includes/messaging-extensions/bot-based-me-note.md)] + [!include[v4-to-v3-SDK-pointer](~/includes/v4-to-v3-pointer-me.md)] After the user submits the search command, your web service receives a `composeExtension/query` invoke message that contains a `value` object with the search parameters. The invoke is triggered by the following conditions: diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/universal-actions-for-search-based-message-extensions.md b/msteams-platform/messaging-extensions/how-to/search-commands/universal-actions-for-search-based-message-extensions.md index 34c1447043e..657c21ad8ca 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/universal-actions-for-search-based-message-extensions.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/universal-actions-for-search-based-message-extensions.md @@ -2,7 +2,7 @@ title: Universal Actions for Message Extension author: surbhigupta description: In this article, learn about Universal Actions and automatic refresh for Adaptive Cards in search based message extensions. -ms.topic: conceptual +ms.topic: article ms.author: surbhigupta ms.date: 02/06/2025 ms.localizationpriority: medium @@ -11,6 +11,8 @@ ms.owner: slamba # Universal Actions for search based message extensions +[!INCLUDE [bot-based-me-note](../../../includes/messaging-extensions/bot-based-me-note.md)] + Adaptive Cards in search based message extensions now support Universal Actions. To enable Universal Actions for search based message extensions, the app must conform to the [schema for Universal Actions for Adaptive Cards](../../../task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/Work-with-Universal-Actions-for-Adaptive-Cards.md#schema-for-universal-actions-for-adaptive-cards) along with the following requirements: 1. The app must have a [conversational](../../../bots/build-conversational-capability.md) or [notification-only](../../../bots/build-notification-capability.md) bot defined in the app manifest. diff --git a/msteams-platform/messaging-extensions/what-are-messaging-extensions.md b/msteams-platform/messaging-extensions/what-are-messaging-extensions.md index 4d94d74c51a..ce9788a47c5 100644 --- a/msteams-platform/messaging-extensions/what-are-messaging-extensions.md +++ b/msteams-platform/messaging-extensions/what-are-messaging-extensions.md @@ -95,6 +95,8 @@ To build a message extension, if you don't already have one, there are two ways: * **Build message extensions using Bot Framework (Bot-based)**: If you want a one-on-one conversational experience, you can create a new message extension from a bot. +[!INCLUDE [bot-based-me-note](../includes/messaging-extensions/bot-based-me-note.md)] + The following table helps you select a message extension type to get started: :::row:::