In Power Automate cloud, a Micorosoft connector I'm using returns tag data (name:value) like so:
Update - the above solution worked exactly as I needed, however once I implemented and tested it with a larger data set, I had to try another approach. I had an ApplyEach loop processing each record performing some other data transformations in addition to the one above, and the ApplyEach loop was just adding too much time to the whole process.
I still wanted the 'tags' to be a 2 column table that I could hook up easily to a Power Apps data table. So in the Response action I modified the JSON schema to look like:
and then hooking that to a data table resulted in the column headers to be assigned "key", and "value", which is fine.
Perfect. I had thought of doing a split somehow but didn't think about the 'replace' part. Works just as I needed and I can put the result in the HTTP Response as I've done with some other flows.
I love that it's all done within a single Select.😀
Will definitely check out your channel for more ideas.
Thanks,
Tim
Hi @TWeiss
Are you looking for:
You'll need to convert the object to a string. Remove the { } " by using the replace() expression x3. You can then split on , to create a new array and then split on : to create each value of the two keys Name and Value. This is all done in a single select action.
split(replace(replace(replace(string(outputs('ComposeTags')),'{',''),'}',''),'"',''),',')
split(item(),':')?[0]
split(item(),':')?[1]
The flow would look like follows:
Not that in order to return an array to a PowerApp, you need to either parse it with a little trick based on a string (as there are no native parsing actions) OR use the HTTP Response (Premium).
Cheers
Damien
Please take a look and subscribe to my YouTube Channel for more Power Platform ideas and concepts. Thanks
Michael E. Gernaey
497
Super User 2025 Season 2
David_MA
436
Super User 2025 Season 2
Riyaz_riz11
244
Super User 2025 Season 2