Forum Discussion

colivi's avatar
colivi
Copper Contributor
Dec 13, 2025

Graph API: summary field ignored for Adaptive Card message notifications/preview

Hello,

 

Problem Summary

When sending Adaptive Cards via Microsoft Graph API to Teams chats, the `summary` field in the message payload is completely ignored. This results in unhelpful generic notifications like "Card" or "Sent an attachment" instead of meaningful preview text.

Environment

- **API**: Microsoft Graph API v1.0

- **Endpoint**: `POST /chats/{chat-id}/messages`

- **Platform**: Microsoft Teams (Desktop, Web, Mobile)

- **Adaptive Card Version**: 1.5

Expected Behavior

According to the https://learn.microsoft.com/en-us/graph/api/resources/chatmessage?view=graph-rest-1.0, the `summary` property should be used for:

> "Summary text of the message that could be used for push notifications and summary views or fall back views"

 

When sending a message with `summary: "🚨 Big Alert: This is a real issue"`, I expect:

- ✅ Teams notification toast displays: "🚨 Big Alert: This is a real issue"

- ✅ Chat list preview shows: "🚨 Big Alert: This is a real issue"  

- ✅ Activity feed shows: "🚨 Big Alert: This is a real issue"

Actual Behavior

The `summary` field has **no effect** on notifications or previews:

- ❌ Notification shows generic text: "Card" or "Sent an attachment"

- ❌ Chat list preview shows generic text or first TextBlock from card

- ❌ Activity feed shows generic text

- ❌ The `summary` field appears to be completely ignored

 

Minimal Reproduction
Request Payload

```json

POST https://graph.microsoft.com/v1.0/chats/{chat-id}/messages

Content-Type: application/json

Authorization: Bearer {token}

 

{

  "body": {

    "contentType": "html",

    "content": "<attachment id=\"card001\"></attachment>"

  },

  "attachments": [

    {

      "id": "card001",

      "contentType": "application/vnd.microsoft.card.adaptive",

      "content": {

        "type": "AdaptiveCard",

        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",

        "version": "1.5",

        "body": [

          {

            "type": "TextBlock",

            "text": "Critical Alert",

            "weight": "bolder",

            "size": "large",

            "color": "attention"

          },

          {

            "type": "TextBlock",

            "text": "Database connection has failed. Please investigate immediately.",

            "wrap": true

          }

        ],

        "actions": [

          {

            "type": "Action.OpenUrl",

            "title": "View Details",

            "url": "https://example.com/alerts/12345"

          }

        ]

      }

    }

  ],

  "summary": "🚨 Big Alert: This is a real issue"

}

```

Steps to Reproduce
  1. Create a test chat in Microsoft Teams
  2. Obtain OAuth2 token with `Chat.ReadWrite` scope
  3. Send the above payload via Graph API
  4. Observe notification/preview in Teams client

 

**Result**: The `summary` field is ignored, notification shows generic text.

Business Impact

This limitation severely impacts user experience for:

- **Alert/incident notifications** - Users can't identify urgency without opening the chat

- **High-volume scenarios** - Users can't triage messages efficiently

- **Time-sensitive operations** - Critical alerts look identical to routine messages

 

Our team manages 200+ incident notifications daily via Adaptive Cards. Without meaningful previews, users must open every notification to assess priority, defeating the purpose of notifications.

Workarounds Attempted

❌ **Setting `summary` at message level** - Ignored when attachments present  

❌ **Adding preview text in `body.content`** - Overwritten by attachment  

❌ **Using different `contentType` values** - No improvement  

❌ **Including fallback text in Adaptive Card** - Not displayed in preview  

✅ **Only working solution**: Send plain text message first, then card separately (terrible UX)

Questions
  1. **Is this a bug or by design?** If by design, why does the documentation describe `summary` as useful for notifications?
  2. **Is there an alternative mechanism** to control preview text for Adaptive Card messages?
  3. **Is this being tracked internally?** This seems like a fundamental limitation for bot developers.
Full Reproduction Package

I've created a complete reproduction package with test scripts and detailed documentation:

- Test payload JSON

- Bash/PowerShell test scripts

- Step-by-step reproduction guide

 

Can share via GitHub gist if helpful for the team to investigate.

Request

Please either:

  1. **Fix the implementation** to honor the `summary` field for Adaptive Card messages, OR
  2. **Provide an alternative mechanism** to control notification/preview text, OR
  3. **Update the documentation** to clarify that `summary` is not supported for Adaptive Cards

 

This is blocking our production alert system deployment. Any guidance would be greatly appreciated!

 

---

No RepliesBe the first to reply

Resources