Forum Discussion
Adaptive Cards in Teams channel messages: fixed narrow width — request for width control
Hi Teams Platform team,
We post structured status reports as Adaptive Cards into a Teams channel. The card consistently renders at a fixed width of 448 px on a 1080p display at 100% scaling with a maximized Teams desktop client — well below the available channel message stream width. Wide multi-column tables get truncated or wrapped, which significantly hurts readability.
What we've tried
- No card-level `width` property exists in the Adaptive Cards schema.
- `msteams.width: "Full"` is documented to apply only to Stageview / task module / tab — silently ignored in channel messages (tested).
- Same payload via three delivery paths — Incoming Webhook, Logic App "Post adaptive card in chat or channel", and Microsoft Graph `POST /teams/{id}/channels/{id}/messages` — all render at the same narrow fixed width. The constraint is in the Teams channel-message renderer, not in any delivery layer.
Minimal repro payload (7-column results table; all field names and values replaced with generic placeholders):
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.5",
"msteams": { "width": "Full" },
"body": [
{
"type": "TextBlock",
"text": "Pipeline Report — run-001",
"weight": "Bolder",
"size": "Medium"
},
{
"type": "Table",
"gridStyle": "accent",
"firstRowAsHeaders": true,
"columns": [
{ "width": 2 }, { "width": 1 }, { "width": 2 },
{ "width": 1 }, { "width": 2 }, { "width": 1 }, { "width": 1 }
],
"rows": [
{
"type": "TableRow",
"cells": [
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Col-1", "weight": "Bolder", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Col-2", "weight": "Bolder", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Col-3", "weight": "Bolder", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Δ Col-3", "weight": "Bolder", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Col-4", "weight": "Bolder", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Δ Col-4", "weight": "Bolder", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "Status", "weight": "Bolder", "size": "Small" }] }
]
},
{
"type": "TableRow",
"cells": [
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "item-a", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "mode-x", "size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "0.000/0.000","size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "+0.00%", "size": "Small", "color": "Good" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "0.000/0.000","size": "Small" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "-0.00%", "size": "Small", "color": "Attention" }] },
{ "type": "TableCell", "items": [{ "type": "TextBlock", "text": "✅ Pass", "size": "Small" }] }
]
}
]
}
]
}
}
]
}
`msteams.width: "Full"` is present but has no visible effect in the channel message context.
Feature request
Either of:
- Honor `msteams.width: "Full"` in channel-message context (not just Stageview/task module/tab), OR
- Add a card-level property (e.g. `msteams.channelWidth: "Full" | "Default"`) explicitly scoped to channel messages.
Is this a known limitation with an existing tracking item, or should we also file it on the M365 Feedback Portal for upvotes?
Thanks!
5 Replies
- Nivedipa-MSFT
Microsoft
Thanks for bringing this issue to our attention. We will check and update you soon.
- JunjianX
Microsoft
Hi team, is there any update?
- Nivedipa-MSFT
Microsoft
Hello @JunjianX,
This is a known, intentional limitation of the Teams channel-message renderer, not a bug in your payload or delivery path. Adaptive Cards posted as channel/chat messages render inside the standard message bubble, which is width-capped (~448 px) by the Teams client. msteams.width: "Full" is scoped by design to Stageview, task module, and tab surfaces and is silently ignored in channel-message context. There is no card-level or msteams.* property today that overrides this for channel posts.
Workarounds available today
- Stageview — open the same card via Stageview where msteams.width: "Full" is honored and renders edge-to-edge.
- Tab or task module — host the full report in a channel/personal tab or task module for full-width rendering.
- Compact the payload — merge Δ columns into the value cell (e.g., 0.000 / 0.000 (+0.00%)), drop low-signal columns, or post a summary card in-channel with a "View full report" action that launches Stageview.
Feature request
We appreciate your input. To ensure your idea is considered for future updates, we recommend submitting it through the Teams Feedback Portal. There is no public tracking item to point to, and upvotes on that portal are what the Teams renderer team uses to prioritize this class of request.
If you found the information above helpful, I would appreciate it if you could share your feedback.
Your feedback is important to us. Please rate us:
🤩 Excellent 🙂 Good 😐 Average 🙁 Needs Improvement 😠 Poor
- JunjianX
Microsoft
Including those with plain text content only.
- JunjianX
Microsoft