Skip to content

[Bug] Targeted Messages (devPreview) returns 403 THREADACCESSDENIED-209 on all thread types including valid @thread.v2 group chats #14434

Description

@Splashing23

Steps to reproduce

  1. Enable Teams public developer preview on the desktop client
    (Settings > About Teams > Developer Preview)

  2. 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
    }
    ]
    }

  3. Sideload the app package into a tenant with developer preview enabled.

  4. Create a standard group chat (3+ human participants, resulting in a
    thread ID of the form 19:xxxxx@thread.v2).

  5. Add the bot to the group chat via the Apps (+) button.

  6. In the group chat compose box, type "/" — the bot appears correctly
    in the slash command autocomplete menu.

  7. Select the bot from the slash command menu, type a message, click Send.

  8. Teams client shows "Failed to send." immediately. The bot endpoint
    receives no activity whatsoever.

  9. 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

Metadata

Metadata

Assignees

Labels

bugteams-developer-supportQuestion related to extensibility (Bot, ME, Tab) would be marked under this label

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions