web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / When someone interacts...
Power Automate
Answered

When someone interacts with an adaptive card, it sometimes moves and sometimes doesn't

(0) ShareShare
ReportReport
Posted on by 68
I want to conduct a survey using adaptive cards.
I was supposed to achieve this with two flows: one to send the adaptive card and one to respond to the adaptive card.
But now I'm experiencing a nightmare.
The response flow keeps working, sometimes not, as if toying with me...
Can someone please wake me up from this nightmare?

Thank you
 
Details.
Environment: Default
Card ID: Same ID
Json: Same Json
 
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "RichTextBlock",
"inlines": [
{
"type": "TextRun",
"text": "[Health Management Center Survey]\nDear Mr./Ms. XX, We are conducting a survey regarding your health management in 2026.\nPlease answer the following questions."
}
]
},
{
"type": "Input.ChoiceSet",
"choices": [
{
"title": "Regular Health Checkup (Company Checkup)",
"value": "Regular Health Checkup"
},
{
"title": "Personal Checkup",
"value": "Personal Checkup"
},
{
"title": "Physical Checkup",
"value": "Physical Checkup"
}
],
"placeholder": "Placeholder text",
"isRequired": true,
"style": "expanded",
"separator": true,
"label": "Please select your preferred examination method",
"errorMessage": "Required",
"id": "choice"
},
{
"type": "TextBlock",
"text": "(For individual consultations and physical checkups) Please let us know the year and month of your scheduled examination",
"wrap": true,
"separator": true
},
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "Input.Number",
"max": 2027,
"min": 2026,
"separator": true,
"id": "year",
"placeholder": "Please enter"
}
]
},
{
"type": "Column",
"width": "auto",
"items": [
{
"type": "TextBlock",
"wrap": true,
"horizontalAlignment": "Left",
"text": "Year"
}
],
"verticalContentAlignment": "Center"
},
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "Input.Number",
"min": 1,
"max": 12,
"id": "month",
"placeholder": "Please enter"
}
]
},
{
"type": "Column",
"width": "auto",
"items": [
{
"type": "TextBlock",
"wrap": true, 
"text": "Moon" 

], 
"backgroundImage": { 
"verticalAlignment": "Center" 
}, 
"horizontalAlignment": "Left", 
"verticalContentAlignment": "Center" 


}, 

"type": "ActionSet", 
"actions": [ 

"type": "Action.Submit", 
"title": "Send", 
"iconUrl": "icon:MailArrowUp" 

], 
"horizontalAlignment": "Left", 
"separator": true 

]
}
I have the same question (0)
  • Sunil Kumar Pashikanti Profile Picture
    2,318 Moderator on at
     
    You’re sending an Adaptive Card (JSON shown) and using two flows: one to send the card, and another to capture the response.
    When one flow posts and a different flow listens, Teams/Dataverse must correlate the message, conversation, and user to the right listener. If anything differs the submit can silently go nowhere.
     
    Can you use single flow?
    Single-flow (simplest & most reliable)
    Use one flow that posts and waits in a single step:
         Action: Post adaptive card and wait for a response (to user or in chat/channel—choose the right scope).
         Supply your JSON as-is.
         The action returns all inputs (choice, year, month) when the user clicks Send.
         Continue in the same flow to process/store results and optionally update the card (e.g., acknowledgement card) so users can’t resubmit.
     
    Why it’s reliable: No cross-flow correlation, no external triggers, no race.
     
    Two-flow (only if you truly need it)
    If you must keep send and respond separate (e.g., one scheduled sender posting hundreds of cards, plus a dedicated listener):

    Sender flow
    Post the card with additional correlation data in Action.Submit.data, for example:
    {
      "type": "Action.Submit",
      "title": "Send",
      "data": {
        "surveyId": "<guid you generate>",
        "op": "submit"
      }
    }
    Persist surveyId, messageId, conversationId, and who it was sent to (user AAD ID).
     
    Responder flow (trigger selection is critical)
         Use the exact trigger that fires for the card you posted (e.g., “When someone responds to an Adaptive Card posted in a chat or channel (v2)” with scope that matches where you posted).
         Filter inside the trigger/first step: verify op == "submit" and, if helpful, match surveyId, messageId, or conversationId to what you persisted.
         After handling the payload, update or replace the card to a read-only confirmation (prevents duplicate clicks).
     
    Ensure only one listener qualifies: Disable other similar listener flows or add explicit guard conditions so only one flow processes the submit.
     
    Quick fixes to try on your current card
    Add data to the submit action to carry a correlation key
    {
      "type": "Action.Submit",
      "title": "Send",
      "iconUrl": "icon:MailArrowUp",
      "data": {
        "op": "submit",
        "cardVersion": "1.5"
      }

    }

     
    ✅ If this answer helped resolve your issue, please mark it as Accepted so it can help others with the same problem.
    👍 Feel free to Like the post if you found it useful.
     
  • LostLamb Profile Picture
    68 on at

    Hi ,
    Your answer may be quite accurate.
    Is my understanding correct that Two-flow is not intended for a large number of unspecified members?

    The reason I’m using Two-flow is that more than 100 members will be processing adaptive cards at the same time, so I was concerned about whether Single-flow would work. I also chose Two-flow because it allows users to redo their responses.
    If there are no issues, I’m thinking of switching to Single-flow.

    Thank you.

  • Verified answer
    Sunil Kumar Pashikanti Profile Picture
    2,318 Moderator on at
     
     
    Yes, your understanding is correct.

    A two‑flow architecture is not ideal for large numbers of unspecified users, especially when many will submit adaptive card responses at the same time. A single-flow (“Post adaptive card and wait for a response”) pattern is significantly more reliable even at scale, as long as your design accounts for concurrency.
     
    Requirement
    Two-Flow
    Single-Flow
    100+ concurrent users
    Often fails
    Reliable
    Response correlation
    Manual + error-prone
    Automatic
    User redo
    Easy
    Can be designed
    Card movement/update consistency
    Unpredictable
    Predictable
     
    If the primary driver for two-flow was: Handling 100+ simultaneous users, switch to single-flow.
    It is more stable, reliable, and intended for this pattern.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Valantis Profile Picture

Valantis 377

#2
11manish Profile Picture

11manish 279

#3
David_MA Profile Picture

David_MA 234 Super User 2026 Season 1

Last 30 days Overall leaderboard