top of page

Subscribe to our newsletter

Power Automate Built-in Tools Cheat Sheet

  • Writer: Sivakumar K
    Sivakumar K
  • Oct 3, 2025
  • 7 min read
Power Automate Built in Tools ( Actions )
Power Automate Built in Tools ( Actions )

This Power Automate Built-in Tools Cheat Sheet is your quick guide to core actions like Controls, Data Operations, Variables, Date & Time, Text, Numbers, HTTP, and Requests. Learn what each action does with simple examples and make your flows smarter and faster


  1. Conditions

  2. Data Operators

  3. Date and Time

  4. HTTP

  5. Number Functions

  6. Text functions

  7. Request

  8. Schedule

  9. Variable


Conditions


The Condition action in Power Automate lets you create IF–THEN–ELSE logic in your flows. It checks whether a value meets a condition (like equals, greater than, contains) and then runs actions in either the Yes branch or the No branch. This helps you make flows smarter by handling different outcomes automatically.

Condition

Description

Purpose / When to Use

Examples

Condition

Creates an IF–THEN–ELSE decision block to branch the flow based on whether a condition is true or false

Use when you need to check a value and take different actions (e.g., If Status = Pending → Send Reminder, else → Do Nothing).

If Invoice Amount > 10,000 → send to Finance Manager, else → auto-approve.

Switch

Compares a single value against multiple possible cases. Works like a multi-branch condition.

Use when you have multiple outcomes for one variable (e.g., If Priority = High → Escalate, Medium → Notify, Low → Log Only).

If Priority = High → notify Director; Medium → Manager; Low → Log only.

Apply to Each

Runs a set of actions for each item in an array/collection.

Use when processing a list of records (e.g., Loop through each email attachment and save it to SharePoint)

For each email attachment, save it to SharePoint.

Do Until

Loops until a condition evaluates to true or a maximum iteration count is reached.

Use for waiting logic or repetitive checks (e.g., Keep checking until approval status changes from Pending to Approved/Rejected).

Keep checking until Approval Status ≠ Pending, or stop after 24 hours.

Scope

Groups multiple actions together into a single block.

Use for logical grouping, better organization, and error handling (e.g., Group all “Approval” related actions in one scope)

Put all Approval steps inside one Scope so you can handle errors more cleanly.

Terminate

Stops the flow immediately with a specific status (Succeeded, Failed, or Cancelled).

Use when you want to end the flow early if certain conditions are met (e.g., If data is missing → terminate as Failed)

If Customer ID is missing, terminate with Failed status to avoid bad data.

Data Operations:


Data Operations actions in Power Automate help you transform, filter, and shape data inside your flows. They’re used to clean inputs, reformat arrays, and prepare information for emails, reports, or storage. Common actions include Compose, Parse JSON, Select, Filter array, Join, Create CSV/HTML table, Union, Intersection, and Except


Action

Description

Purpose / When to Use

Examples

Compose

Holds a single value (string/number/object/array) to reuse later.

Store an intermediate value, build strings, or simplify long expressions.

Compose → concat('REQ-', triggerOutputs()?['body/ID'])

Parse JSON

Validates JSON and creates typed tokens you can reference with dynamic content.

After HTTP/AI/Regex output, get strongly typed fields (no body()?['foo'] hacks).

Content: body('HTTP') • Schema: paste from Generate from sample

Select

Maps each item in an array to a new shape (projection).

Build a clean array with only the needed fields or renamed keys.

From: value • Map: FullName: concat(item()?['First'],' ',item()?['Last']), Email: item()?['Mail']

Filter array

Keeps only the items that match a condition.

Reduce a list (e.g., only Status = 'Pending' or Amount > 10000).

Condition (advanced): @equals(item()?['Status'], 'Pending')

Join

Concatenates array of strings using a delimiter.

Turn an array into a line, CSV row, or email line.

join(body('Select'), '; ')

Create CSV table

Converts an array of objects to CSV text.

Export to a file, attach to emails, or load into Excel/SharePoint.

From: array of objects • Columns: Automatic or Custom

Create HTML table

Converts an array of objects to an HTML <table>.

Nicely formatted email tables/approvals.

From: array of objects • Columns: Custom with display names

Union

Merges two arrays and removes duplicates (by full item equality).

De-dupe two lists (IDs/emails).

union(variables('arrA'), variables('arrB'))

Intersection

Returns only items present in both arrays.

Find common IDs between sources.

intersection(variables('arrA'), variables('arrB'))

Except

Returns items in first array not in the second.

Compute differences (e.g., removed users).

except(variables('arrA'), variables('arrB'))

Date & Time


Date & Time actions in Power Automate let you generate, convert, and format dates and times inside your flows. They’re useful for scheduling reminders, calculating deadlines, or showing user-friendly dates. Common actions include Current time, Add to time, Subtract from time, Convert time zone, and Format date time.


Action

Description

Purpose / When to Use

Examples

Add to time

Adds a number of units (days, hours, minutes, etc.) to a base date/time.

Calculate future deadlines, SLA expirations, or reminders.

Input: 2025-10-03T10:00:00Z + 2 days → 2025-10-05T10:00:00Z

Subtract from time

Subtracts a number of units from a base date/time.

Calculate expiry windows, grace periods, or “X days ago.”

Input: 2025-10-03T10:00:00Z - 7 days → 2025-09-26T10:00:00Z

Current time

Returns the UTC time at the moment the action runs.

Useful for logging, stamping records, or comparing with deadlines.

Output: 2025-10-03T09:12:45Z

Convert time zone

Converts a date/time value from one time zone to another, with optional formatting.

Show local times in emails, reports, or approvals (e.g., IST instead of UTC).

Input: 2025-10-03T09:12:45Z → Converted to India Standard Time → 2025-10-03T14:42:45+05:30

Format date time

Converts a date/time to a specific string format.

Display user-friendly formats in emails, documents, or file names.

Input: 2025-10-03T09:12:45Z → Format dd-MM-yyyy → 03-10-2025


HTTP:

HTTP actions let your flow call external APIs and services directly. You can send GET, POST, PUT, PATCH, or DELETE requests, include headers, and process responses. This is useful for integrating with systems that don’t have ready-made connectors.

Text:

Text actions help you manipulate and extract strings inside your flows. You can find the position of characters, extract parts of text with Substring, and clean up values for further processing.

NumberFunction:

Number actions allow you to format numeric values for display. With Format number, you can present numbers as currency, percentages, or custom patterns based on locale.


Action

Description

Purpose / When to Use

Examples

HTTP

Lets you make raw HTTP calls (GET, POST, PUT, PATCH, DELETE) with custom headers, query params, and request body.

Use this when you need to call an external REST API or service that doesn’t have a ready-made connector.

 

HTTP + Swagger

Lets you import and use an OpenAPI/Swagger definition directly in the action.

Use when the target service provides a Swagger/OpenAPI file — this pre-defines methods and schemas so you don’t have to hand-code URIs and bodies.

 

HTTP Webhook

Creates a webhook subscription: your flow can wait for a callback/notification from another service.

Use when a service supports webhooks (event-driven push), instead of polling with repeated GET calls. Example: waiting for a payment gateway to confirm a transaction.

 

Number Functions

Converts a number into a formatted string using a pattern or locale.

Make numbers user-friendly in emails, reports, filenames, or notifications.

 

Find text position

Returns the index/position of a substring inside a larger text string.

Locate where a keyword, character, or code appears so you can extract or validate text.

Text: "Power Automate"


Substring: "Auto"


Output: 6 (because "Auto" starts at the 7th character, index = 6).


Use case: Find position of "@" in an email to split username and domain.

Substring

Extracts part of a string using start position and length.

Get IDs, codes, prefixes, or a slice of text.

Text: "Invoice-2025-001"


Start: 8, Length: 4


Output: "2025"


Use case: Extract the year (2025) from an invoice number.

Request:

Request actions let your flow behave like an API endpoint. With When an HTTP request is received (trigger), a flow can start when it gets a web call, and with Response (action), it can return data back to the caller. This makes it possible to integrate Power Automate with external apps, custom systems, or webhooks.


Action

Description

Purpose / When to Use

Examples

When an HTTP request is received

Starts a flow when it receives an HTTP request at a generated URL.

Make your flow behave like a webhook endpoint or custom API.

Receive data from external systems (ERP, CRM, e-commerce, IoT devices).


Trigger Power Automate from another app via REST API call.


Build custom integrations when no connector exists.

Response

Sends a response back to the caller after your flow processes a request.

Return status, text, or JSON back to the system that called the flow.

Confirm receipt of data (200 OK).


Return processed results (e.g., calculation, approval status).


Send error details back if validation fails.

Schedule:

Schedule actions let you control when a flow runs or resumes. You can add delays, wait until a specific date/time, or start a flow on a recurring schedule. These are useful for reminders, time-based automation, or SLA tracking.


Action

Description

Purpose / When to Use

Examples

Delay

Pauses the flow for a specified duration.

Use when you want to wait for minutes/hours/days before the next step.

Delay PT5M → Waits 5 minutes before continuing.

Delay until

Pauses the flow until a specific date/time is reached.

Use for scheduling follow-ups, reminders, or waiting until a deadline.

Delay until: 2025-10-05T10:00:00Z → Flow resumes only at that time.

Recurrence (Trigger)

Starts the flow on a schedule (every X minutes, hours, days, weeks, months).

Use to create flows that run automatically on a repeating schedule.

Run every day at 9:00 AM.

Variable:

Variable actions let you create and update values inside your flow. They are useful for storing temporary data, counters, lists, or building dynamic text while the flow runs.


Action

Description

Purpose / When to Use

Examples

Initialize variable

Creates a variable with a name, type, and initial value.

Always the first step before using a variable.

varCount (Integer) = 0

Set variable

Assigns a new value (overwrites the old one).

Use to update value at once.

Set varStatus = "Approved"

Increment variable

Adds a number to the current value (for Integers/Floats).

Use counters or running totals.

varCount = varCount + 1

Decrement variable

Subtracts a number from the current value.

Countdowns or balancing numbers.

varBalance = varBalance - 50

Append to string variable

Adds text at the end of an existing string variable.

Build dynamic text or logs.

"Log: Step1 done " + "Step2 done"

Append to array variable

Adds a new item at the end of an array variable.

Collect multiple values during the run.

Array: [“A”] → Append “B” → [“A”, “B”]


Comments


bottom of page