Submit Action of Adaptive card Not Working in MS Teams iOS Mobile App

Rahil Faldu 0 Reputation points
2026-01-16T08:45:42.17+00:00

I am developing a declarative agent using the Teams Toolkit extension, and I am using Adaptive Cards. Submit Action of Adaptive card is not working on M365 Copilot on iOS Mobile Teams app. This action works correctly on the M365 Copilot on Android Mobile MS Teams app, desktop MS Teams app and MS Teams web.
Below is Adaptive card JSON.

 {
                        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                        "type": "AdaptiveCard",
                        "version": "1.4",
                        "body": [
                            {
                                "type": "Container",
                                "items": [
                                    {
                                        "type": "ColumnSet",
                                        "columns": [
                                            {
                                                "type": "Column",
                                                "width": "stretch",
                                                "items": [
                                                    {
                                                        "type": "TextBlock",
                                                        "text": "Library Entry",
                                                        "weight": "Bolder",
                                                        "size": "Medium",
                                                        "wrap": true
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "actions": [
                            {
                                "type": "Action.Submit",
                                "title": "Summarize",
                                "style": "positive",
                                "data": {
                                    "msteams": {
                                        "type": "imBack",
                                        "value": "Summarize this answer"
                                    }
                                }
                            }
                        ]
                    }
Microsoft Teams | Development
Microsoft Teams | Development
Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
{count} votes

2 answers

Sort by: Most helpful
  1. Steven-N 20,680 Reputation points Microsoft External Staff Moderator
    2026-01-16T09:48:42.5233333+00:00

    Hi Rahil Faldu

    Thank you for reaching out to Microsoft Q&A forum

    This is a known platform-specific differentiation in how iOS Teams handles Action.Submit in various contexts. Multiple developers have reported similar behavior where Action.Submit with different msteams.type values (including imBack, messageBack, and task/fetch) work correctly on Android, desktop, and web clients but fail or behave unexpectedly on iOS.

    You can read here for more information:

    [MsTeams][AdapiveCard] [Adaptive card Support for teams mobile]

    iOS not handling task/fetch adaptive card submit action properly

    Given this, in this context, you can try the following approach to see if it can resolve your problem:

    1. Use Action.Execute instead

    You can try to replace Action.Submit with Action.Execute, which has better cross-platform support in newer Teams environments. Then handle the verb in your bot code to send the appropriate response.

    "actions": [
        {
            "type": "Action.Execute",
            "title": "Summarize",
            "verb": "summarize",
            "data": {
                "action": "summarize",
                "text": "Summarize this answer"
            }
        }
    ]
    

    2. Use Action.OpenUrl as a fallback

    For iOS compatibility, you could detect the platform and provide an alternative action:

    "actions": [
        {
            "type": "Action.Submit",
            "title": "Summarize",
            "style": "positive",
            "data": {
                "msteams": {
                    "type": "messageBack",
                    "displayText": "Summarize this answer",
                    "text": "Summarize this answer",
                    "value": "{\"action\":\"summarize\"}"
                }
            }
        }
    ]
    

    3. Try messageBack instead of imBack

    Change from imBack to messageBack, which has better iOS support:

    "actions": [
        {
            "type": "Action.Submit",
            "title": "Summarize",
            "style": "positive",
            "data": {
                "msteams": {
                    "type": "messageBack",
                    "displayText": "Summarize this answer",
                    "text": "Summarize this answer",
                    "value": "{\"action\":\"summarize\"}"
                }
            }
        }
    ]
    

    In my opinion, the messageBack approach (option 3) is likely your best bet for maintaining the current card structure while achieving iOS compatibility. If that doesn't work, Action.Execute is the more modern approach that Microsoft is encouraging for new development.

    You can try the above approach, if the problem still persists, kindly let me know in the comments for further support.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".     

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    1 person found this answer helpful.
    0 comments No comments

  2. Rahil Faldu 0 Reputation points
    2026-01-16T10:40:50.47+00:00

    Hello @Steven-N
    Thank you for your response.
    I am working with a declarative agent, not a custom agent or bot. In our scenario, we need to send a message within the same chat thread when a user clicks a button. For this purpose, we have used Action.Submit with imBack. However, messageBack does not send the message to the agent within the same chat thread.

    Is there any supported way to detect the platform on which the declarative agent is running? To the best of my knowledge, platform detection is not available for declarative agents.

    Another issue is that the Execute Action is not working on many platforms including android and iOS MS teams app. I have also raised a question regarding this.
    https://learn.microsoft.com/en-us/answers/questions/5720723/action-execute-of-adaptive-card-not-working-on-ms


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.