Skip to content

[msteams] Adaptive Card Action.Submit invoke activities silently dropped #55384

@ndholakia

Description

@ndholakia

Description

When a user clicks an Action.Submit button on an Adaptive Card sent by the bot in Teams, the invoke activity arrives at the msteams provider but is silently dropped. The provider logs received message followed by skipping empty message after stripping mentions — the invoke payload in the value field is ignored because the provider only looks at the text field.

Steps to Reproduce

  1. Send an Adaptive Card with Action.Submit buttons via the Bot Framework API
  2. User clicks a button in Teams
  3. Observe logs: received messageskipping empty message after stripping mentions
  4. Agent never receives the button click data

Expected Behavior

The invoke activity should be forwarded to the agent with the button's data payload, allowing the agent to process the user's selection.

Actual Behavior

The provider treats the invoke as a regular message, strips mentions (finding none), ends up with empty text, and skips the message entirely. The value field containing the button data is never examined.

Root Cause

In src/monitor-handler.ts (or equivalent), the handler processes adaptiveCard/action invoke activities the same as regular messages. It strips @mention tags from the text field, finds nothing, and drops the message. The value field (which contains the Action.Submit payload) is not checked.

The provider already handles fileConsent/invoke and message/submitAction invoke types — adaptiveCard/action needs similar treatment.

Workaround

Use Action.OpenUrl buttons instead (these work because they open a URL client-side without sending an invoke). For interactive decisions, use a "Display + Reply" pattern: show options in a card, ask the user to reply with their choice as text.

Environment

  • OpenClaw version: 2026.3.22
  • Docker image: ghcr.io/openclaw/openclaw:latest
  • Channel: msteams (Bot Framework, single tenant)
  • Adaptive Card schema version: 1.5

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