Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Automate - Building Flows
Answered

Remove row from a list of items in an adaptive card dataset

(1) ShareShare
ReportReport
Posted on by 11

Hi community,

I am struggling with a specific scenario using adaptive cards and I need your help.

 

The use case:

I want to send an adaptive card (by email) with a list of items. Each item of the list is displayed as a row with some dynamic text values and an action button.

Until this point, I'll manage. 

ErikSchaap_0-1700603284260.png

 

What I struggle with is this: 

After a user hits the action button of a row, I want that row to be removed from the dataset and not to be displayed anymore on the card for any user opening it.

 

I can't come up with another solution than to respond the HTTP request of the action button with a card update, identical to the initial card but with an updated dataset.

Something like: 

  • If action is invoked on a row > trigger HTTP request with in the body: item id & array of items
  • The triggered flow:
    • processes the action for specific item
    • remove item from the array of items
    • composes a adaptive card payload with the update array (unless last item is removed from array, then compose alternative adaptive card) 
    • responds with update card in body

 

Question 1: Is this the way to do this, or am I making this more complex than it is?

Question 2: If this is the way to go, I'd rather not want to store the same card template in two places (the initial cloud flow and the triggered cloud flow). Is there a way to just update the dataset?

 

Thanks for your help!

  • Verified answer
    Erik Schaap Profile Picture
    11 on at
    Remove row from a list of items in an adaptive card dataset
    In the end I designed the process as follows:
    • Scheduled cloud flow runs every morning:
      • Query the rows from Dataverse to show in the card
      • Use Select to compose the rows in the right array format 
      • Compose the payload for the actionable message
      • Send e-mail
    • On invoke (auto-invoke on open e-mail or by pressing button in message) run instant cloud flow
      • Process action (update Dataverse row, based on passed guid) if button is pressed
      • Re-query the rows from Dataverse to show in the card (get any updated values, filter out rows that doesn't meet the criteria anymore)
      • Use Select to compose the rows in the right array format (if row with updated value, show checkmark-icon as feedback to user)
      • Compose the payload for the updated actionable message (if all rows are processed, remove the auto-invoke option. Or, if card is outdated, compose new payload with user feedback)
      • Respond with new payload
    I now use a Power Automate cloud flow for the invoke-action as I don't expect many calls of the flow. But since the number of calls due to the auto-invoke option is rather inpredictable, I 'tend to rebuilding the flow in an Azure Logic App when we scale-up the number of users. 
     
    All-by-all perhaps not the neatest way as it requires maintenance in two places and is sensitive to errors, but it gets it done.
    I am still open for other suggestions though!

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

Michael Gernaey – Community Spotlight

We are honored to recognize Michael Gernaey as our June 2025 Community…

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 566 Super User 2025 Season 1

#2
David_MA Profile Picture

David_MA 516 Super User 2025 Season 1

#3
stampcoin Profile Picture

stampcoin 492