Master 7 Power Automate Data Operations Fast to transform how your business handles data automation. This is the second post in our Power Automate Built-in Tools Series, following our first tutorial on Control actions. In this article, weโre diving deep into Data Operation actions โ essential for working with arrays, tables, and JSON.
๐ What Are Power Automate Data Operation Actions?
Data Operations in Power Automate help you handle data dynamically: format it, filter it, parse it, and extract what matters. Whether you’re dealing with SharePoint lists, Excel files, or JSON responses from APIs, mastering these seven Data Operations gives you a massive advantage.
๐ Master 7 Power Automate Data Operations Fast

Here are the 7 powerful Data Operation actions youโll learn to use:
- Compose
- Create CSV table
- Create HTML table
- Filter array
- Join
- Parse JSON
- Select
โ๏ธ 1. Compose
Use: Create and reuse simple expressions or values.
๐ Use Case:
You may want to extract and format today’s date once and reuse it in multiple places โ or simply view the result of an expression to help with debugging after a flow run from the flow history.
๐ง How to Use:
- Add a Compose action.
- In the Inputs field, enter an expression like:
formatDateTime(utcNow(), 'yyyy-MM-dd')
- Expression Breakdown:
utcNow()
Returns the current date and time in UTC (Coordinated Universal Time). formatDateTime()
Formats a datetime value using a specified pattern.'yyyy-MM-dd'
Is the formatting pattern:yyyy
= 4-digit year (e.g., 2025)MM
= 2-digit month (e.g., 07 for July)dd
= 2-digit day (e.g., 01 for the 1st)- Result Example:
- Expression Breakdown:
- Reference this output in other actions using dynamic content.

The expression formatDateTime(utcNow(), 'yyyy-MM-dd')
is used in Power Automate to generate the current date in a specific format.
โ Result Example:
If today is July 1, 2025, the expression will return:
2025-07-01
๐ 2. Create CSV Table
Convert an array (such as Excel rows) into a CSV file that you can send as an email attachment or save to OneDrive or SharePoint.
๐ Use Case:
Send a weekly report by email with a CSV attachment generated from a SharePoint list.
๐ง How to Use:
After retrieving data (e.g., from Excel using the List rows present in a table action or from SharePoint using the Get items action), continue with the following:
1๏ธโฃ Add the Create CSV Table action
- Go to Built-in > Data Operations and select Create CSV table.
- In the From field, select the
body
/value
from dynamic content by clicking the flash icon. This retrieves all rows from the List rows present in a table action for use in this step.

2๏ธโฃ Send the CSV by Email
- Add the Send an email (V2) action (from Office 365 Outlook).
- To: Enter the recipient’s email address.
- Subject: Example:
Weekly Report CSV
- Body:
Please find the attached CSV file containing the latest data.
- Attachments Name โ 1:
Report.csv
- Attachments Content โ 1: Use the output of the Create CSV table action.

โ Result Email
Save and run the flow, then check the email result below.

๐ 3. Create HTML Table
Convert an array (such as Excel rows) into a cleanly formatted HTML table that you can embed directly in an email body for easy viewing โ no download required.
๐ Use Case:
Send a daily sales report as an HTML table in the body of an Outlook email.
๐ง How to Use:
After retrieving data (e.g., from Excel using the List rows present in a table action or from SharePoint using the Get items action), continue with the following:
1๏ธโฃ Add the Create HTML Table action
- Go to Built-in > Data Operations and select Create HTML table.
- In the From field, select the
body
/value
from dynamic content by clicking the flash icon. This retrieves all rows from the List rows present in a table action for use in this step. - By default, Power Automate uses the Automatic option, which includes all columns from the data source. You can run your flow and verify it.
- Letโs go with the Custom option to control which columns appear in the HTML table. Click “Advanced parameters” and set Columns to Custom.

- Then add the columns you want to include, such as:

- ๐ Header: You can set different header text for each column.
- ๐ฅ Value: Select the corresponding values from the dynamic content list by clicking the โก flash icon.
- This ensures only the Date, Item, and Amount fields appear in your table, instead of all the default columns.
2๏ธโฃ Send the HTML Table by Email
- Add the Send an email (V2) action (from Office 365 Outlook).
- To: Enter the recipient’s email address.
- If you want to type an email address instead of selecting users, click the gear icon โ๏ธ, then select “Use dynamic content”.
- Subject: Example:
Daily Sales Report
- Body: Add a message like:
Hello,
Please find below the latest sales data:
HTML will be here as in screenshot below
Regards,
Power Automate Bot

Add the HTML from Create HTML Table action in email body using one of the following methods:
- Click the โก flash icon, then select the output from the dynamic content list

- Or, click the fx icon and enter the expression and click on Add button:
body('Create_HTML_table')

- Alternatively, you can simply copy and paste the full expression directly:
@{body('Create_HTML_table')}
Make sure to include the@
symbol and the curly braces{}
when using this method.
โ Result Email
Save and run the flow, then check the email result below.

The table in the email may not look well-formatted by default. To improve its appearance, add custom CSS.
Add a Compose action before the email step.
Paste the following CSS into the Compose action:
<style> table { width: 100%; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; } th, td { border: 1px solid #dddddd; text-align: left; padding: 8px; } th { background-color: #f2f2f2; color: #333333; } tr:nth-child(even) { background-color: #f9f9f9; } </style>
Add add the compose output in the email body


โ Result Email:
Save and run the flow, then check the email result below.

๐งน 4. Filter Array
Use: Extract only the items that meet a specific condition.
๐ Use Case:
Letโs update the same flow that uses the Create HTML Table action. This time, weโll filter out all other items and keep only “Item 1”.
๐ง How to Use:
- Add a Filter array action after the List rows present in a table step.
- In the From field, place your cursor inside the field, then click the โก flash icon and select
body
/value
of List rows present in a table action from the dynamic content list. - In the Filter Query field, place your cursor in the field, click the โก flash icon, and select Item of List rows present in a table action from the dynamic content list. Keep the condition as “is equal to”, and in the “Choose a value” field, type “Item 1”.

- Now, update the Create HTML Table action to use the output of the Filter array action. In the From field, select the Body from Filter array instead of body/value of List rows present in a table.

๐งฎ 5. Select
Use: Transform an array by reshaping objects or extracting certain fields.
๐ Use Case:
We have three columns in the Excel file, but we only want to extract the Item column from the body/value
output of the List rows present in a table action.
๐ง How to Use:
- Add a Select action.
- In the From field, place your cursor inside the field, then click the โก flash icon and select
body
/value
of List rows present in a table action from the dynamic content list.

- In the Map field, you can either add key-value pairs or switch to text mode by clicking the T icon.
- If you use key-value pairs, the output will be an array of objects, like:
[ { “Item”: “Item 1” }, { “Item”: “Item 2” } ] - In the Key field, enter any custom key name. In the Value field, click the โก flash icon, then select Item from the dynamic content list.
- If you use key-value pairs, the output will be an array of objects, like:

- If you switch to text mode in the Map field and select only Item from the dynamic content list, the output will be a simple array of values:
[ “Item 1” “Item 2” ]

Letโs continue with the Join action below. Weโll use the output of the Select action as its input.
๐ 6. Join
Use: Combine all items in an array into a single string, separated by a delimiter.
๐ Use Case:
You have a list of items and want to display them as comma-separated values in an email.
๐ง How to Use:
- Add a Join action.
- Add the output array from the Select action by placing your cursor in the From field, then clicking the โก flash icon to select it from the dynamic content list.
- In the Join with field, enter a comma “,” (without quotation marks) or use your preferred delimiter.

โ Result

๐ 7. Parse JSON
Use: Retrieve SharePoint site info (e.g., title and URL) via SharePoint REST API and use the data in other flow actions like Compose or Send Email.
๐ Use Case:
You want to get the SharePoint site title and URL using the REST API (_api/web
) and use those values later in your flow.
๐ง How to Use:
- Add a “Send an HTTP request to SharePoint” action
- Site Address: Select your SharePoint site
- Method:
GET
- Uri:
_api/web
- Headers:
Accept: application/json
- If Headers are not visible, click on Advanced Parameters and check the box to show them.

- Add a Compose action to your flow.
- In the Inputs field of the Compose action, click the flash icon (to open dynamic content).
- From the dynamic content list, select Body from the “Send an HTTP request to SharePoint” action.
- Note:
At this point, you will only see the Body available โ
the individual fields like Title and URL are not visible yet.
This is because the JSON response hasn’t been parsed yet.

- Save and run the flow once
- This will generate a JSON response from SharePoint.
- After running the flow. Click on the most recent entry in the run history โ this will open the flow run details, where you can view and copy the JSON response.

- Copy the response

- Add a Parse JSON action above the Compose action
- Content: Use dynamic content โ Body from Send an HTTP request to SharePoint
- Schema: Click โGenerate from sampleโ, and paste the copied JSON to auto-generate the schema.

- Now in the Compose action
- In the Inputs, use dynamic content โ select Title and URL from the Parse JSON step.
- Now the values are accessible directly.

- Now, add a ‘Send an Email (V2)‘ action. Fill in the To, Subject, and Body fields, and use the Title and URL from the Parse JSON action, just like you did in the Compose action. Then, save and run the flow โ you will receive an email with the Title and URL.

๐ Summary: Master 7 Power Automate Data Operations Fast
Hereโs a recap of all the actions to help you Master 7 Power Automate Data Operations Fast in any workflow:
Action | Purpose |
---|---|
Compose | Store and reuse expressions/values |
Create CSV table | Generate downloadable reports |
Create HTML table | Display data in email-friendly HTML format |
Filter array | Extract specific data |
Join | Merge array into a single string |
Parse JSON | Access dynamic data from JSON string |
Select | Reshape arrays or extract key fields |
When you Master 7 Power Automate Data Operations Fast, you unlock powerful tools for transforming data inside your flows.
๐ฌ Final Thoughts
Mastering Data Operation actions is essential for anyone serious about automation. These tools let you manipulate and format data efficiently, creating flexible and dynamic flows. Youโre now well-equipped to handle almost any data-related challenge in Power Automate. In just a short time, youโve learned how to Master 7 Power Automate Data Operations Fast โ a must-have skill set for anyone serious about automation.
Next in the series: Date Time Actions โ donโt miss it!