Power Automate offers out-of-the-box approval workflow but it sends the approval in email and Teams notification. One must have the approval persons hard coded or in a separate list.
What if we would like to send the approval in a chat message or into Teams channel. Anyone having access to the channel could approve it?
There is possibility to use Adaptive Card and build the approval functionality on top of it. It also allows you to add more detailed data into the approval screen instead of just one text field and item link. When it has set into a channel, you can separate approvals by topics when normally they all go into Teams approval list, which is personal – this is shared. If you build a lot of functionalities with approvals it might be better to include them into Teams and channels instead all in the approval list.

Adaptive Card and Power Automate
Start creating the adaptive card interface in Designer. There is possibilities to
- Add as many buttons as you like
- Add custom icons fro the buttons as embedded file bytes
You need ActionSet with the buttons. The id of the action.submit is the id where you get what user has typed. Create action in Power Automate to add adaptive card which waits for a response. You could even format the response with the data or write comments into the adaptive card message as replies, or update the adaptive card itself after the response.

Then you should add Condition or Switch to handle the user response. This simple it is to create custom approval with Adaptice Card and Power Automate.

Below is one example of adaptive card I build for my custom CRM back in the days. It is asking me what to do when need to contact a customer. Even when I get this on my mobile while on go, I could just postpone it or reply without accessing my CRM.
