Steps to reproduce
-
Enable Teams public developer preview on the desktop client
(Settings > About Teams > Developer Preview)
-
Create an app manifest with the following bot configuration:
{
"manifestVersion": "devPreview",
"$schema": "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",
"bots": [
{
"botId": "{{BOT_ID}}",
"scopes": ["personal", "team", "groupChat"],
"supportsTargetedMessages": true
}
]
}
-
Sideload the app package into a tenant with developer preview enabled.
-
Create a standard group chat (3+ human participants, resulting in a
thread ID of the form 19:xxxxx@thread.v2).
-
Add the bot to the group chat via the Apps (+) button.
-
In the group chat compose box, type "/" — the bot appears correctly
in the slash command autocomplete menu.
-
Select the bot from the slash command menu, type a message, click Send.
-
Teams client shows "Failed to send." immediately. The bot endpoint
receives no activity whatsoever.
-
Confirmed via Teams desktop DevTools
(Engineering Tools > Open Dev Tools > Network tab):
POST https://teams.microsoft.com/api/chatsvc/amer/v1/users/ME/
conversations/{conversationId}/targetedmessages
Status: 403 Forbidden
Response header: mfeDiagCode: 002-THREADACCESSDENIED-209
Docs reference:
https://learn.microsoft.com/en-us/microsoftteams/platform/agents-in-teams/targeted-messages
Expected behavior
The targeted message POST to /targetedmessages should succeed (HTTP 200/201)
for a valid @thread.v2 group chat where all of the following are true:
- The sending user's Teams client is in developer preview mode
- The bot app manifest includes "supportsTargetedMessages": true
with manifestVersion "devPreview"
- The bot is installed as a member of the group chat
- The conversation thread is a standard group chat
(not a meeting chat, not a 1:1)
The bot should receive the targeted message activity with isTargeted: true
on its messaging endpoint, per the documentation linked above.
Actual behavior
The POST to /targetedmessages returns HTTP 403 Forbidden with
mfeDiagCode: 002-THREADACCESSDENIED-209 on ALL thread types tested,
including the correct @thread.v2 group chat. The bot endpoint receives
zero traffic. "Failed to send." appears immediately in the Teams client UI.
Three thread types were tested — all return the identical error:
Thread type 1 — Meeting chat (19:meeting_xxxxx@thread.v2):
Expected: documented as unsupported, 403 is acceptable here
Actual: 403, mfeDiagCode: 002-THREADACCESSDENIED-209 ✓ expected
Thread type 2 — 1:1 chat (19:userA_userB@unq.gbl.spaces):
Expected: documented as unsupported, 403 is acceptable here
Actual: 403, mfeDiagCode: 002-THREADACCESSDENIED-209 ✓ expected
Thread type 3 — Standard group chat (19:xxxxxxxxxxxxxxxx@thread.v2):
Expected: 200/201 — this is the documented supported thread type
Actual: 403, mfeDiagCode: 002-THREADACCESSDENIED-209 ✗ BUG
The slash command UI works correctly (bot appears in autocomplete),
confirming the manifest is being read. The failure is entirely server-side
at the msgapi ACL layer, not client-side or manifest-related.
Teams client version: 26149.1207.4799.7632 (clientVer: 49/26052906114)
OS: Windows NT 10.0
Error details
=== Trace 3: Standard group chat — the critical failure ===
Request:
POST https://teams.microsoft.com/api/chatsvc/amer/v1/users/ME/
conversations/19%3Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%40thread.v2/
targetedmessages
Status: 403 Forbidden
Remote Address: 52.123.130.14:443
Response Headers:
contextid: tcid=0,server=msgapi-production-scus-13-0,
cv=HMM4V+Yb+Ema2by0Pu2nFg.0,
mfeDiagCode: 002-THREADACCESSDENIED-209
ms-cv: HMM4V+Yb+Ema2by0Pu2nFg.0
date: Tue, 16 Jun 2026 20:59:30 GMT
content-type: application/json; charset=utf-8
=== Trace 1: Meeting chat (for completeness) ===
contextid: mfeDiagCode: 002-THREADACCESSDENIED-209
ms-cv: jr42UFIjhUGFl37xjCX0tw.0
date: Tue, 16 Jun 2026 20:50:55 GMT
=== Trace 2: 1:1 chat (for completeness) ===
contextid: mfeDiagCode: 002-THREADACCESSDENIED-209
ms-cv: RkIujLyzMUSGChB4p31Exg.0
date: Tue, 16 Jun 2026 20:58:04 GMT
=== Environment ===
Teams client: 26149.1207.4799.7632
clientVer: 49/26052906114
OS: Windows NT 10.0
Client mode: Developer Preview enabled
Manifest version: devPreview
supportsTargetedMessages: true (confirmed in manifest)
Bot installed in chat: yes, confirmed before testing
Token scope: Teams.AccessAsUser.All (confirmed in JWT scp claim)
x-ms-test-user: False
Steps to reproduce
Enable Teams public developer preview on the desktop client
(Settings > About Teams > Developer Preview)
Create an app manifest with the following bot configuration:
{
"manifestVersion": "devPreview",
"$schema": "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",
"bots": [
{
"botId": "{{BOT_ID}}",
"scopes": ["personal", "team", "groupChat"],
"supportsTargetedMessages": true
}
]
}
Sideload the app package into a tenant with developer preview enabled.
Create a standard group chat (3+ human participants, resulting in a
thread ID of the form 19:xxxxx@thread.v2).
Add the bot to the group chat via the Apps (+) button.
In the group chat compose box, type "/" — the bot appears correctly
in the slash command autocomplete menu.
Select the bot from the slash command menu, type a message, click Send.
Teams client shows "Failed to send." immediately. The bot endpoint
receives no activity whatsoever.
Confirmed via Teams desktop DevTools
(Engineering Tools > Open Dev Tools > Network tab):
POST https://teams.microsoft.com/api/chatsvc/amer/v1/users/ME/
conversations/{conversationId}/targetedmessages
Status: 403 Forbidden
Response header: mfeDiagCode: 002-THREADACCESSDENIED-209
Docs reference:
https://learn.microsoft.com/en-us/microsoftteams/platform/agents-in-teams/targeted-messages
Expected behavior
The targeted message POST to /targetedmessages should succeed (HTTP 200/201)
for a valid @thread.v2 group chat where all of the following are true:
with manifestVersion "devPreview"
(not a meeting chat, not a 1:1)
The bot should receive the targeted message activity with isTargeted: true
on its messaging endpoint, per the documentation linked above.
Actual behavior
The POST to /targetedmessages returns HTTP 403 Forbidden with
mfeDiagCode: 002-THREADACCESSDENIED-209 on ALL thread types tested,
including the correct @thread.v2 group chat. The bot endpoint receives
zero traffic. "Failed to send." appears immediately in the Teams client UI.
Three thread types were tested — all return the identical error:
Thread type 1 — Meeting chat (19:meeting_xxxxx@thread.v2):
Expected: documented as unsupported, 403 is acceptable here
Actual: 403, mfeDiagCode: 002-THREADACCESSDENIED-209 ✓ expected
Thread type 2 — 1:1 chat (19:userA_userB@unq.gbl.spaces):
Expected: documented as unsupported, 403 is acceptable here
Actual: 403, mfeDiagCode: 002-THREADACCESSDENIED-209 ✓ expected
Thread type 3 — Standard group chat (19:xxxxxxxxxxxxxxxx@thread.v2):
Expected: 200/201 — this is the documented supported thread type
Actual: 403, mfeDiagCode: 002-THREADACCESSDENIED-209 ✗ BUG
The slash command UI works correctly (bot appears in autocomplete),
confirming the manifest is being read. The failure is entirely server-side
at the msgapi ACL layer, not client-side or manifest-related.
Teams client version: 26149.1207.4799.7632 (clientVer: 49/26052906114)
OS: Windows NT 10.0
Error details
=== Trace 3: Standard group chat — the critical failure ===
Request:
POST https://teams.microsoft.com/api/chatsvc/amer/v1/users/ME/
conversations/19%3Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%40thread.v2/
targetedmessages
Status: 403 Forbidden
Remote Address: 52.123.130.14:443
Response Headers:
contextid: tcid=0,server=msgapi-production-scus-13-0,
cv=HMM4V+Yb+Ema2by0Pu2nFg.0,
mfeDiagCode: 002-THREADACCESSDENIED-209
ms-cv: HMM4V+Yb+Ema2by0Pu2nFg.0
date: Tue, 16 Jun 2026 20:59:30 GMT
content-type: application/json; charset=utf-8
=== Trace 1: Meeting chat (for completeness) ===
contextid: mfeDiagCode: 002-THREADACCESSDENIED-209
ms-cv: jr42UFIjhUGFl37xjCX0tw.0
date: Tue, 16 Jun 2026 20:50:55 GMT
=== Trace 2: 1:1 chat (for completeness) ===
contextid: mfeDiagCode: 002-THREADACCESSDENIED-209
ms-cv: RkIujLyzMUSGChB4p31Exg.0
date: Tue, 16 Jun 2026 20:58:04 GMT
=== Environment ===
Teams client: 26149.1207.4799.7632
clientVer: 49/26052906114
OS: Windows NT 10.0
Client mode: Developer Preview enabled
Manifest version: devPreview
supportsTargetedMessages: true (confirmed in manifest)
Bot installed in chat: yes, confirmed before testing
Token scope: Teams.AccessAsUser.All (confirmed in JWT scp claim)
x-ms-test-user: False