Power Automate Built-in Tools Cheat Sheet
- Sivakumar K
- Oct 3, 2025
- 7 min read

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
Conditions
Data Operators
Date and Time
HTTP
Number Functions
Text functions
Request
Schedule
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