Behavior analysis
In Copilot Studio, the “Ask with Adaptive Card” node (AdaptiveCardPrompt) is designed for interactive cards where the user is expected to respond via Action.Submit. The node remains “waiting” until it receives a submit payload and can store that response into variables for subsequent steps.
Because of that, if you use an AdaptiveCardPrompt for optional feedback (e.g., “Was this answer accurate?” with thumbs up/down), the prompt stays active until the user clicks a button. When the user ignores the card and types a new message, the conversation can remain tied to the pending prompt, causing the same AdaptiveCardPrompt to be re-sent or to interfere with handling the new user input. This is a typical side effect of using a blocking input-collection prompt for something the user may skip.
Also, the interruption setting (e.g., allowInterruption) is about allowing a switch to other topics while a node is active; it does not automatically cancel or close the prompt state when free text arrives. In other words, it does not “reset” the AdaptiveCardPrompt.
Recommended resolution (supported pattern)
Option A (recommended): Make feedback non-blocking
If feedback is optional, do not implement it as “Ask with Adaptive Card.” Instead:
1) Display the feedback card as an informational/non-blocking message (so the dialog does not enter a waiting-for-submit state).
2) If you still want to capture feedback, use an action that does not block the conversation flow (for example: open a link, or handle a client-side event / telemetry capture), rather than requiring the user to submit an AdaptiveCardPrompt.
This avoids the “pending prompt” state entirely, so users can continue the conversation naturally without the system re-surfacing the old card.
Option B (only if you must keep AdaptiveCardPrompt)
If requirements force you to keep “Ask with Adaptive Card”:
- Ensure every button submits a unique, explicit payload so you can reliably identify the card/action and avoid issues when multiple cards are visible or when users interact with older cards.
- Add an explicit “cancel / skip” path and handle the case where the user sends free text while the prompt is active (e.g., route to a different topic or terminate the feedback prompt explicitly), rather than relying on allowInterruption as a reset mechanism.