Approval with Custom Responses in Power Automate
Instead of just Yes or No: how to set up approval flows in Power Automate with your own response options and evaluate them.
How Power Automate posts interactive Adaptive Cards via the Teams connector, processes responses, and where the limits lie.
When a flow is triggered in Power Automate, a simple text message in Teams is often not enough. An approval step, a team vote, or feedback on an order need more than plain information, they need a way to respond directly in the chat. That is exactly what Adaptive Cards are for: interactive cards that Power Automate posts directly into a chat or channel via the Microsoft Teams connector, and whose response the flow then waits for.
This article shows which actions the Teams connector offers for Adaptive Cards, how you build your first interactive card, and which limitations you need to keep in mind according to the official Microsoft documentation. That way you stay in control from the start of how your digital employee communicates with your team, instead of having to search the docs after the first error appears.
According to the Microsoft documentation on adaptive cards for Teams Adaptive Cards are a platform-independent way to share and display blocks of information without having to adjust CSS or HTML. You describe the card in JSON format, and Teams automatically converts this description into a native interface that matches the respective host when displaying it.
The decisive difference from a normal chat message lies in the interactivity: an Adaptive Card can contain text fields, choice lists, and buttons that let recipients respond directly in the chat. Power Automate picks up this response and continues the flow with the entered data, without a separate form or an additional app.
According to the documentation, the Teams connector distinguishes between cards for individual people and cards for entire channels, and in each case between a variant with and without a wait function:
For proactive messages from a Copilot Studio agent, according to the documentation on proactive Teams messages the actions Post adaptive card in a chat or channel and Post adaptive card and wait for a response are also available. Here you select Microsoft Copilot Studio agent as Post as and specify the recipient as well as the desired agent.
Before you get started, according to the documentation the Workflows app must be installed in Microsoft Teams, otherwise the flow run fails with a clear error message. Here is how you build the first card:
1. Sign in to Power Automate and create an instant cloud flow with the Manually trigger a flow trigger.
2. Add the action Post adaptive card in a Teams channel and wait for a response as a new step and select the team and channel.
3. Paste the JSON code for your card into the Message field. To get started, a structure with a heading, body text, an Input.ChoiceSet for the selection options, and an Action.Submit button at the end is enough.
4. Enter in the Update message field the text the card should display after the response. Without this entry, the card simply resets after each submission, which according to the docs tends to invite unnecessary multiple submissions.
5. Process the response further in a follow-up step, for example via an email that contains the selected value from the dynamic content of the wait-for-a-response action.
When you run the flow, you can see from the wait marker in the run history that Power Automate is actually waiting for the response. Only after the recipient submits does the flow continue with the entered values, as described in detail in the guide to creating your first adaptive card.
Within an Adaptive Card with wait-for-a-response, every input element returns its value via the ID stored in the JSON, in the documentation's example acPollChoices for a choice list. You will find this ID as dynamic content in the following step and can use it directly in emails, list entries, or further conditions.
If you instead use a proactive card via a Copilot Studio agent, according to the documentation the response returns the variable submitActionId, whose value corresponds to the title of the selected action. For both variants: additional details such as the user ID of the person who responded are only available as dynamic content after the wait-for-a-response action, for complete profile data you additionally need the Office 365 Users connector.
The documentation lists several points that often cause confusion in practice:
In addition to the structural limitations, Microsoft names three recurring error patterns in its own troubleshooting tips:
Anyone who works through these three points before going live saves themselves most of the error messages that only show up in practice after the first productive run. Anyone who uses Power Automate as a digital employee and values cleanly built, low-maintenance Teams notifications will find in NordFlux's Power Automate consulting support for building Adaptive Cards and the associated error handling.
No. According to the documentation, cards without this action return an error for all buttons except Action.OpenUrl, so data from input fields can only be captured with one of the two wait-for-a-response variants.
Only once. After the first submission, the flow continues, every further submission of the same card is ignored according to the documentation, without another response occurring.
Because the Update message field was not filled in. Without this entry, the card simply resets after each submission, which easily tempts recipients into a pointless second submission.
No, the documentation explicitly points out that the templating feature from the general Adaptive Cards specification is not supported by Power Automate. Instead, build the card with fully filled-in JSON without placeholder templates.
Not necessarily. The Adaptive Cards Designer offers a visual drag-and-drop interface from which you copy the finished JSON code directly into the message field of the Power Automate action.
Founder of NordFlux. Spent four years automating processes at enterprise scale at Dräger, and now brings that depth to the mid-market — pragmatic and with full data sovereignty.
Certifications
Instead of just Yes or No: how to set up approval flows in Power Automate with your own response options and evaluate them.
Does a guest user in Power Automate need their own license? The key answers based on official Microsoft documentation.
Automatically report deadlines from a SharePoint list or calendar via Teams or email: the official reminder flow and a custom cloud flow.
Interactive cards in the Microsoft Teams connector offer more than a simple message, but known limitations and typical error sources in response processing slow down many implementations. NordFlux builds Adaptive Card flows that reliably process responses further, and knows the connector's limits from practice. In our first conversation, we check which interactive solution fits your use case.