“How do I access the SharePoint columns to add to the HTML table, I see only two outputs from the ‘Filter array’ Power Automate action.”
Depending on the input of the ‘Filter array’ action it’ll either return all the values as dynamic contents, or not. If applied on SharePoint items it’s the “or not” situation. The only available dynamic contents are Item and Body, but none of the columns. Yet filtering SharePoint items is such a common need, there must be some way to access the values!
Extract it from the JSON
The output from ‘Filter array’ will be the items in a JSON. Long time ago I recommended using ‘Parse JSON’ to get the dynamic contents back, but there’s a cleaner way.
The ‘Filter array’ action will always return an array. You input an array, filter it, and return all the results in another array.
And since the returned array is a JSON, you can navigate through it as in any other JSON. Start with handling the array, and then pick the specific properties.
Use it in an HTML / CSV table
It gets much easier though if you process the whole output at once, e.g. to create an HTML table or CSV table. The table actions will handle the array for you, just use the ‘Filter array’ output ‘Body’ in the From field. All the properties can then be accessed using the expression below.
Note: you can get the column internal name from the column settings or from the JSON.
If it’s a simple column type, e.g. single line of text (Title), use just one property in the expression.
If it’s a complex column type, e.g. a choice or a people picker, you’ll have to dig deeper to the actual value, e.g.
item()?['Person']?['Email'] or item()?['Choice']?['Value']
Define the headers for each column, use the item()?[…] expression to access the value, and create the table.
You can access the SharePoint columns after using the Power Automate ‘Filter array’ action, but you’ll have to use an expression. Either process the items one by one, navigating the output JSON, or process them at once. Let it be an HTML table with items overview, or an export to CSV table, with the item()?[…] expression you can access any available value.