Mastering Data Operations in Power Automate

Power Automate is an incredibly powerful tool for automating workflows:

Especially when it comes to managing and transforming data.

Whether you’re integrating data from Excel, SharePoint, or third-party APIs, understanding the core data operations is essential for building efficient, scalable flows.

What Are Data Operations in Power Automate?

Data operations are actions within Power Automate that allow you to manipulate data inside your flows. These include:

  • Compose
  • Join
  • Select
  • Filter Array
  • Create HTML Table
  • Parse JSON
  • Append to Array Variable

Each operation serves a unique function in data transformation, helping to format, filter, or restructure data for downstream actions.

I once designed a workflow where I had to extract specific user data from a nested JSON payload and display it in an HTML email.

Using ‘Parse JSON’ followed by ‘Select’ and ‘Create HTML Table’ made the process seamless and maintainable.

Key Data Operations Explained

1. Compose

To add and configure a Compose action in Power Automate:

Search for “Compose” under Data Operations and add it.

In the Inputs box, enter the array or value you want to store.

Tip: Rename the action for easy reference later.

To use its output elsewhere (e.g., in an email or another action):

Add a new action (like Join).

Select Dynamic Content, and choose Outputs from your Compose step.

The Compose action is your go-to for testing expressions or creating reusable values.

It’s a key part of our Power Automate courses as it’s such an effective data operation.

It simplifies data manipulation and supports complex functions like concatenation and conditionals without impacting performance.

2. Join

Use the Join action to combine items in an array into a single string, with your preferred delimiter.

Add the Join action from Data Operations.

In Join with, enter your separator (like; for emails).

In From, enter your array (e.g., a list of emails).

Save your flow, and then run it. In Join with, enter your separator (like ; for emails).

Example:

Input: [“a@example.com”, “b@example.com”]

Output: “a@example.com; b@example.com”

Join is used to combine the elements of an array into a single string.

It’s particularly useful for formatting outputs, such as creating comma-separated values from a list of emails.

3. Select’

Select helps you reshape arrays. You can:

Rename fields (e.g., first → FirstName)

Add new fields (e.g., FullName = first + ” ” + last)

Add Select from Data Operations.

Map existing fields and build new ones using expressions.

Use outputs in Compose or downstream actions.

Select helps shape your data by transforming an array of objects into a new structure.

It’s often used when you need only specifically fields from a dataset.

4. Filter Array

Filter Array reduces data based on conditions:

Add Filter array from Data Operations.

In From, use the array to filter.

In the condition, define rules like first is equal to Eugenia. Example:

Input: [{ “first”: “Eugenia” }, { “first”: “Elizabeth” }]

Output: [{ “first”: “Eugenia” }]

Use a Filter Array to include or exclude items from a dataset based on conditions.

It’s ideal for refining datasets before feeding them into other components.

5. Create HTML Table

Formatted HTML table:

Create HTML Table.

This is ideal for clean email reports.

This action converts arrays into readable HTML tables useful for sending clean, formatted reports via email.

6. Parse JSON

Parse JSON allows you to convert unstructured JSON responses into a structured format.

This unlocks easy access to deeply nested data, especially when working with APIs.

7. Append to Array Variable

Append is useful when you need to accumulate data across loop iterations or conditions.

It’s essential for scenarios where you’re building dynamic datasets on the fly.

Best Practices for Efficient Data Operations

  • Avoid unnecessary loops: Use Select and Filter Array to manipulate collections instead of Apply to Each where possible.
  • Use expressions efficiently: Functions like join (), concat (), and add Days () help streamline flows without introducing complexity.
  • Validate your data: Use Parse JSON with a schema to ensure data integrity before performing operations.
  • Minimize flow runs: Use Compose and other operations to pre-process data and reduce the number of triggered actions.

These recommendations reflect best practices supported by the broader Power Platform community and align with Microsoft’s performance guidelines.

Real-World Use Case

Imagine a scenario where you receive data from a Microsoft Form and need to store it in SharePoint, send an email summary, and log the response in Excel.

By combining Parse JSON, Select, and Create HTML Table, you can achieve this without a single loop, keeping the flow clean and fast.

Methods like do until loops can be effective, but also resource heavy.

In a real-world project, I automated form submissions with attachment handling, data logging, and email summaries all built around these core data operations.

Final Thoughts

Mastering data operations in Power Automate elevates your ability to craft efficient, scalable, and reliable workflows.

By understanding each operation and applying best practices, you’ll reduce errors, increase performance, and ultimately deliver more impactful automation solutions.

If you’re serious about building better automations, data operations are your foundation.

Practice them, experiment with different scenarios, and always aim for clean, maintainable flows.

About Maximillian Hindley

Max is the SEO Executive For Acuity Training, boosting the sites performance for over 2 years.


He is a Computer Science Graduate From The University of West England and has been working with websites since 2018.


He studied modules on SEO, SQL and Artificial Intelligence at University while moving to learn Power BI, Excel and other technologies more recently.