Parse JSON for Non-Programmers

How the Parse JSON action in Power Automate works, and how you can generate a schema from a sample payload in just a few clicks.

The Parse JSON action is one of the data operations in Power Automate, and it turns a JSON response that arrives as unstructured text into user-friendly fields you can select with a click in later steps. Without this action, you'd have to pull out values yourself using expressions like `body('HTTP')?['data']?['name']`, which quickly becomes confusing for non-programmers. With Parse JSON, Power Automate does this work for you and shows each field as its own dynamic content.

The trick is called schema generation from a sample payload: you don't have to write a JSON schema by hand, but instead insert a sample of the expected data, and Power Automate automatically builds the matching structure from it. This article shows step by step how that works, what to watch out for, and which errors occur most often. As of: July 2026.

What exactly does the Parse JSON action do?

According to the official documentation, the Parse JSON action is one of several data operations in Power Automate that let you work with data in your cloud flow without writing complicated expressions or loops (Power Automate documentation: Working with data operations). It takes JSON content, such as the response from an HTTP request, a form, or another connector, and converts it into individual, named fields based on a stored schema.

  • Content: The field where you insert the JSON data to be parsed, usually as dynamic content from a previous step.
  • Schema: The structure that describes which fields are contained in the JSON and what data type they have, such as text, number, or boolean.
  • Output: For each field in the schema, a separate entry then appears in the list of dynamic content, which you can simply click in later actions.

As a non-programmer, the most important thing for you is: once the schema is set up, you no longer need to worry about the actual analysis of the JSON structure. Power Automate handles that in the background.

How do you generate the schema from a sample payload?

You don't have to formulate a JSON schema yourself. Instead, you insert a sample of your data, and Power Automate automatically derives the matching schema from it. The official documentation describes exactly this process using the example of a file upload from a form (Power Automate documentation: Common ways to use a form in a flow):

  • Run your flow once as a test so that a real sample value is created in the run history.
  • Open the test run and copy the output of the step whose JSON you want to parse later.
  • Add the Parse JSON action and select the dynamic content you want to parse in the Content field.
  • Select Generate from sample, paste the copied JSON output into the field, and confirm with Done.

The action then shows a complete schema with all detected fields and data types, and you immediately get new dynamic content for the next steps in your flow. It's also handy that you can use the same approach without an actual test run: a manually typed JSON sample works just as well, as long as the structure matches the real data.

How do you work with the parsed values afterward?

Once the schema is set up, the parsed fields appear in every subsequent action under the name of your Parse JSON action. You simply click the field you want, such as Body Email or Body Amount, and Power Automate automatically inserts the matching expression.

  • For simple, flat JSON structures, a click on the field in the list of dynamic content is usually enough.
  • For arrays, i.e. lists of objects, you additionally need an Apply to each loop to process each individual element.
  • If you want to write an expression yourself, safe navigation with a question mark helps, for example `body('Parse_JSON')?['data']?['name']`, so the flow doesn't fail with an error when fields are missing (Power Automate documentation: Expression cookbook for cloud flows).

You always stay in control of the schema: if the structure of the incoming data changes, you reopen the action, select Generate from sample again, and update the schema with a new sample payload.

What errors occur most often with Parse JSON?

Most problems don't arise from the action itself, but from a schema that no longer matches the actual response.

  • Field missing in the response: If an individual record doesn't contain a field from the schema, Power Automate often reports an error instead of simply leaving the field empty. In this case, check whether fields in the schema can be marked as optional, or catch the case with a condition.
  • Double parsing: If an output that is already a structured object is additionally wrapped again with the `json()` function, an error occurs, because most connector actions already return JSON in parsed form.
  • Numbers versus text: If a sample value in the test run happened to be a whole number, Power Automate sometimes generates the Integer type, even though decimal numbers may actually occur as well. Always briefly check the generated schema by hand before using it in production.

Anyone who regularly connects external systems via JSON, processes form data, or links several connectors together benefits from planning the structure of such flows cleanly from the start. This is exactly where NordFlux's Power Automate consulting supports mid-sized companies, from the first automation to a stable handover to your team.

Frequently Asked Questions

Do I need to know the basics of JSON to use Parse JSON?

No. The action is designed precisely so that you don't have to read or write JSON syntax. You insert a sample payload, have the schema generated, and afterward work only with named fields in the list of dynamic content.

Where do I get a sample payload if I don't have a test run yet?

The most reliable option is a real test run of your flow, whose output you copy. If you don't have a run yet, a manually entered JSON sample is also fine, as long as the field names and the general structure match the later real data.

What happens if the JSON structure changes later?

Then the Parse JSON action often reports an error because an expected field is missing or a new data type appears. Open the action, select Generate from sample again, and insert a current sample payload to update the schema.

Can I edit the schema without the Generate from sample button?

Yes. The schema exists in the background as a regular JSON schema and can be edited directly by hand in the schema field of the action, for example to mark a field as optional. For getting started, though, automatic generation from a sample payload is much faster and less error-prone.

Does Parse JSON also work with nested objects or arrays?

Yes, the action also detects nested objects and arrays within the sample payload and maps them accordingly in the generated schema. To process array elements, you additionally need an Apply to each loop in your flow afterward.

About NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux builds digital employees for organisations: automations and AI agents that take over repetitive work. You stay in control.

More about us
Free initial analysis

Concrete questions about automation or AI?

In a free initial analysis we discuss your case directly. No strings attached.