Before starting, you may have seen this posted around many blogs. I decided to write an updated post after finding most of the solutions mentioned around are using a Team action that is no longer available: “Post an adaptive card to a Teams user and wait for a response.”

We will follow the same approach and replace “Post an Adaptive Card to a Teams user and wait for a response [DEPRECATED]” with “Post adaptive card and wait for Response“. In order to send it to an individual, you need to make the following selections:

“Post In” must be set to “Chat with Flow bot” to enable the “Recipient” option. This will send one Adaptive Card direct to the user.
Using the other options will send 1 adaptive card per user to the channel or group. If you have 20 users, you will see 20 cards one after the other. It would still work, but each user would have to scroll through the pile to find their card in 1 channel chat.
If you’ve done this before with the deprecated control, now you know how to fix it. I will go through the remaining logic if you haven’t seen this yet.
The first Concept is to obtain an Array/list of users. It Doesn’t matter if you pass through the HTTP request trigger, SharePoint list, or Outlook. The next step will be a “For each” loop.
Inside your “For each” loop, you will add the “Post adaptive card and wait for Response” action and any other action that needs individual data. Let’s say you want to save the user’s response into SharePoint. The SharePoint “Create Item” must also be inside the “For Each” loop

Add the Adaptive Card json here:

If you use Adaptive Card Designer (https://adaptivecards.io/designer/), make sure you change “Select host app” to one of the “Microsoft Teams” options and “Target version” 1.3 or lower. The Teams Action seems to have trouble with 1.4 or higher.

Now, finally, at the “Recipient” field, add the loop’s “current item”. In my case, the Array is more of a list of strings. if you query some other service, the Array may retrieve a list of objects, and you will need to tweak it a little more to extract the user email address only (the same email used to login to Teams)

Once you run the Logic App, All recipients will receive their adaptive cards on their individual chat windows. User 1 will not see User’s 2 and 3 cards. When the first recipient responds to the card, the response is saved but the logic app instance will remain on “Running”. The logic app will only move to “Success” once all users reply.


Because this can take a long time to be processed, and some users may not answer or be on holiday, it’s good to set a time out. The example below last only one day (ISO notation here)

Each user will receive the message on their Power Automate Chat.

If you like the concept but don’t have an Azure subscription, remember this can also be done with Power Automate for Teams.
For any comments, feedback or questions you can also find me on twitter @brunolucasazure
Leave a Reply