Copilot Studio Adaptive Card Submit Button Not Working: Fix
🔍 WiseChecker

Copilot Studio Adaptive Card Submit Button Not Working: Fix

You built an Adaptive Card in Copilot Studio and the Submit button does nothing when a user clicks it. The card renders correctly, but tapping Submit produces no response, no error message, and no conversation flow change. This failure usually occurs because the card action type is misconfigured or the bot’s topic logic does not handle the incoming payload. This article explains the root cause of the unresponsive Submit button and provides step-by-step fixes to restore full card interactivity.

Key Takeaways: Fixing the Copilot Studio Adaptive Card Submit Button

  • Adaptive Card Action.Type property: Must be set to Action.Submit — using Action.Execute or leaving it blank blocks the button from working in Copilot Studio.
  • Topic trigger phrase and conditions: The bot topic must listen for the JSON payload the card sends; otherwise the message is ignored.
  • Power Automate flow connection: If the card calls a flow, the connection reference must be active in the same environment as the bot.

ADVERTISEMENT

Why the Adaptive Card Submit Button Stops Responding

The Submit button on an Adaptive Card sends a structured JSON payload back to the bot. Copilot Studio processes this payload through its topic engine. If the action type is not Action.Submit, the platform does not route the payload to any topic. The button appears clickable but produces no visible effect.

A second common cause is a mismatch between the card payload and the topic’s trigger conditions. Copilot Studio topics use trigger phrases and entity recognition. Adaptive Card submissions are text messages that contain a JSON string. If the topic expects a plain text phrase like “submit order” but receives a JSON object, the bot ignores the message.

A third cause involves Power Automate flows attached to the card. When the Submit button triggers a flow, the flow must be owned by an active user and must exist in the same Microsoft Dataverse environment. A disabled flow or a missing connection reference results in a silent failure.

Steps to Fix the Submit Button in Copilot Studio

  1. Verify the Action.Type property in the card JSON
    Open the Adaptive Card JSON editor in Copilot Studio. Locate the "actions" array. Each button must have "type": "Action.Submit". If the type is Action.Execute or missing, change it to Action.Submit. Example: {"type": "Action.Submit", "title": "Submit", "data": {"action": "submitForm"}}. Save the card and test again.
  2. Check the topic trigger phrase and entity mapping
    Go to the topic that should handle the card submission. In the trigger section, add a trigger phrase that matches the data key in your card payload. For example, if your card data contains {"action": "submitForm"}, add the trigger phrase submitForm. Then add a condition that checks Activity.Text contains the expected JSON string. Use the System.Activity.Text variable to inspect the raw message.
  3. Confirm the Power Automate flow is active and connected
    If the card uses a Power Automate flow, open the flow in the Power Automate portal. Ensure the flow status is set to On. Check the connection references used by the flow. Re-authenticate any expired connections. Return to Copilot Studio and re-save the topic that calls the flow. Publish the bot and test the card again.
  4. Test the card payload manually in the Test pane
    In Copilot Studio, open the Test pane. Send a message that contains the exact JSON payload your card sends. Use the format {"action": "submitForm", "field1": "value"}. If the bot responds correctly to the manual message but not to the card, the issue is in the card JSON structure. If the bot ignores the manual message too, the topic trigger or condition is wrong.
  5. Enable debug logging for the bot
    Go to Settings > General > Enable detailed logging. Reproduce the issue. Download the log file and search for AdaptiveCard or Submit. The log shows whether Copilot Studio received the payload and which topic it matched. Use this data to adjust the trigger conditions.

ADVERTISEMENT

If the Submit Button Still Does Not Work

Copilot Studio Adaptive Card Submit button sends no data at all

The button fires but the bot receives an empty object {}. This happens when the card uses Action.Submit without a data property. Add a data object to the action definition. For example: {"type": "Action.Submit", "title": "Submit", "data": {"action": "submitSurvey"}}. The bot can then read Activity.Text to find the action key.

Copilot Studio Adaptive Card Submit button works in preview but not in production

The preview environment uses a different bot ID than the published bot. After publishing, the topic must be saved and republished again. Open the topic, make a minor change such as adding a space in a message, save it, and publish the bot. The production bot now uses the updated topic.

Copilot Studio Adaptive Card Submit button triggers the wrong topic

Multiple topics have trigger phrases that match the card payload. The bot routes the submission to the topic with the highest priority. Reorder topics in the Topics list. Drag the intended topic higher. Alternatively, add a condition to the topic that checks an entity value unique to this card, such as a specific cardId field.

Item Action.Submit (Correct) Action.Execute (Incorrect)
Action type string Action.Submit Action.Execute
Payload delivery method Sent as a text message to the bot Sent as an invoke activity that Copilot Studio ignores
Topic trigger required Trigger phrase matching data key in payload Not supported — no topic can receive it
Power Automate support Works with flow triggers Does not route to the bot’s flow engine

The root cause of a non-working Submit button is almost always the action type. Change Action.Execute to Action.Submit and verify the topic trigger phrase matches the payload data key. Test the payload manually using the Test pane before publishing. If the card calls a Power Automate flow, confirm the flow is active and its connections are authenticated. With these checks in place, the Adaptive Card Submit button will send data reliably to your Copilot Studio bot.

ADVERTISEMENT