Skip to content

Microsoft Teams Messaging Extension - Copy Button Fails with Adaptive Cards Containing More Than 5 FactSet Items #1837

@shreyanshjha

Description

@shreyanshjha

Dear Microsoft Support Team,
We are experiencing a critical issue with the copy functionality in Microsoft Teams messaging extensions when using Adaptive Cards with FactSet elements containing more than 5 facts.
Issue Summary
Problem: The copy button in the messaging extension search results fails silently when an Adaptive Card's FactSet contains more than 5 items. The button appears but does nothing when clicked - no error is shown to the user, and the card is not copied to the clipboard.

Environment:

  • Microsoft Teams Version: [Latest Desktop/Web Client]
  • Adaptive Card Version: 1.5
  • Bot Framework SDK: Node.js
  • Messaging Extension Type: Search-based (composeExtension/query + composeExtension/selectItem)

Reproduction Steps

  1. Create a messaging extension with search functionality
  2. Implement composeExtension/selectItem handler that returns an Adaptive Card
  3. Include a FactSet with 6 or more facts in the card
  4. Search for and select an item from the messaging extension
  5. Click the copy button (clipboard icon) in the card detail view
  6. Attempt to paste (Ctrl+V) in the compose box

Expected Result: Card is copied to clipboard and can be pasted
Actual Result: Nothing happens - copy fails silently

Working vs. Non-Working Examples

WORKING - 5 Facts (Copy Button Works)

function buildTaskCard (taskData) {
return {
    composeExtension: {
      type: "result",
      attachmentLayout: "list",
      attachments: [{
        contentType: "application/vnd.microsoft.card.adaptive",
        content: {
          $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
          type: "AdaptiveCard",
          version: "1.5",
          body: [
            {
              type: "TextBlock",
              text: `NE382-1 xxcvcxv`,
              weight: "Bolder",
              size: "Large"
            },
            {
              type: "FactSet",
              facts: [
                { title: "Project", value: "New project" },
                { title: "Assignee", value: "Unassigned" },
                { title: "Status", value: "New1" },
                { title: "Priority", value: "Medium" },
                { title: "Type", value: "task1" }
              ]
            }
          ],
          actions: [{
            type: "Action.OpenUrl",
            title: "View Task",
            url: "https://example.com/task/123"
          }]
        },
        preview: {
          contentType: "application/vnd.microsoft.card.thumbnail",
          content: {
            title: `NE382-1 xxcvcxv`,
            subtitle: "New project",
            text: "View task"
          }
        }
      }]
    }
  };

NOT WORKING - More than 5 Facts (Copy Button Fails)

function buildTaskCardWithSection(taskData) {
  return {
    composeExtension: {
      type: "result",
      attachmentLayout: "list",
      attachments: [{
        contentType: "application/vnd.microsoft.card.adaptive",
        content: {
          $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
          type: "AdaptiveCard",
          version: "1.5",
          body: [
            {
              type: "TextBlock",
              text: `NE382-1 xxcvcxv`,
              weight: "Bolder",
              size: "Large"
            },
            {
              type: "FactSet",
              facts: [
                { title: "Project", value: "New project" },
                { title: "Section", value: "SPRINT 2" },        // Additional fact
                { title: "Assignee", value: "Unassigned" },
                { title: "Status", value: "New1" },
                { title: "Priority", value: "Medium" },
                { title: "Type", value: "task1" }
              ]
            }
          ],
          actions: [{
            type: "Action.OpenUrl",
            title: "View Task",
            url: "https://example.com/task/123"
          }]
        },
        preview: {
          contentType: "application/vnd.microsoft.card.thumbnail",
          content: {
            title: `NE382-1 xxcvcxv`,
            subtitle: "New project / SPRINT 2",
            text: "View task"
          }
        }
      }]
    }
  };
}
Image

Attempted Workarounds (All Failed)

  1. Multiple FactSets: Split facts into two separate FactSet elements → Still fails
  2. TextBlock with Markdown: Replace FactSet with formatted TextBlock → Copy works but formatting is poor after paste
  3. ColumnSet Layout: Use ColumnSet with TextBlocks → Copy fails
  4. Different Field Names: Changed field names thinking "Section" might be reserved → Still fails

Questions

  1. Is the 5-fact limit a documented limitation or a bug?
  2. If it's intentional, what is the reasoning behind this limit?
  3. Is there a recommended workaround that maintains good formatting AND copy functionality?
  4. Will this limitation be addressed in future releases?

Request
We kindly request that this issue be investigated and either:

  • The 5-fact limit be removed or significantly increased (to at least 10-12 facts)
  • Official documentation be updated to clearly state this limitation
  • Alternative approaches be provided that support more than 5 facts while maintaining copy functionality

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions