Skip to content

[Bug] Microsoft Teams: HTTP 403 on proactive messages in v2026.3.31 + RSC consent blocks bot installation in team #58774

@grafoteka

Description

@grafoteka

Environment

  • OpenClaw version: 2026.3.31 (tested), 2026.3.23-2 (stable workaround)
  • OS: macOS 15 (Sequoia)
  • Channel: Microsoft Teams
  • Node: 25.6.1

Bug 1: HTTP 403 on all proactive messages in v2026.3.31

After upgrading from 2026.3.23-2 to 2026.3.31, the Teams provider fails with HTTP 403 on all proactive message deliveries.

Log output:

msteams send failed (HTTP 403): Request failed with status code 403 (check msteams appId/appPassword/tenantId)

Credentials in openclaw.json are correct (same config that works fine on 2026.3.23-2). The bot responds correctly to DMs (inbound works),
but cannot send any outbound proactive messages.

Rolled back to 2026.3.23-2 — issue resolved immediately.

Bug 2: RSC consent cannot be granted when installing bot in Teams team

When publishing an app with RSC permissions in the manifest (authorization.permissions.resourceSpecific), Teams UI blocks installation at the team level with:

"An error occurred. Ask your IT admin to look into this and add
this app for you."

This happens regardless of: app being published and approved in Teams Admin Center, Graph API permissions granted (TeamsAppInstallation.ReadWriteForTeam.All, AppCatalog.ReadWrite.All), or installation attempted via Graph API POST /teams/{id}/installedApps.

The bot installs correctly at the channel level and via DM, but RSC requires team-level installation. Without RSC, the bot cannot receive channel messages without @mention, and cannot reply in threads.

Feature Request

Native RSC support in OpenClaw's Teams integration — ideally the gateway should handle RSC consent flow automatically during team installation, similar to how it handles OAuth flows for other providers.

Workaround

Using v2026.3.23-2 with @mention only. Bot installed at channel level without RSC manifest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions