Introduction

When working with Power Automate, actions such as Get items, Get rows, or API calls often return more data than you actually need. Processing all those properties can make a flow harder to understand and maintain.

The Select action, available under Data Operations, helps solve this problem by allowing you to reshape an array of objects. You can select the properties you need, rename them, and create a clean output structure for the next step in your flow.

Simple concept:
Filter Array decides which records you want. Select decides what information you want from those records.

What is the Select Action?

The Select action transforms an array into a new array with the structure you define.

For example, a SharePoint Get items action may return:

Code
ID
Name
Email
Department
Phone
Location
Created
Modified
Author
Editor

But suppose your next action only requires:

Code
EmployeeName
EmailAddress
Department

Instead of passing all the original properties forward, you can use Select to create a smaller and cleaner structure.

Before Select

Code
[
    {
        Name: "DemoUser1",
        Email: "[email protected]",
        Department: "IT",
        Phone: "12345",
        Location: "India"
    }
]

After Select

Code
[
    {
        EmployeeName: "DemoUser1",
        EmailAddress: "[email protected]",
        Department: "IT"
    }
]

Real-World Example: SharePoint Employee List

Assume you have a SharePoint list called Employees.

The list contains:

ID

Name

Email

Department

Phone

Location

1

DemoUser1

[email protected]

IT

12345

India

2

DemoUser2

[email protected]

HR

67890

USA

3

DemoUser3

[email protected]

Finance

54321

UK

You want to send employee information through an email, but you only need:

  • Employee Name

  • Email Address

  • Department

The flow can be designed as:

Code
Get Items
   ↓
Select
   ↓
Create HTML Table
   ↓
Send Email
Step 1: Get Items

Add the SharePoint Get items action.

Configure:

Site Address

Code
Your SharePoint Site

List Name

Code
Employees

The important output from Get items is the value array.

Example:

JSON
[
    {
        "Name": "DemoUser1",
        "Email": "[email protected]",
        "Department": "IT",
        "Phone": "12345"
    },
    {
        "Name": "DemoUser2",
        "Email": "[email protected]",
        "Department": "HR",
        "Phone": "67890"
    }
]
Step 2: Add Select

Click:

+ New step → Data Operation → Select

The Select action contains two important areas:

From

For SharePoint Get items, select:

Code
value

This tells Power Automate which array should be transformed.

Map

Now define the properties that you want in the output.

Key

Value

EmployeeName

Name

EmailAddress

Email

Department

Department

Conceptually:

Code
EmployeeName  → Name
EmailAddress  → Email
Department    → Department
Step 3: Output

After Select executes, the output becomes:

JSON
[
  {
    "EmployeeName": "DemoUser1",
    "EmailAddress": "[email protected]",
    "Department": "IT"
  },
  {
    "EmployeeName": "DemoUser2",
    "EmailAddress": "[email protected]",
    "Department": "HR"
  },
  {
    "EmployeeName": "DemoUser3",
    "EmailAddress": "[email protected]",
    "Department": "Finance"
  }
]

Notice that the number of records remains the same, but the structure of each record has changed.

Select Does Not Filter Records

This is one of the most important things to understand.

Suppose Get items returns:

Code
10 records

After Select:

Code
10 records

Select changes the properties of each record.

If you want to reduce:

Code
10 records → 5 records

you should use Filter array.

Select vs Filter Array

Feature

Filter Array

Select

Removes records

Yes

No

Changes properties

No

Yes

Renames properties

No

Yes

Reduces number of records

Yes

No

Creates a new structure

Limited

Yes

Main purpose

Filter data

Reshape data

Example

If you want only IT employees:

Code
Get Items
    ↓
Filter Array
    ↓
Select

Filter Array:

Code
Department = IT

Then Select:

Code
EmployeeName → Name
EmailAddress → Email
Department → Department

The result contains only IT employees with the required properties.

Using Select in an Invoice Approval Flow

Select is also useful in an Invoice Approval process.

For example, suppose a SharePoint query returns many invoice fields:

Code
Invoice Number
Vendor
Invoice Amount
Invoice Date
Approval Status
Created By
Modified By
Created
Modified
Department
Currency
...

But you want to send an approval summary containing only:

Code
InvoiceNumber
VendorName
Amount
Status

Your flow can be:

SQL
Get Invoice Items
       ↓
Filter Array
       ↓
Select
       ↓
Create HTML Table
       ↓
Send Approval Email

The Select mapping could be:

Output Property

Source

InvoiceNumber

Invoice Number

VendorName

Vendor

Amount

Invoice Amount

Status

Approval Status

This produces a clean dataset for the email or report.

Why Use Select?

1. Create a clean data structure

Instead of passing unnecessary fields through the flow, you can create a structure containing only the required information.

2. Rename properties

For example:

Code
Name → EmployeeName
Email → EmailAddress

This makes the output easier to understand.

3. Remove unnecessary fields

If the source contains 20 properties but you need only 4, Select can produce an output containing those 4 properties.

4. Make downstream actions easier

A clean Select output can be used by actions such as:

  • Create HTML Table

  • Create CSV Table

  • Send an Email

  • HTTP

  • Parse JSON

  • Apply to each

  • Compose

Select with Filter Array

A common and useful pattern is:

SQL
Get Items
    ↓
Filter Array
    ↓
Select
    ↓
Create HTML Table
    ↓
Send Email

Filter Array

Answers:

Which records do I want?

Select

Answers:

What information do I want from those records?

For example:

Code
Get Items
   ↓
Keep only Approved invoices
   ↓
Select Invoice Number, Vendor and Amount
   ↓
Create HTML Table
   ↓
Send Email

This makes the overall flow easier to maintain.

Common Mistakes

1. Using the wrong input

For SharePoint Get items, Select normally needs the value array.

Do not accidentally provide the complete Get items response object.

2. Using Select instead of Filter Array

If your requirement is:

"I only want records where Status = Approved."

Use Filter array.

Select alone will not remove the other records.

3. Using unclear output names

Avoid names such as:

Code
Field1
Field2
Data1
Data2

Prefer meaningful names:

Code
InvoiceNumber
VendorName
InvoiceAmount
ApprovalStatus

4. Passing unnecessary fields

If the next action only requires three properties, there is usually no reason to carry many unrelated properties through the rest of the flow.

Complete Example

A practical Power Automate design could look like this:

SQL
When an item is created
        ↓
Get Items
        ↓
Filter Array
   Status = Active
        ↓
Select
   EmployeeName → Name
   EmailAddress → Email
   Department → Department
        ↓
Create HTML Table
        ↓
Send Email

Input

Code
DemoUser1  | [email protected]    | IT
DemoUser2  | [email protected]    | HR
DemoUser3  | [email protected]    | Finance

Select Output

Code
EmployeeName | EmailAddress       | Department
------------------------------------------------
DemoUser1  | [email protected]  | IT
DemoUser2  | [email protected]  | HR
DemoUser3  | [email protected]  | Finance

Conclusion

The Select action is a simple but powerful Data Operation in Power Automate for transforming arrays into a clean, meaningful structure.

Remember the easiest way to distinguish the two actions:

Filter Array = Which records should I keep?

Select = Which properties should I keep and how should they be named?

Using Filter Array + Select together can make Power Automate flows cleaner, easier to maintain, and easier to use in later actions.

Available next action: Create a downloadable DOCX file here in this chat containing the editable prose above