You could either use [Append to array variable] action or union() function like union(variables('arrayNotes'), variables('arrayNoteItem')) to add a new item to the original array.

See the screenshots below.

Using Union function

Answer from Matiur Rahman on Stack Exchange
🌐
EnjoySharePoint
enjoysharepoint.com › parse-json-object-to-array-in-power-automate
How to Parse JSON Object to Array in Power Automate
April 15, 2026 - Learn how to parse a JSON object to an array in Power Automate using 5 methods — Parse JSON action, expressions, array variables, SharePoint data, and more.
Discussions

JSON Object to Array with Attribute Name using Power Automate - Stack Overflow
I am trying to create columns in a SharePoint List from JSON using Power Automate flow. I managed to create a column with a "Send an HTTP request to SharePoint" manually using : { " More on stackoverflow.com
🌐 stackoverflow.com
power automate - Insert parameters into JSON Array in Logic Apps - Stack Overflow
Bring the best of human thought and AI automation together at your work. Explore Stack Internal ... I am creating a Logic app to gather members from one platform using an API call and posting them to another platform using POST method. At the end of the entire process, I get a JSON array with the data that I need. However, I need to add ... More on stackoverflow.com
🌐 stackoverflow.com
How to change table or array into object/json PowerAutomate Flow
Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question. ... In Power Automate, you can use the Select action to convert an array into an object. More on learn.microsoft.com
🌐 learn.microsoft.com
3
0
August 30, 2023
Appending apply to each JSON Objects to one array
I have an 'Apply to each' that runs an HTTP connector several times because it takes a parameter input. The results come out in several JSON results. More on community.powerplatform.com
🌐 community.powerplatform.com
October 17, 2024
🌐
Enjoy SharePoint
enjoysharepoint.com › create-an-array-from-json-objects-using-power-automate
Create An Array From JSON Objects Using Power Automate
April 15, 2026 - The schema tells Power Automate the shape of your data, so the fields (Name, CustomerCode and so on) show up as dynamic content in the next steps. Add Apply to each and select Customers from Parse JSON as its input. Inside the loop, add Append ...
🌐
Power Tech Tips
powertechtips.com › convert-object-to-array-power-automate
How to Convert an Object to Array in Power Automate - Power Tech Tips
November 27, 2022 - The Schema is just an outline of the JSON structure that the flow will expect and includes things like the field names and data types for these fields. Now you will be able to reference the parts or the object such as the value and employees arrays from the dynamic content menus in the flow builder. Next, you will need to create an array variable to hold the names in your object. Add the Initialize variable action to the flow.
🌐
Microsoft Power Platform Community
powerusers.microsoft.com › t5 › General-Power-Automate › add-an-element-to-array-within-json › td-p › 2396338
Forums | Microsoft Power Platform Community
October 13, 2023 - Find the answers you need in forums, at events, and across user groups—all available in one Power Platform Community.
Find elsewhere
🌐
YouTube
youtube.com › watch
Power Automate JSON Array Challenges: 5 Advanced Workflow Solutions Tutorial - YouTube
Level up your Power Automate game by mastering JSON arrays and objects—without endless Apply to Each loops! This hands-on tutorial dives into real-world work...
Published: August 28, 2022
🌐
Pmthetechguy
pmthetechguy.com › blog › append-json-to-array-power-automate
Why 'Append to array variable' fails with JSON in Power Automate (and the correct pattern) | PM The Tech Guy
January 29, 2026 - Apply to Each: Select the Body (the root array) of your Parse JSON action. Append to Array Variable: Select your variable and, for the value, choose the specific property from the dynamic content.
🌐
YouTube
youtube.com › watch
Power Automate: Update single item in JSON array the RIGHT way | setProperty Add Property - YouTube
Using SELECT improperly has a lot of limitations when working with JSON. Here's a better way.📚Free Solutions Architect Training:https://www.untethered365.c...
Published: February 9, 2024
🌐
Never Stop Learning
never-stop-learning.de › home › json pivoting in power automate
JSON Pivoting in Power Automate - Never Stop Learning
February 28, 2024 - Transform JSON array as pivot into an object using Power Automate Flow with "addProperty" expression to store values as properties.
Top answer
1 of 1
1

After receiving the json array try using Parse Json action of Data Operations Connector to get the parameters and then you can form a json using Compose Connector. Here is the screenshot of my logic app for your reference.

Here is the output:

Here is the schema in the compose connector

{
  "data": [
    {
      "dataRecord": {
        "company": "@{items('For_each')['company']}",
        "email": "@{items('For_each')['email']}",
        "firstName": "@{items('For_each')['firstName']}",
        "lastName": "@{items('For_each')['lastName']}",
        "nickname": "@{items('For_each')['nickname']}",
        "prefix": "@{items('For_each')['prefix']}",
        "sourceId": "@{items('For_each')['sourceId']}",
        "title": "@{items('For_each')['title']}",
        "workPhone": "@{items('For_each')['workPhone']}"
      }
    }
  ]
}

Below is the code view of my logic app

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "For_each": {
                "actions": {
                    "Compose": {
                        "inputs": {
                            "data": [
                                {
                                    "dataRecord": {
                                        "company": "@{items('For_each')['company']}",
                                        "email": "@{items('For_each')['email']}",
                                        "firstName": "@{items('For_each')['firstName']}",
                                        "lastName": "@{items('For_each')['lastName']}",
                                        "nickname": "@{items('For_each')['nickname']}",
                                        "prefix": "@{items('For_each')['prefix']}",
                                        "sourceId": "@{items('For_each')['sourceId']}",
                                        "title": "@{items('For_each')['title']}",
                                        "workPhone": "@{items('For_each')['workPhone']}"
                                    }
                                }
                            ]
                        },
                        "runAfter": {},
                        "type": "Compose"
                    }
                },
                "foreach": "@body('Parse_JSON')",
                "runAfter": {
                    "Parse_JSON": [
                        "Succeeded"
                    ]
                },
                "type": "Foreach"
            },
            "Parse_JSON": {
                "inputs": {
                    "content": "@triggerBody()",
                    "schema": {
                        "items": {
                            "properties": {
                                "company": {
                                    "type": "string"
                                },
                                "email": {
                                    "type": "string"
                                },
                                "firstName": {
                                    "type": "string"
                                },
                                "lastName": {
                                    "type": "string"
                                },
                                "nickname": {
                                    "type": "string"
                                },
                                "prefix": {
                                    "type": "string"
                                },
                                "sourceId": {
                                    "type": "string"
                                },
                                "title": {
                                    "type": "string"
                                },
                                "workPhone": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "company",
                                "email",
                                "firstName",
                                "lastName",
                                "nickname",
                                "prefix",
                                "sourceId",
                                "title",
                                "workPhone"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "runAfter": {},
                "type": "ParseJson"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
            "manual": {
                "inputs": {
                    "schema": {}
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "parameters": {}
}
🌐
LinkedIn
linkedin.com › pulse › power-automate-easy-way-generate-json-objects-peter-mesiha-p-eng
Power Automate - An easy way to generate JSON objects without worrying about special characters
May 12, 2023 - Today, i will show you a simple and efficient way to do it, my case was for a simple key/value pair JSON, but the same approach can be used with more complex objects. ... Under the "Map" section, start adding your JSON fields and values.
🌐
YouTube
youtube.com › watch
Send Array/JSON Response from Power Automate Flow to Power Apps #PowerApps #PowerAutomate #Response - YouTube
This video tutorial will teach you how to send an array or JSON response from Power Automate to Power Apps without using any premium connector. I will use a ...
Published: July 27, 2022
🌐
HubSite 365
hubsite365.com › en-ww › crm-pages › power-automate-update-json-the-right-way-update-arrays-setproperty-addproperty.htm
Optimize JSON & Arrays in Power Automate: Best Practices
February 5, 2024 - To add an item to an array, utilize the appendToArray function, providing a straightforward method to expand your array data. Microsoft Power Automate provides powerful tools and functions to manipulate and update JSON formatting and structures ...
🌐
SPGuides
spguides.com › append-multiple-values-to-an-array-in-power-automate
Append Multiple Values to An Array in Power Automate
January 21, 2026 - Learn how to use the Append to array variable action in Power Automate to build dynamic arrays with strings, emails, JSON, and nested arrays.
🌐
Microsoft Power Platform
community.powerplatform.com › forums › thread › details
Appending apply to each JSON Objects to one array
October 17, 2024 - I have an 'Apply to each' that runs an HTTP connector several times because it takes a parameter input. The results come out in several JSON results.
🌐
Burgersandbytes
burgersandbytes.nl › blog › 20250823-jsonmanipulationpowerautomate
Manipulate JSON objects or arrays: using setProperty/addProperty - Burgers & Bytes
August 23, 2025 - In Power Automate, working with JSON objects and arrays is essential for building advanced, scalable, and maintainable flows. JSON acts as the backbone of data exchange, allowing you to represent structured information flexibly. Two powerful expressions—setProperty() and addProperty()—unlock the ability to dynamically update, expand, and manipulate JSON objects.
Top answer
1 of 2
5

This can be achieved using the Parse JSON, Select and Join actions.

The finished flow will be trigger by a button and contain the following actions:

  1. Initialize variable - Initialize a variable with the data we want to manipulate
  2. Parse JSON - Assigns a schema to the data allowing us to more easily access the array
  3. Select - Converts the object array into a string array
  4. Join - Concatenates all the items within the string array

and look like this:

Each action needs to be implemented as follows:

1. Initialize variable

First add an initialize variable action with the following values:
  • Name: data
  • Value: The JSON you want to process (as noted in the answer the "@" characters should be removed)

2. Parse JSON

You then need to add a Parse JSON action to tell power automate the schema of the data assigned in the initialize variable action. This will allow us to more easily reference the array in the next step. The values should be set to:
  • Content: The data variable
  • Schema:
{
    "type": "object",
    "properties": {
        "odata.context": {
            "type": "string"
        },
        "value": {
            "type": "array",
            "items": {
                "type": "object"
            }
        }
    }
}

3. Select

Now add a Select action. This action is normally used to transform one array of objects. However, we can use it to return an array of strings. To do this click the Switch Map to text mode button.

Although you can achieve the desired result by using the expression item()['displayName'], it's possible to construct more complex string by combining the values within the object. For example, we could combine the displayName and mail properties by setting the map value to "@{item()['displayName']} - @{item()['mail']}".

4. Join

Finally use a Join action to concatenate the string array produced by the Select action with a specific separator (in your case a comma and space character , ).

2 of 2
0

I did the following ...

Loaded your JSON (minus the @ symbols because PA doesn't like them) into a variable so I can loop over it.

I then created two other variables, one to hold the concatenated string as it's being worked on and the other to hold the end result.

I then looped over the array of values and pulled out the displayName property and appended it (with a leading comma) to the Concatenated String variable.

Expression 1 = variables('Data')['value']

Expression 2 = item()['displayName']

The final step is to then remove the leading comma with an expression.

Expression = substring(variables('Concatenated String'), 1)

Result

Flow