Search code examples
node.jsbotframeworkskype

Action.Submit buttons in Adaptive card does not render in Skype


I have a simple adaptive card which works well in the web chat app, this is the card

{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "Container",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "width": "stretch",
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "text": "Hello!",
                                    "weight": "bolder",
                                    "isSubtle": true
                                },
                                {
                                    "type": "TextBlock",
                                    "text": "What can I do for you?",
                                    "wrap": true
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "actions": [
        {
            "type": "Action.ShowCard",
            "title": "Buy",
            "card": {
                "type": "AdaptiveCard",
                "body": [
                    {
                        "type": "TextBlock",
                        "text": "What do you want to buy?",
                        "weight": "bolder"
                    }
                ],
                "actions": [
                    {
                        "type": "Action.Submit",
                        "title": "Ticket",
                        "data": {
                            "action_button": "buy_ticket"
                        }
                    }
                ]
            }
        },
        {
            "type": "Action.ShowCard",
            "title": "Check",
            "card": {
                "type": "AdaptiveCard",
                "body": [
                    {
                        "type": "TextBlock",
                        "text": "Nothing to check",
                        "weight": "bolder"
                    }
                ]
            }
        }
    ]
}

you can see it in this link http://adaptivecards.io/visualizer/index.html?hostApp=Skype by pasting the code there.

The webchat works fine as you can see here: enter image description here but the skype does not even render the Action.Submit button. enter image description here

It is supposed to work as Skype is supported for this card type.

I've also tested it on Android and it has the same bug.

UPDATE: How can I create a card like this? this is a skype bot. enter image description here


Solution

  • Skype does not currently fully support adaptive cards so this behavior is expected. While some features of adaptive cards may work in skype they are not fully supported so strange behaviors such as these are expected. You can find a list of channels that do and do not support adaptive cards here.