Sep 13 2024 07:22 AM - edited Sep 13 2024 07:24 AM
Hi,
I have a workflow setup on my teams private channel. I modified the workflow to post as "User" (otherwise it does not work). I am able to post message to the private channel successfully but the message is empty only on mobile private channels. The messages contain an adaptive card.
I am able to see the message on my desktop application private channels, but not on my Teams mobile app private channels. There is just an empty message display on the mobile app.
Is there any settings that I need to change to fix this? Or should be the payload be different in this case?
This payloads works for desktop private and public channel and mobile public channel. The issue seems to be on mobile app private channel.
{
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4",
"content": {
"msteams": { "width": "full" },
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"style": "warning",
"bleed": true,
"items": [
{
"type": "TextBlock",
"size": "medium",
"weight": "bolder",
"text": "Test title",
"style": "heading",
"wrap": true
}
]
},
{
"type": "TextBlock",
"size": null,
"weight": null,
"text": "Test description",
"style": null,
"wrap": true
},
{
"type": "FactSet",
"facts": [
{ "title": "custom:stringKey", "value": "value-string" },
{ "title": "custom:stringSetSingleton", "value": "singleton" },
{
"title": "custom:stringSet",
"value": "forth item, third item, tenth item, sixth item, eighth item, eleventh item, eighteenth item, second item, twentieth item, ninth item, seventeenth item, first item, nineteenth item, seventh item, fo..."
}
]
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View Item",
"url": "https://example.com"
}
]
}
}
]
}
Sep 15 2024 10:23 PM
@nevilk , Thanks for raising your issue. We will check this at our end and will update you accordingly.
Sep 16 2024 02:36 AM
@nevilk , we tried to repro this issue using Workflow and the same card JSON provided, however it sends empty card irrespective of private or public channel in both Teams desktop/web and mobile client.
Sep 16 2024 06:33 AM - edited Sep 16 2024 06:37 AM
Hi @Prasad_Das-MSFT, thanks for taking a look. I believe you are seeing that because of the payload you are using for that workflow. The payload contains a list on adaptiveCards inside the attachments field.
For the action that you are using Post a card in a chat or channel, you need to pass a specific adaptiveCard and not a list of adaptiveCards.
I was using the workflow called Post to a channel when a webhook request is received. This workflow will iterate through each adaptiveCard in the payload and then post each card to the channel.
May you please retry with this workflow? Here are the some screenshots from my end.
Please note that this exact payload is working for public channels on mobile teams and both public/private on macOS teams.
MacOS Teams version: Version 24215.1002.3039.5089 (24215.1002.3039.5089)
iOS Teams version: Version 6.16.2 Build 6.16.77.20241629011/0903 (general)
Sep 16 2024 07:36 AM
Hi @Prasad_Das-MSFT, thanks for looking into this issue. I believe you are seeing that behavior due to the payload you are using. The payload provided contains a list of adaptiveCards in the attachments field.
The action you are using here Post card in a chat or channel requires a single adpativeCard.
I was using the default workflow called Post to a channel when a webhook request is received, which iterates through each of the adpativeCard in the list and posts it to a channel using the action you used seaprately.
May you try again with this workflow? I am attaching few screenshots from my end.
Please note that this is working on public channels in mobile teams and on public/private channels on macOS teams.
For some reason, the first time I replied it was posted and now its removed. Hence this post.
MacOS teams version: Version 24215.1002.3039.5089
iOS teams version: Version: 6.16.2 Build: 6.16.77.2024162901/0903
Sep 17 2024 12:19 AM
@nevilk , how are you triggering the flow, are you using cURL command? Could you please explain?
Sep 17 2024 07:59 AM
Hi @Prasad_Das-MSFT, yes I either use a cURL command or POST the payload to the workflow URL using Postman.
Sep 18 2024 05:04 AM - edited Sep 18 2024 05:06 AM
@nevilk, we are able to repro this issue now. The card renders perfectly in Teams desktop/web client, however in mobile devices (irrespective of private or public channel) it renders empty.
Teams web/desktop:
Mobile:
We have raised a bug for this issue. We will inform you once we get any further update from engineering team.
Thanks,
Prasad Das
------------------------------------------------------------------------------------------
If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate.
Sep 18 2024 08:18 AM
@Prasad_Das-MSFT Thanks for confirming this. I wanted to note that this issue seems specific to private channels in mobile teams.
Public channel in mobile teams works as expected from my end. See screenshots:
MacOS Team public channel:
iOS Team public channel:
Sep 18 2024 09:17 PM - edited Sep 19 2024 02:31 AM
Solution@nevilk ,we changed the card JSON format as below and it started rendering properly in both Teams Mobile Public and private channels. Could you please try once and let us know if it renders at your end as well?
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4",
"body": [
{
"type": "Container",
"style": "warning",
"bleed": true,
"items": [
{
"type": "TextBlock",
"size": "medium",
"weight": "bolder",
"text": "Test title",
"style": "heading",
"wrap": true
}
]
},
{
"type": "TextBlock",
"size": null,
"weight": null,
"text": "Test description",
"style": null,
"wrap": true
},
{
"type": "FactSet",
"facts": [
{ "title": "custom:stringKey", "value": "value-string" },
{ "title": "custom:stringSetSingleton", "value": "singleton" },
{
"title": "custom:stringSet",
"value": "forth item, third item, tenth item, sixth item, eighth item, eleventh item, eighteenth item, second item, twentieth item, ninth item, seventeenth item, first item, nineteenth item, seventh item, fo..."
}
]
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View Item",
"url": "https://example.com"
}
]
}
}
]
}
Result: (Both in Private and Public channel in Mobile devices)
Android:
iOS:
Sep 20 2024 12:35 PM
@Prasad_Das-MSFT Thanks for the updated payload. I can confirm its working on mobile Teams private channels. I wonder if this is an inconsistency in the backend processing payloads for cross platforms, as it works for desktop/web and mobile public channels. Would engineering still be looking into this?
Sep 22 2024 10:43 PM
@nevilk , we already have a bug raised for this. If we get any update from engineering team, we will definitely inform you. Thanks!
If the response was helpful, please share your feedback via Microsoft Teams Developer Feedback link.
Sep 18 2024 09:17 PM - edited Sep 19 2024 02:31 AM
Solution@nevilk ,we changed the card JSON format as below and it started rendering properly in both Teams Mobile Public and private channels. Could you please try once and let us know if it renders at your end as well?
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4",
"body": [
{
"type": "Container",
"style": "warning",
"bleed": true,
"items": [
{
"type": "TextBlock",
"size": "medium",
"weight": "bolder",
"text": "Test title",
"style": "heading",
"wrap": true
}
]
},
{
"type": "TextBlock",
"size": null,
"weight": null,
"text": "Test description",
"style": null,
"wrap": true
},
{
"type": "FactSet",
"facts": [
{ "title": "custom:stringKey", "value": "value-string" },
{ "title": "custom:stringSetSingleton", "value": "singleton" },
{
"title": "custom:stringSet",
"value": "forth item, third item, tenth item, sixth item, eighth item, eleventh item, eighteenth item, second item, twentieth item, ninth item, seventeenth item, first item, nineteenth item, seventh item, fo..."
}
]
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View Item",
"url": "https://example.com"
}
]
}
}
]
}
Result: (Both in Private and Public channel in Mobile devices)
Android:
iOS: