Reshaping Data Without External Calls
The Data Operations connector groups actions that reshape data mid-flow without calling any external service: Compose builds a single value, Parse JSON turns a raw JSON string into structured, clickable dynamic content, Select maps an array into a new shape, and Filter Array reduces an array to items matching a condition.
Cricket analogy: It's like a broadcaster's data team reshaping raw ball-by-ball feed data into the clean graphics overlay viewers see, without touching the actual match being played.
Parse JSON: Turning Raw Text into Structured Tokens
When an HTTP action or a Premium connector returns a raw JSON string, Parse JSON converts it into structured dynamic content you can click and reference by field name later in the flow, based on a schema you either paste or generate automatically from a sample payload. Getting the schema right matters: a field the schema marks as required but that's sometimes missing in real responses will throw an InvalidTemplate error and fail the whole action.
Cricket analogy: It's like translating a raw radio commentary transcript into a structured scorecard with named fields for runs, wickets, and overs, so later stages can reference 'wickets' directly.
Select and Filter Array: Mapping and Reducing Data
Select behaves like a map function — it walks an array and produces a new array where each item has been reshaped according to a mapping you define, useful for stripping a large API response down to just the fields a later step needs. Filter Array behaves like a where clause — it walks an array and keeps only the items matching a condition, commonly chained right before an Apply to Each so the loop only touches relevant records.
Cricket analogy: It's like Select reshaping a full player-stats dump down to just name, runs, and strike rate, while Filter Array keeps only players who scored a century.
Building Output with Compose, Join, and Table Actions
Compose is the simplest data action — it just evaluates an expression and stores the result for later reference, often used to test an expression before wiring it into other actions. Create HTML Table and Create CSV Table take an array and turn it directly into a formatted table string, which is the standard way to build a readable summary inside an email body without manually looping and concatenating rows yourself.
Cricket analogy: It's like Compose being the scratchpad where a commentator drafts a single stat before reading it live, while Create HTML Table renders the full innings scorecard for the broadcast graphic.
{
"type": "object",
"properties": {
"orderId": { "type": "string" },
"amount": { "type": "number" },
"discountCode": { "type": ["string", "null"] }
},
"required": ["orderId", "amount"]
}Use 'Generate from sample' when building a Parse JSON schema — paste a real example payload and Power Automate infers the schema for you, which is far less error-prone than hand-writing it.
Marking a field as required (not nullable) in a Parse JSON schema when real-world responses sometimes omit or null that field will throw an InvalidTemplate error and fail the action. Mark optional or inconsistent fields as nullable, e.g. ['string','null'].
- Compose, Parse JSON, Select, and Filter Array reshape data mid-flow without calling an external service.
- Parse JSON converts a raw JSON string into structured, clickable dynamic content based on a schema.
- Generate a Parse JSON schema from a real sample payload rather than hand-writing it.
- Mark inconsistently present fields as nullable in the schema to avoid InvalidTemplate errors.
- Select maps an array into a new shape; Filter Array reduces an array to matching items.
- Create HTML Table / Create CSV Table turn an array directly into a formatted table string for emails and reports.
Practice what you learned
1. What does the Parse JSON action require in order to expose structured dynamic content?
2. What is the fastest way to build an accurate Parse JSON schema?
3. What happens if a field marked required in a Parse JSON schema is missing from an actual response?
4. Which Data Operations action is equivalent to a map() transformation?
5. Which action turns an array directly into a formatted table string for use in an email body?
Was this page helpful?
You May Also Like
Conditions and Branching
How the Condition and Switch actions let a flow evaluate expressions and branch execution down different paths.
Loops: Apply to Each
How Apply to Each and Do Until iterate over data, including concurrency control and performance trade-offs.
Variables in Flows
How to declare, set, and accumulate values in flow-scoped variables, and where they go wrong inside loops.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics