botbuilder-js icon indicating copy to clipboard operation
botbuilder-js copied to clipboard

Teams Tab that renders adaptive cards

Open maxyasoon opened this issue 2 months ago • 0 comments

Is your feature request related to a problem? Please describe.

Currently, activity feed notifications in Microsoft Teams only support plain text and links.
As a developer, I’d like to send rich, contextual notifications that include an Adaptive Card attachment, so that when a user clicks the activity, Teams can open a purpose built tab preloaded with that card content.

Right now, the only way to show an Adaptive Card is via a bot message in a chat or channel.

Describe the solution you'd like

Allow developers to attach Adaptive Cards to activity notifications. When a user clicks the activity, Teams should open a tab or task module where that card is automatically displayed using the card data included in the original notification payload.

Proposed structure:

{
  "topic": { "source": "text", "value": "New request" },
  "activityType": "systemDefault",
  "previewText": { "content": "You have a new request to review." },
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": { ... }
    }
  ],
  "openTarget": {
    "type": "tab",
    "entityId": "request-123"
  }
}

This would let the activity feed serve as a clean entry point to Adaptive Cards without the need to clutter the activity chat.

Ui idea: Image

Describe alternatives you've considered

  • Sending Adaptive Cards via bot chat → works, but clutters the activity chat, and all adaptive cards would have to be send into this chat
  • Hosting cards in a custom tab and linking to it → we have to render the card on our own which works, but never looks exactly like in teams

Additional context

This would make activity notifications much more powerful — enabling scenarios like “Approve request”, “Review item”, or “Update record” — all surfaced through the feed but shown in a proper tab UI.

maxyasoon avatar Nov 05 '25 12:11 maxyasoon