|Service||Microsoft Docs article||Related commit history on GitHub||Change details|
|platform||Request Headers Of The Bot||https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/bots/how-to/conversations/request-headers-of-the-bot.md|| +
+ Title: Send tenant ID and conversation ID to the request headers of the bot
+description: describes how to send tenant ID and conversation ID to the request headers of the bot.+
+# Send tenant ID and conversation ID to the request headers of the bot+
+The current outgoing requests to the bot do not contain in the header or URL any information that helps bots route the traffic without unpacking the entire payload. The activities are sent to the bot through a URL similar to https://<your_domain>/api/messages. Requests are received to show the conversation ID and tenant ID in the headers.+
+## Request header fields+
+Two non-standard request header fields are added to all the requests sent to bots, for both asynchronous flow and synchronous flow. The following table provides the request header fields and their values.+
+| Field key | Value |
+| x-ms-conversation-id | The conversation ID corresponding to the request activity if applicable and confirmed or verified. |
+| x-ms-tenant-id | The tenant ID corresponding to the conversation in the request activity. |+
+If the tenant or conversation ID is not present in the activity or was not validated on the service side, the value is empty.+
+![Request header fields](~/assets/images/bots/requestheaderfields.png)
You can also handle rate limit using the per bot per thread limit.## Per bot per thread limit
-> Message splitting at the service level results in higher than expected requests per second (RPS). If you are concerned about approaching the limits, you must implement the [backoff strategy](#backoff-example). The values provided in this section are for estimation only.
+The per bot per thread limit controls the traffic that a bot is allowed to generate in a single conversation. A conversation is 1:1 between bot and user, a group chat, or a channel in a team. So, if the application sends one bot message to each user, the thread limit does not throttle.
-The per bot per thread limit controls the traffic that a bot is allowed to generate on a single conversation. A conversation here is 1:1 between bot and user, a group chat, or a channel in a team.
+> * The thread limit of 3600 seconds and 1800 operations applies only if multiple bot messages are sent to a single user.
+> * The global limit per app per tenant is 30 Requests Per Second (RPS). Hence, the total number of bot messages per second must not cross the thread limit.
+> * Message splitting at the service level results in higher than expected RPS. If you are concerned about approaching the limits, you must implement the [backoff strategy](#backoff-example). The values provided in this section are for estimation only.The following table provides the per bot per thread limits:
A Teams app package is a .zip file containing the following:## Creating a manifest
-*Teams App Studio* can help configure your manifest. It also contains a React control library and configurable samples for cards. See [App Studio Overview](~/concepts/build-and-test/app-studio-overview.md).
+**Teams App Studio** can help configure your manifest. It also contains a React control library and configurable samples for cards. For more information, see [App Studio Overview](~/concepts/build-and-test/app-studio-overview.md).Your manifest file must be named "manifest.json" and be at the top level of the upload package. Note that manifests and packages built previously might support an older version of the schema. For Teams apps and especially AppSource (formerly Office Store) submission, you must use the current [manifest schema](~/resources/schem). > [!TIP] > Specify the schema at the beginning of your manifest to enable IntelliSense or similar support from your code editor: >
-> `"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",`-
+> `"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.9/MicrosoftTeams.schema.json",`
+## App icons Your app package must include two PNG versions of your app iconΓÇöa color icon and an outline icon. For your app to pass the AppSource review, these icons must meet the following size requirements.
An outline icon displays in two scenarios:The icon must be 32x32 pixels. It can be white with a transparent background or transparent with a white background (no other colors are permitted). The outline icon should not have any extra padding around the symbol. ### Best practices
|platform||Cards Format||https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/task-modules-and-cards/cards/cards-format.md|| Title: Text formatting in cards description: Describes card text formatting in Microsoft Teams keywords: teams bots cards format
+localization_priority: NormalLast updated 03/29/2018
Bots and messaging extensions can include mentions within the card content in [T#### Constructing mentions
-To include a mention in an Adaptive card your app needs to include the following elements
+To include a mention in an Adaptive Card your app needs to include the following elements:
-* `<at>username</at>` in the supported Adaptive card elements
-* The `mention` object inside of an `msteams` property in the card content, which includes the Teams user id of the user being mentioned
+* `<at>username</at>` in the supported Adaptive card elements.
+* The `mention` object inside of an `msteams` property in the card content, which includes the Teams user id of the user being mentioned.
+* The `userId` is unique to your bot ID and a particular user. It can be used to @mention a particular user. The `userId` can be retrieved using one of the options mentioned in [get the user ID](https://docs.microsoft.com/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages?tabs=dotnet#get-the-user-id-team-id-or-channel-id).#### Sample Adaptive card with a mention
To include a mention in an Adaptive card your app needs to include the following} ``` - ### Information masking in Adaptive cards Use the information masking property to mask specific information, such as password or sensitive information from users within the Adaptive card [`Input.Text`](https://adaptivecards.io/explorer/Input.Text.html) input element.