Updates from: 08/16/2022 05:56:22
Service Microsoft Docs article Related commit history on GitHub Change details
platform Channel Messages With Rsc https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/channel-messages-with-rsc.md
The `ChannelMessage.Read.Group` RSC permission is extended to bots. With user co
For your bot to receive all channel messages, RSC must be configured in the Teams app manifest with the `ChannelMessage.Read.Group` permission specified in the `webApplicationInfo` property.
-![Update app manifest](~/bots/how-to/conversations/Media/appmanifest.png)
- The following is an example of the `webApplicationInfo` object:
The following code provides an example of the app manifest:
```json "webApplicationInfo": {
-"id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
-"resource": "https://AnyString",
-"applicationPermissions": [
-"ChannelMessage.Read.Group"
- ]
- }
+ "id": "XXxxXXXXX-XxXX-xXXX-XXxx-XXXXXXXxxxXX",
+ "resource": "https://AnyString",
+ "applicationPermissions": [
+ "ChannelMessage.Read.Group"
+ ]
+}
``` ## Sideload in a team
To sideload in a team to test, whether all channel messages in a team with RSC a
1. Select the ellipses ●●● from the left pane. The drop-down menu appears. 1. Select **Manage team** from the drop-down menu. The details appear.
- ![Managing apps in team](~/bots/how-to/conversations/Media/managingteam.png)
-
- :::image type="content" source="Media/managingteam.png" alt-text="managing team"border="true":::
+ :::image type="content" source="Media/managingteam.png" alt-text="Screenshot of Managing team option in Teams application.":::
1. Select **Apps**. Multiple apps appear.+ 1. Select **Upload a custom app** from the lower right corner.
- :::image type="content" source="Media/uploadingcustomapp.png" alt-text="uploading custom app":::
+ :::image type="content" source="Media/uploadingcustomapp.png" alt-text="Screenshot of upload a custom app option.":::
1. Select the app package from the **Open** dialog box.+ 1. Select **Open**.
- :::image type="content" source="Media/selectapppackage.png" alt-text="Select the app package"lightbox="Media/selectapppackage.png"border="true":::
+ :::image type="content" source="Media/selectapppackage.png" alt-text="Screenshot of the open dialog box to select the app package." lightbox="Media/selectapppackage.png":::
1. Select **Add** from the app details pop-up, to add the bot to your selected team.
- :::image type="content" source="Media/addingbot.png" alt-text="Adding bot"lightbox="Media/addingbot.png"border="true":::
+ :::image type="content" source="Media/addingbot.png" alt-text="Screenshot of the Add button to add a bot to a team." lightbox="Media/addingbot.png":::
1. Select a channel and enter a message in the channel for your bot. The bot receives the message without being @mentioned.
- :::image type="content" source="Media/botreceivingmessage.png" alt-text="Bot receiving message"lightbox="Media/botreceivingmessage.png"border="true":::
+ :::image type="content" source="Media/botreceivingmessage.png" alt-text="Screenshot of a bot receiving message in a channel." lightbox="Media/botreceivingmessage.png":::
## Code snippets
this.onMessage(async (context, next) => {
* [Resource-specific consent](/microsoftteams/resource-specific-consent) * [Test resource-specific consent](/microsoftteams/platform/graph-api/rsc/test-resource-specific-consent) * [Upload custom app in Teams](~/concepts/deploy-and-publish/apps-upload.md)
+* [List replies to messages in a channel](/graph/api/chatmessage-list-replies?view=graph-rest-1.0&tabs=http&preserve-view=true)
platform Conversation Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/conversation-messages.md
ms.localizationpriority: medium
# Messages in bot conversations
-Each message in a conversation is an `Activity` object of type `messageType: message`. When a user sends a message, Teams posts the message to your bot. Teams sends a JSON object to your bot's messaging endpoint. Your bot examines the message to determine its type and responds accordingly.
+Each message in a conversation is an `Activity` object of type `messageType: message`. When a user sends a message, Microsoft Teams posts the message to your bot. Teams sends a JSON object to your bot's messaging endpoint and Teams allows only one endpoint for messaging. Your bot examines the message to determine its type and responds accordingly.
Basic conversations are handled through the Bot Framework connector, a single REST API. This API enables your bot to communicate with Teams and other channels. The Bot Builder SDK provides the following features:
Messages sent between users and bots include internal channel data within the me
## Send suggested actions
-Suggested actions enable your bot to present buttons that the user can select to provide input. Suggested actions enhance user experience by enabling the user to answer a question or make a choice with selection of a button, rather than typing a response with a keyboard.
+Suggested actions enable your bot to present buttons that the user can select to provide input. Suggested actions enhance user experience by enabling the user to answer a question or make a choice with selection of a button, rather than typing a response with a keyboard.
The buttons remain visible and accessible to the user in the rich cards even after user makes a selection whereas for suggested actions, buttons aren't available. This prevents the user from selection of stale buttons within a conversation. To add suggested actions to a message, set the `suggestedActions` property of the [Activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference) object to specify the list of [CardAction](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference) objects that represent the buttons to be presented to the user. For more information, see [`SugestedActions`](/dotnet/api/microsoft.bot.builder.messagefactory.suggestedactions)
The following is an example for implementation and experience of suggested actio
:::image type="content" source="~/assets/images/Cards/suggested-actions.png" alt-text="Bot suggested actions" border="true"::: > [!NOTE]
+>
> * `SuggestedActions` are only supported for one-on-one chat bots and text based messages and not for Adaptive Cards or attachments. > * Currently `imBack` is the only supported action type and Teams display up to three suggested actions.
platform Send Proactive Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/send-proactive-messages.md
After you get the appropriate address information, you can send your message.
Now that you have the right address information, you can send your message. If you're using the SDK, you must use the `continueConversation` method, and the `conversationId` and `tenantId` to make a direct API call. You must set the `conversationParameters` correctly to successfully send your message. See the [samples](#samples) section or use one of the samples listed in the [code sample](#code-sample) section.
+> [!NOTE]
+> Teams doesn't support sending proactive messages using email or User Principal Name (UPN).
+ Now that you've sent the proactive message, you must follow these best practices while sending proactive messages for better information exchange between users and the bot. See the following video to learn how to send proactive message from bots:
platform Format Your Bot Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/format-your-bot-messages.md
Message formatting enables you to bring out the best in bot messages. You can format your bot messages to include rich cards as attachments that contain interactive elements, such as buttons, text, images, audio, video, and so on. > [!NOTE]
-> The bot message size limit is 40 KB. If the bot message size limit exceeds 40 KB, bot receives a `413` status code (RequestEntityTooLarge), which contains the error code `MessageSizeTooBig`. The bot message size limit includes the entire message payload encoded as UTF-16 and doesn't include base 64 encoded images.
+> The bot message size limit is 40 KB. If the bot message size limit exceeds 40 KB, bot receives a `413` status code (`RequestEntityTooLarge`), which contains the error code `MessageSizeTooBig`. The bot message size limit includes the entire message payload encoded as UTF-16 and doesn't include Base64 encoded images.
## Format text content
platform Apps Upload https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/apps-upload.md
You can sideload Microsoft Teams apps without having to publish to your organiza
> Sideloading your app multiple times displays more than one instance for messaging extensions. > [!IMPORTANT]
-> Currently, sideloading apps are available in Government Community Cloud (GCC), but are not available for GCC-High and Department of Defense (DOD).
+>
+> * Currently, sideloading of apps is possible only in Government Community Cloud (GCC) and is not possible in GCC-High and Department of Defense (DOD).
+> * App installation is supported only on Teams desktop app.
## Prerequisites
platform Submission Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
You've designed, built, and tested your Microsoft Teams app. Now you're ready to
See the following video to learn more about publishing your app to the Microsoft Teams app store: <br>
-> [!VIDEO <https://www.microsoft.com/videoplayer/embed/RE4WG3l>]
+> [!VIDEO https://www.microsoft.com/videoplayer/embed/RE4WG3l]
<br> Before you submit your app to [Partner Center](/office/dev/store/use-partner-center-to-submit-to-appsource), ensure you've done the following.
platform Sdk Include https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/sdk-include.md
> [!NOTE]
-> This topic reflects version 2.0.x of the Microsoft Teams JavaScript client SDK. If you are using an earlier version, refer to the [Teams JS SDK overview](msteams-docs/msteams-platform/tabs/how-to/../../../../../tabs/how-to/using-teams-client-sdk.md) for guidance on the differences between the latest TeamsJS and earlier versions.
+> This topic reflects version 2.0.x of the Microsoft Teams JavaScript client SDK. If you are using an earlier version, refer to the [Teams JS SDK overview](msteams-docs/msteams-platform/tabs/how-to/../../../../../tabs/how-to/using-teams-client-sdk.md) for guidance on the differences between the latest TeamsJS and earlier versions.
+
platform Define Action Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md
Before creating the action command, you must decide the following factors:
See the following video to learn how to define message extension action commands: <br>
-> [!VIDEO <https://www.microsoft.com/en-us/videoplayer/embed/RE4OANG>]
+> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE4OANG]
<br> ## Select action command invoke locations
platform Define Search Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md
Message extension search commands allow users to search external systems and ins
See the following video to learn how to define message extension search commands: <br>
-> [!VIDEO <https://www.microsoft.com/en-us/videoplayer/embed/RE4OIvK>]
+> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE4OIvK]
<br> ## Select search command invoke locations
You must add the details of the search parameter that defines the text visible t
| `parameter.description` | This property describes the parameterΓÇÖs purposes or example of the value that must be provided. This value appears in the UI. | Yes | 1.0 | | `parameter.title` | This property is a short user-friendly parameter title or label. | Yes | 1.0 | | `parameter.inputType` | This property is set to the type of the input required. Possible values include `text`, `textarea`, `number`, `date`, `time`, `toggle`. Default is set to `text`. | No | 1.4 |
+| `parameters.value` | Initial value for the parameter. Currently the value is not supported | No | 1.5 |
#### Example
platform Configuration Page https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-tab-pages/configuration-page.md
The configuration page code informs Teams that the configuration requirements ar
>[!NOTE] >
->* You have 30 seconds to complete the save operation (the callback to registerOnSaveHandler) before the timeout. After the timeout, a generic error message appears.
+>* You have 30 seconds to complete the save operation (the callback to `registerOnSaveHandler`) before the timeout. After the timeout, a generic error message appears.
>* If you register a save handler using `registerOnSaveHandler()`, the callback must invoke `saveEvent.notifySuccess()` or `saveEvent.notifyFailure()` to indicate the outcome of the configuration. >* If you do not register a save handler, the `saveEvent.notifySuccess()` call is made automatically when the user selects **Save**.
+>* Ensure to have unique `entityId`. Duplicate `entityId` redirects to the first instance of the tab.
### Get context data for your tab settings
Authenticate before allowing a user to configure your app. Otherwise, your conte
## Modify or remove a tab
-Set your manifest's `canUpdateConfiguration` property to `true`. It enables the users to modify, reconfigure, or rename a channel or group tab. Inform the user about the impact on content when a tab is removed. To do this, include a removal options page in the app, and set a value for the `removeUrl` property in the `setConfig()` (formerly `setSettings()`) configuration. The user can uninstall personal tabs but cannot modify them. For more information, see [create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md).
+Set your manifest's `canUpdateConfiguration` property to `true`. It enables the users to modify or reconfigure a channel or group tab. You can rename your tab only through Teams user interface. Inform the user about the impact on content when a tab is removed. To do this, include a removal options page in the app, and set a value for the `removeUrl` property in the `setConfig()` (formerly `setSettings()`) configuration. The user can uninstall personal tabs but cannot modify them. For more information, see [create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md).
Microsoft Teams `setConfig()` (formerly `setSettings()`) configuration for removal page:
platform Debug Background Process https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-background-process.md
Teams Toolkit checks the following prerequisites during the debug process:
|Project type|Node.js LTS version| |-|--| |Tab | 14, 16 (recommended) |
- |SPFx Tab | 12, 14 (recommended)|
+ |SPFx Tab | 12, 14, 16 (recommended)|
|Bot | 14, 16 (recommended)| |Message extension | 14, 16 (recommended) |
platform Connectors Creating https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md
With Microsoft Teams apps, you can add your existing Office 365 Connector or bui
See the following video to learn how to create an Office 365 Connectors: <br>
-> [!VIDEO <https://www.microsoft.com/en-us/videoplayer/embed/RE4OIzv>]
+> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE4OIzv]
<br> [!INCLUDE [sdk-include](~/includes/sdk-include.md)]