๐Ÿš€ Master 7 Power Automate Data Operations Fast and Improve Workflows

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

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:
  • 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 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:

ActionPurpose
ComposeStore and reuse expressions/values
Create CSV tableGenerate downloadable reports
Create HTML tableDisplay data in email-friendly HTML format
Filter arrayExtract specific data
JoinMerge array into a single string
Parse JSONAccess dynamic data from JSON string
SelectReshape 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!

๐Ÿ’กBonus Resources

Leave a Comment