Copilot Studio Friction
Adaptive Card returns wrong or missing values
Last verified
Details & related
Assessment
- Confidence
- Confirmed officialConfirmed by Microsoft documentation or an official statement.
- Severity
- Degrading
- Typical time lost
- Hours
Identification
Verification & changes
Verified
Doc check by human: Adaptive Card authoring and overview docs re-read during seed migration; Edit Schema guidance and host version matrix still documented.
Change
Provisionally approved by the Product Owner; external LLM quality review pending.
Change
Initial record created from the seed dossier (migration wave 1).
Are you in the right place?
- A topic shows an Adaptive Card and reads the user's input from it.
- After submit, output variables are empty, wrong, or missing entirely.
- Or values arrive, but they belong to an earlier card in the chat.
- Or the card behaves differently per channel — fine in one, broken in another.
If the chat shows raw JSON instead of a card → see Chat shows raw JSON instead of an answer. If Teams shows an outdated card after publishing → see Teams answers with an old version of your agent. If a variable's type changed after an entity toggle → a silent type change (record planned).
What's happening
Cause 1: The auto-generated output schema is wrong. Copilot Studio generates output variables from your card's input fields. When that generation misreads the card, variables get wrong names or types — or go missing. The values then never land where your topic expects them.
Cause 2: Wrong card, or wrong host rendering. With several cards visible, users can press an older card's button. If submit actions share the same data, the topic cannot tell the cards apart and takes the wrong payload. Identical submit data works like identical doorbells: whichever button is pressed, the same bell rings. Hosts also support different schema versions (documented as of 2026-07-08). Web chat renders version 1.6 but no Action.Execute; the live chat widget stays on 1.5.
For technicians
The ask-with-Adaptive-Card documentation covers the generated output schema and its manual correction via "Edit Schema". The overview documents host support: schema version and feature support differ per surface (documented as of 2026-07-08). Guidance for multiple cards: every submit action needs unique, card- and action-specific data to avoid mixed-up payloads. Agent instructions cannot influence how cards are triggered; adjustments must happen on the card itself.
How to fix it
Solution 1
Official workaroundCorrect the output schema with "Edit Schema"
- Open the topic with the card node.
- Select the card node.
- Open the properties panel.
- Select "Edit Schema".
- Compare the listed output variables with your card's input fields.
- Correct wrong names and types, and add missing outputs.
- Save the topic.
- Retest the card in the test pane.
✅ You should now see: submitted values arriving in the corrected output variables.
Solution 2
Official workaroundGive every card unique submit data
- Open the JSON of each card the topic can show.
- In every submit action, add a data field that identifies the card, for example
"cardId": "feedback-1". - In the topic, branch on that field before you use the values.
- Retest with two cards visible: submit the older card first.
✅ You should now see: each submit routes to the right branch, even from an older card.
Check that it worked
Fill the card in the test pane and submit it. Expected: every output variable holds the value you entered. Then repeat in each published channel your users have, because hosts render cards differently.
If it didn't work
- The channel still serves the old card. Publish and propagation delay is suspect number one, especially in Teams. See Teams answers with an old version of your agent.
- The host does not support your schema version. Versions differ per host (1.6 vs 1.5, documented as of 2026-07-08). Author the card against the lowest version you must serve.
- An older card is still on screen. Without unique submit data, its button feeds your topic the wrong payload. Apply the second solution.
- The values exist but the types are wrong. Re-open "Edit Schema" and check each output's type.
Prevent it next time
- Review the card's generated output schema before the first test — treat "Edit Schema" as a mandatory stop.
- Give every submit action unique data from the first card onward, not only when bugs appear.
- Check the schema-version support of every target host before you design card features.
Evidence
Official documentationlearn.microsoft.com
Copilot Studio auto-generates output variables from the card's inputs; wrong ones must be corrected manually via 'Edit Schema' in the properties panel.
Official documentationlearn.microsoft.com
Supported Adaptive Card schema versions differ per host, and every submit action needs unique card-specific data when several cards are visible.