Forum Discussion
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
- Create a test chat in Microsoft Teams
- Obtain OAuth2 token with `Chat.ReadWrite` scope
- Send the above payload via Graph API
- 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
- **Is this a bug or by design?** If by design, why does the documentation describe `summary` as useful for notifications?
- **Is there an alternative mechanism** to control preview text for Adaptive Card messages?
- **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:
- **Fix the implementation** to honor the `summary` field for Adaptive Card messages, OR
- **Provide an alternative mechanism** to control notification/preview text, OR
- **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!
---