Return an Array from Power Automate to Power Apps (ParseJSON and Split Method, No Premium)
Short answer: Respond to a Power App or flow cannot return an array directly, only flat outputs such as text, number or yes/no. The workaround is to turn the array into one text output in the flow and rebuild it in Power Apps. Today the best way is JSON plus ParseJSON. The older way is a Join in the flow and Split in the app, which this post covers below. Both stay in the standard (non-premium) world, because Respond to a Power App or flow belongs to the Power Apps connector.
Quick version with ParseJSON
In the flow: build your array (for example with Select) and add Respond to a Power App or flow with one Text output, e.g. jsonResult. Set its value to the array wrapped in string(...):
1
string(body('Select'))
In Power Apps: parse the text and turn it into a typed collection:
Set( gblResp, ParseJSON( MyFlow.Run().jsonresult ) );
ClearCollect(
colItems,
ForAll(
Table( gblResp ),
{ id: Value( ThisRecord.Value.id ), name: Text( ThisRecord.Value.name ) }
)
)
ParseJSON returns an untyped (Dynamic) value, so each field needs a cast such as Text(), Value() or DateValue(). Alternatively pass a Type() as second argument and skip the casting. The full walkthrough with nested objects is in #PowerPlatformTip 158. Reference: ParseJSON function.
Classic version: Split method
If your app still uses the Split approach, there are already some posts and videos on this topic. I would like to point out a great post incl. app for generating the function. (by Brian Dang)
You can find the complete tutorial under this link: https://powerapps.microsoft.com/en-us/blog/return-an-array-from-a-sql-stored-procedure-to-powerapps-split-method/
Below you will find a shortened version. As already written, Brian Dang has not only provided a detailed tutorial for us in the linked post but also a downloadable PowerApp to generate the code.
Download the App: https://aka.ms/splitarray
UPDATE 10.2026: ParseJSON was experimental when it appeared in November 2022. It is now a documented Power Fx function with an optional Type argument, so it is the recommended way for new apps. (Link)
Preparation in the flow (PowerAutomate)
Parsing the Array in PowerApps
Open an existing app or create a blank one to test out your flow.
As mentioned before, you can download an app for generating a formula that can split the text string from Flow back into an array.
Steps to use the Array Generator App
- Open another instance of the Power Apps Studio
- Click File, then Open
- Browse for the msapp file that you downloaded
When the app opens, fill out the text boxes with details for your app:
- Name of your flow: include single quotes if your flow’s name would require them
- Name of text field returned from flow: the name of the field you chose in the last step of your flow
- Name of variable for flow response: the name of a variable that will be receiving the string from the flow
- Name of collection for records: the name of the collection that will be the array you use throughout the app
- Delimiter from join: the delimiter you chose for the Join step in your flow
Click ‘+ New column’ to add the column names in your app. Use the drop down menu beside each column to determine its type. This tool is limited to only strings, numbers, and Boolean values.
Key Benefits
- No Premium Connectors Required: This method works with standard PowerApps and PowerAutomate
- Automated Code Generation: Brian Dang’s app generates the necessary code for you
- Flexible Data Types: Support for strings, numbers, and Boolean values
- Scalable Solution: Works with arrays of various sizes
Which method should I use?
- New apps: ParseJSON. Nested objects, any number of columns, optional typed result.
- Existing apps with the Split formula: keep it, it still works. Only the app-side formula changes if you migrate.
- Large arrays: neither method suits thousands of rows. Let the app read the data source (SharePoint, Dataverse) directly instead of pushing it through a flow response.
🔗 Related Tips
🔸 #PowerPlatformTip 158: ‘Return Flow Data to Power Apps with ParseJSON’ - the full ParseJSON walkthrough with nested objects, typed results and a free converter tool.
🔸 #PowerPlatformTip 141: ‘Text to Array’ - the same split-based idea, applied inside the flow instead of the app.
Original tutorial and app created by Brian Dang from the Microsoft PowerApps team.
This tip is by Marcel Lehmann, Microsoft MVP (Business Applications) and founder of the Power Platform Academy – live Power Platform workshops, free or CHF 49. Join the workshop waitlist to get notified about new dates. For companies that want this implemented for them, see KMUpower – Power Platform consulting & automation for SMEs (DACH).



