As a more traditional developer, returning data from sub-routines is assumed, in various shapes and protocols. Not so with ‘low-code’ PowerApps Flows.
This is made all the more involved and tricky to return actual objects between Flows. Instead of returning objects that are already persisted in DataVerse, for example, you might want to return a comma-delimited set of IDs as a single string. You can then expand these and iterate through them.
In the Child Flow
- If you are dealing with objects, pluck the fields out you need using the Select Action.
- Convert your array to a string to return using a “Respond to PowerApp or Flow” Action, delimited by comma.
This will make your Flow look like:

In the calling/parent Flow
- Call the Child Flow.
- Convert your returned string back to an array using the
splitfunction. The expression will look something likesplit(outputs('Get_matching_items')?['Body']?['matchingitems'],','). - This will give you a minimum of one array element, even if your input array was empty so you need to filter that by using an “Array Filter” Action to remove empty items (assuming your array doesn’t have legitimate empty items).
This will make your Flow look like:


Leave a comment