PowerFX Toolkit
PreviewGenerate complex PowerFX formulas instantly. Select a function below to get started.
Device Acceleration (Signal)
Get device acceleration in X, Y, Z axes
Returns the device acceleration in three dimensions measured in g units (9.81 m/s²). Works on native iOS/Android players, returns zero in the browser
Arccosine (Inverse Cosine)
Get the angle whose cosine is the given number
Returns the arccosine of a number in radians (range 0 to Ļ). Input must be between -1 and 1, otherwise returns blank
Arccotangent (Inverse Cotangent)
Get the angle whose cotangent is the given number
Returns the arccotangent of a number in radians (range 0 to Ļ). Works with any number
Add Calculated Columns
Add new calculated columns to a table
Adds one or more calculated columns to a table or record. The original table is not modified ā a new table is returned. Use formulas referencing existing columns
AI Text Classification
Classify text into categories using AI
Uses AI to classify text into one of the provided categories. Great for sorting customer issues, feedback, or support tickets automatically
AI Entity Extraction
Extract entities like names or phone numbers from text
Uses AI to extract specified entities (names, phone numbers, states, etc.) from text. Returns a table of matching results. Still in development
AI Auto-Reply
Generate an AI reply to a message
Uses AI to draft a contextual reply to the provided text. Perfect for auto-responding to customer reviews, emails, or messages
AI Sentiment Analysis
Detect if text is positive, negative, or neutral
Uses AI to detect the sentiment of text. Returns "Positive", "Neutral", or "Negative". Great for analyzing customer reviews or feedback
AI Text Summarization
Summarize text using AI
Uses AI to summarize the provided text into a shorter version. Perfect for condensing emails, documents, or long descriptions
AI Record Summarization
Summarize a Dataverse record using AI
Uses AI to summarize the information in a Dataverse record. Pass a record reference like First(Accounts) and get a human-readable summary
AI Translation
Translate text to another language using AI
Uses AI to translate text into a target language. Source language is auto-detected. Supports dozens of languages via language codes like "fr", "de", "es"
Absolute Value
Get the non-negative value of a number
Returns the number without the negative sign. Abs(-55) returns 55. Works with single values or tables
Active Screen (App Signal)
Check which screen is currently showing
Returns the currently displayed screen. Compare against a screen name, or read screen properties like Fill or Height
Arcsine (Inverse Sine)
Get the angle whose sine is the given number
Returns the arcsine of a number in radians (range -Ļ/2 to Ļ/2). Input must be between -1 and 1, otherwise returns blank
Arctangent (Inverse Tangent)
Get the angle whose tangent is the given number
Returns the arctangent of a number in radians (range -Ļ/2 to Ļ/2). Works with any number
Arctangent from X,Y Coordinates
Get the angle from X and Y coordinates
Returns the angle (in radians, -Ļ to Ļ) from the x-axis to a line from the origin to point (X,Y). Handles all four quadrants correctly, even when X is 0
All Conditions Must Be True (And)
Combine multiple conditions with AND logic
Returns true only if all conditions are true. Perfect for checking multiple requirements at once
Go to Previous Screen
Return to the last displayed screen
Returns to the previously displayed screen with optional transition. Perfect for back buttons
Create Blank Value
Return a blank/NULL value
Returns a blank value representing "no value" or NULL. Use to clear fields or store NULL in databases
Clear Collection
Remove all items from a collection
Delete all records from a collection, leaving it empty
Replace Collection Data
Clear and add new records
Remove all items from a collection and add new ones in one action
Return First Non-Blank Value
Get first non-empty value from a list
Returns the first value that is not blank or empty. Perfect for providing fallback or default values
Add to Collection
Append records to a collection
Add new records to an existing collection without removing current items
Compass Heading (Signal)
Get the compass direction of the device
Returns the compass heading (0ā360 degrees) of the top of the screen based on magnetic north. 0 = North, 90 = East, 180 = South, 270 = West
Network Connection (Signal)
Check if device is online, metered, or syncing
Returns network connection info: whether connected (Wi-Fi/cellular), if the connection is metered, and the current sync state for offline-enabled apps
Cosine
Get the cosine of an angle in radians
Returns the cosine of an angle specified in radians. Use Radians() to convert degrees first. Works with single values or tables
Cotangent
Get the cotangent of an angle in radians
Returns the cotangent (1/tangent) of an angle specified in radians. Use Radians() to convert degrees first. Works with single values or tables
Combine Table Strings
Merge strings from all rows in a table
Summarizes text from a table or collection into one string. Like Sum but for text instead of numbers
Combine Individual Strings
Join multiple text values together
Combines individual strings into one text value. Works like the & operator for merging text
Run Formulas Simultaneously
Execute multiple formulas at the same time
Speeds up your app by running multiple formulas concurrently instead of sequentially. Perfect for OnStart
Convert Radians to Degrees
Convert an angle from radians to degrees
Converts radians to degrees. Ļ radians = 180 degrees. Use to make results from Acos, Asin, Atan human-readable
Remove Columns from Table
Exclude specific columns from a table
Excludes one or more columns from a table or record. All other columns remain. The original table is not modified. The opposite of ShowColumns
Raise e to a Power
Calculate e raised to the specified power
Returns e (2.71828...) raised to the power of its argument. Exp(2) returns 7.389. Works with single values or tables
Filter Multiple Records
Find all items matching conditions
Get multiple records that match your search criteria
Get First Record
Return the first record from a table
Returns the first record from a table or collection. Perfect for getting the top item or most recent entry
Get First N Records
Return the first set of records
Returns a table containing the first N records. Great for top results, pagination, or limiting data
Conditional Logic (If-Then-Else)
Show different results based on conditions
Test conditions and return different values or actions based on the result
Get Record by Position
Return a specific record by index
Returns a record from a table based on its position. Record numbering starts at 1
Check If Value Is Blank
Test for blank or empty values
Returns true if a value is blank (NULL) or empty string. Essential for form validation
Check If Table Is Empty
Test if table has no records
Returns true if a table or collection contains no records. Perfect for checking if data exists
Get Last Record
Return the last record from a table
Returns the last record from a table or collection. Perfect for getting the bottom item or most recent addition
Get Last N Records
Return the last set of records
Returns a table containing the last N records. Great for recent items, reverse pagination, or showing latest entries
Natural Logarithm
Get the natural log (base e) of a number
Returns the natural logarithm (base e) of its argument. Ln(100) returns 4.605. The inverse of Exp. Works with single values or tables
Logarithm (Any Base)
Calculate the logarithm in any base
Returns the logarithm of a number in a specified base. Defaults to base 10. Log(100) returns 2, Log(64, 2) returns 6
GPS Location (Signal)
Get device latitude, longitude, and altitude
Returns the device location based on GPS, cell towers, and IP address. Includes latitude, longitude, and altitude. User must grant permission
Find One Record
Search and retrieve a single item
Get a specific record from your data source based on conditions
Reverse a Condition (Not)
Negate or flip a Boolean value
Returns the opposite of a condition. Turns true to false and false to true
Go to a Screen
Navigate to a specific screen
Changes which screen is displayed with optional transitions and context variables. Essential for app navigation
Any Condition Can Be True (Or)
Check if at least one condition is true
Returns true if any condition is true. Perfect for checking if any requirement is met
Raise Number to a Power
Calculate a number raised to an exponent
Returns a number raised to a power. Power(5, 3) returns 125 (5 Ć 5 Ć 5). Equivalent to using the ^ operator
Pi Constant (Ļ)
Returns the value of Ļ (3.14159...)
Returns the transcendental number Ļ (3.141592...). Takes no arguments. Use in trig calculations like Sin(Pi()/2) or to compute circumferences
Save Data to Database
Create or update records
Send data to SharePoint, Dataverse, SQL, or any data source
Convert Degrees to Radians
Convert an angle from degrees to radians
Converts degrees to radians. 180 degrees = Ļ radians. Use to prepare degree values for trig functions like Sin, Cos, Tan which expect radians
Delete Specific Records
Remove record(s) from a data source
Removes specific record(s) from a data source or collection. Perfect for delete buttons and item removal
Delete Records by Condition
Remove records matching criteria
Removes records from a data source based on conditions. Great for bulk deletion and data cleanup
Rename Table Columns
Rename one or more columns in a table
Renames columns of a table or record using old/new name pairs. The original table is not modified. Old name must exist, new name must not exist
Global Variable (Set)
Store values across all screens
Create or update a global variable that persists throughout your entire app
Search Text in Columns
Find records by text matching
Searches for a text string across multiple columns. Case-insensitive with partial matching. Perfect for search boxes
Keep Only Specific Columns
Include only the columns you want
Includes only the specified columns from a table or record, dropping all others. The original table is not modified. The opposite of DropColumns. Great for creating single-column tables
Sine
Get the sine of an angle in radians
Returns the sine of an angle specified in radians. Use Radians() to convert degrees first. Works with single values or tables
Square Root
Get the square root of a number
Returns the number that, when multiplied by itself, equals the argument. Sqrt(9) returns 3. Works with single values or tables
Tangent
Get the tangent of an angle in radians
Returns the tangent of an angle specified in radians. Use Radians() to convert degrees first. Works with single values or tables
Multiple Choice Logic (Switch)
Match a value against multiple options
Evaluate a formula and return results based on matching values
Screen Variable (UpdateContext)
Store values for current screen only
Create or update context variables that are scoped to the current screen
Arithmetic Operators
Addition, subtraction, multiplication, division, power, percentage
Standard math operators for calculations in Power Apps formulas. Follows normal order of operations (PEMDAS)
As Operator (Name Records)
Give a custom name to the current record in galleries or scope functions
Replaces ThisItem or ThisRecord with a meaningful name. Essential for nested galleries and ForAll loops where you need to access outer scopes
Test Assertion
Validate a condition in Test Studio
Checks that an expression is true during a test. If it returns false, the test case fails. Only available in Power Apps Test Studio
Cast Record to Table Type
Treat a polymorphic lookup as a specific table type
Casts a record reference to a specific table type so you can access its fields. Used with polymorphic lookups like Owner (Users or Teams) in Dataverse
Average (Arithmetic Mean)
Calculate the average of numbers
Calculates the arithmetic mean of its arguments. Pass individual values or a table with a formula to average across records
Convert to Boolean
Convert text, number, or dynamic value to true/false
Converts other types to a Boolean value. "true"/"false" text (case insensitive), 0 = false, any other number = true, Blank() = blank
Calendar (Locale Info)
Get localized month and weekday names
Returns single-column tables of month or weekday names in the user's language. Perfect for Dropdown or Listbox Items properties
ASCII Character from Code
Convert an ASCII code number to its character
Translates a number into the corresponding ASCII character string. Char(65) returns "A". Useful for line breaks with Char(10)
Lookup Column Choices
Get possible values for a lookup column
Choices returns a table of possible values for a lookup column in Dataverse or SharePoint. Commonly used with Combo box controls without adding the foreign table as a data source
Clear Saved Data
Remove data from local device storage
Clears saved data from local storage by key name. Without a name, clears ALL storage for the app. Does not affect other apps
Clock (Locale Info)
Get locale-specific clock format information
Returns clock format info for the user's locale: AM/PM designations and whether a 24-hour clock is used
Comparison Operators
Equal, greater than, less than, not equal comparisons
Compare values and return true or false. Used in If(), Filter(), and anywhere you need conditions. Note: Power Apps uses = (not ==) and <> (not !=)
@ Disambiguation Operator
Resolve name conflicts between fields and globals
The @ operator resolves name conflicts when a field inside a record scope shadows a global name. Use Table[@Field] or [@GlobalName]
in & exactin Membership Operators
Test if a value is in a table or a string contains a substring
The "in" operator tests for membership (case-insensitive) and "exactin" does the same but case-sensitive. Works for both table membership and substring matching
Check Record Table Type
Test if a record reference is a specific table type
Returns true or false checking if a polymorphic record reference belongs to a specific table. Use before AsType to safely cast the record
Load from Local Storage
Reload a collection from device storage
Reloads a collection from local device storage that was previously saved with SaveData. Data appends to existing records ā use Clear() first to replace
Maximum Value
Find the largest number
Returns the maximum (largest) value from its arguments. Pass individual numbers or a table with a formula to find the max across records
Minimum Value
Find the smallest number
Returns the minimum (smallest) value from its arguments. Pass individual numbers or a table with a formula to find the min across records
Save to Local Storage
Store a collection on the device
Saves a collection to local device storage under a name key. Use LoadData to retrieve it later. Perfect for offline caching and faster app startup
Self & Parent Operators
Reference the current control or its container
Self refers to the current control (Self.Fill, Self.Width). Parent refers to the container holding the control (Parent.Fill). Relative references without needing control names
Standard Deviation
Calculate how spread out values are
Calculates the standard deviation of its arguments ā a measure of how far values are from their average. A small value means data points are close together
& String Concatenation Operator
Join text strings together with the & operator
The & operator concatenates (joins) text strings. Equivalent to the Concatenate() function. Also supports $"..." string interpolation syntax
Sum (Total)
Calculate the total of numbers
Calculates the sum of its arguments. Pass individual numbers or a table with a formula to sum values across all records
ThisItem Operator
Access the current record in a Gallery or Form
Refers to the current record inside a Gallery or Form control. Use ThisItem.FieldName to access individual fields of the record being displayed
ThisRecord Operator
Access the current record in ForAll, Filter, Sum, etc.
Refers to the current record inside record scope functions like ForAll, Filter, Sum, and With. Optional but makes formulas clearer and avoids ambiguity
Unicode Character from Code
Convert a Unicode code point to its character
Translates a Unicode code point number into the corresponding character. Supports the full Unicode range including accented letters, symbols, and more
Variance
Calculate how far values spread from the average
Calculates the variance of its arguments ā the square of the standard deviation. Measures how far data points are spread from their average
Color Enumeration
Use built-in named colors like Color.Red, Color.Blue, etc.
The Color enumeration provides ~140 named colors from CSS. Use Color.Name to access them. Alpha defaults to 100% (fully opaque)
Brighten or Darken a Color
Return a lighter or darker version of a color
Returns a brighter or darker version of a color. Fade amount: -1 (fully black) through 0 (no change) to 1 (fully white). Great for hover effects
Color from CSS String
Convert a CSS color name or hex string to a color
Returns a color from a CSS color string. Accepts names ("Tomato"), 6-digit hex (#ff6347), or 8-digit hex with alpha (#ff7f5080)
Get Column Value (Dynamic)
Retrieve a field value from a dynamic record by name
Returns the value of a named property from a dynamic/untyped record. The column name can be a variable ā it does not need to be known at design time. Wrap result with Value(), Text(), etc.
Get Column Names (Dynamic)
List all field names from a dynamic record
Returns a single-column table of all field names from a dynamic/untyped record. Typically used with ParseJSON to discover JSON keys at runtime
Confirmation Dialog
Show a modal confirm/cancel dialog to the user
Displays a confirmation dialog with two buttons. Returns true if confirmed, false if canceled. Supports custom title, subtitle, and button labels
Copy Text to Clipboard
Place text on the device clipboard
Copies any text value to the clipboard as plain text. Behavior function ā use in OnSelect, OnChange, etc. Limited in embedded scenarios (Teams, SharePoint)
Count Numeric Values
Count records containing a number in a column
Counts the number of records that contain a number in a single-column table. Non-numeric and blank values are skipped
Count Non-Blank Values
Count records that are not blank in a column
Counts the number of records that are not blank in a single-column table. Includes text, numbers, booleans ā anything that is not Blank(). Empty strings ("") are counted
Count Matching Records
Count records that satisfy a condition
Counts how many records in a table match a logical condition. The formula can reference any column. Delegable with Dataverse (50K limit with filters)
Count All Rows
Count the total number of records in a table
Counts all records in a table regardless of content. When used directly on Dataverse (no filter), uses a cached count for speed
Color from RGB + Alpha
Build a color from red, green, blue, and transparency values
Returns a color from Red (0-255), Green (0-255), Blue (0-255) components and an Alpha transparency channel (0 = transparent, 1 = opaque)
Data Source Metadata
Get info about a data source or its columns
Retrieves metadata about a data source: column display names, max length, min/max values, required fields, and user permissions (create, read, edit, delete)
Create Date from Numbers
Build a date from year, month, and day values
Creates a date/time value from separate Year, Month, and Day numbers. Time portion is midnight. Out-of-range values automatically roll over (month 13 = January next year)
Create Date + Time
Build a date/time value from individual components
Combines Date and Time into one function, creating a value with both date and time parts from separate Year, Month, Day, Hour, Minute, Second, and optional Millisecond numbers
Create Time from Numbers
Build a time value from hour, minute, second
Creates a time value from separate Hour (0-23), Minute, Second, and optional Millisecond numbers. The result has no date component
Parse Date from String
Convert a date string to a date/time value
Converts a date string (like "10/01/2014" or "January 10, 2013") to a date/time value. Time info in the string is ignored. Supports optional language override for locale-specific parsing
Parse Date + Time from String
Convert a date/time string to a date/time value
Converts a string with both date and time (like "10/11/2014 1:50:24 PM") to a date/time value. Also accepts ISO 8601 format from dynamic/JSON sources
Parse Time from String
Convert a time string to a date/time value
Converts a time string (like "12:15 PM" or "14:30:00") to a date/time value. Date info in the string is ignored. Useful for time comparisons
Extract Day from Date
Get the day-of-month (1ā31) from a date/time value
Returns the day component of a Date/Time value, ranging from 1 to 31
Extract Month from Date
Get the month (1ā12) from a date/time value
Returns the month component of a Date/Time value, ranging from 1 (January) to 12 (December)
Extract Year from Date
Get the year (starting 1900) from a date/time value
Returns the year component of a Date/Time value, starting with 1900
Extract Hour from Time
Get the hour (0ā23) from a date/time value
Returns the hour component of a Date/Time value, ranging from 0 (12:00 AM) to 23 (11:00 PM)
Extract Minute from Time
Get the minute (0ā59) from a date/time value
Returns the minute component of a Date/Time value, ranging from 0 to 59
Extract Second from Time
Get the second (0ā59) from a date/time value
Returns the second component of a Date/Time value, ranging from 0 to 59
Get Weekday Number
Get the day of the week (1ā7) with configurable start day
Returns the weekday of a Date/Time value as a number. Default: 1 (Sunday) to 7 (Saturday). Supports StartOfWeek enum to change which day is first
Decimal to Hexadecimal
Convert a number to a hex string with optional zero-padding
Converts a decimal number to a hexadecimal text string (uppercase AāF). Truncates decimals. Uses 40-bit two's complement for negatives. Optional Places parameter pads positive results with leading zeros
Hexadecimal to Decimal
Convert a hex string to a number
Converts a hexadecimal text string (0ā9, AāF, case-insensitive) to a decimal number. Max 10 hex characters. Uses 40-bit two's complement for values above 7FFFFFFFFF
Convert Text to Number
Parse a text string into a numeric value (host default type)
Converts a text string containing number characters to a numeric value. Returns the host's default type (usually Decimal). Handles percentages, currency symbols, scientific notation, and Booleans. Available in Canvas apps
Convert Text to Float
Parse text into a floating-point number for scientific range
Converts a text string to a Float number. Handles very large values (1e100) that overflow Decimal, but has limited precision. Best for scientific calculations. Not yet available in Canvas apps
Get Default Values
Return default values for a data source to prepopulate forms
Returns a record containing the default values for a data source. Commonly combined with Patch to create new records with defaults pre-filled. Columns without defaults are omitted from the record
Turn Signal On
Start receiving updates from a signal (e.g. Location)
Turns a signal on so the app starts receiving updates. Currently only works with the Location signal. Use in behavior formulas like OnSelect. No return value
Turn Signal Off
Stop receiving updates from a signal to save battery
Turns a signal off so the app stops receiving updates. Saves battery by preventing rapid recalculations. Currently only works with the Location signal. Use in behavior formulas. No return value
Get Unique Values
Remove duplicates from a table column or formula result
Evaluates a formula across each record and returns a one-column "Value" table with duplicates removed. Not delegable ā only the first portion of a data source is retrieved
Download File from Web
Download a file from a URL to the local device
Downloads a file from a web URL to the local device. On mobile, prompts for save location. On web, depends on browser settings. Only usable in behavior formulas. On Windows returns the saved file path as text
Add/Subtract Months (Same Day)
Shift a date by months, keeping the same day of the month
Adds or subtracts months from a date while preserving the day. If the resulting month has fewer days, the day is clamped to the last day (e.g. July 31 - 1 month = June 30). Returns a Date with no time component
End of Month After Shift
Shift a date by months, then jump to the last day of that month
Adds or subtracts months from a date, then sets the day to the last day of the resulting month. Use 0 months to get the end of the current month. Returns a Date with no time component
Save Form to Data Source
Validate and submit form changes to the data source
Saves changes from a Form control to the data source. Validates required fields first. In Edit mode updates the record; in New mode creates a new record. Triggers OnSuccess or OnFailure
Switch to Edit Mode
Set a Form control to edit an existing record
Switches a Form control to FormMode.Edit. The form is populated from the Item property. When SubmitForm runs, the record is updated. This is the default mode
Switch to New Record Mode
Set a Form control to create a new record
Switches a Form control to FormMode.New. The Item property is ignored and defaults from the DataSource populate the form. When SubmitForm runs, a new record is created
Reset Form to Initial Values
Discard user edits and restore the form to its original state
Resets a form to initial values before user edits. If in New mode, switches back to Edit mode. Triggers the OnReset behavior of the form control
Switch to Read-Only Mode
Set a Form control to view a record without editing
Switches a Form control to FormMode.View. Fields are read-only and optimized for display. SubmitForm and ResetForm have no effect in this mode
URL-Encode a String
Replace special characters with %XX for safe URL use
Encodes a URL string by replacing nonalphanumeric characters with % and a hexadecimal number. Use when building URLs dynamically to ensure special characters are properly escaped
HTML-Encode a String
Escape <, >, & into HTML entities for safe display
Encodes a string by replacing characters like <, >, and & with their HTML entity equivalents (<, >, &). Use to display raw HTML structure as visible text
Strip HTML Tags
Remove HTML/XML tags and convert entities to plain text
Strips HTML and XML tags from a string, converting entities like and " to their plain-text equivalents. Great for displaying clean text from RSS feeds or rich-text data
Test if Text Begins With
Check if a string starts with specific text (case-insensitive)
Tests whether one text string begins with another. Case-insensitive by default. Returns true or false. Empty StartText always returns true. Commonly used with Filter for search functionality
Test if Text Ends With
Check if a string ends with specific text (case-insensitive)
Tests whether one text string ends with another. Case-insensitive by default. Returns true or false. Empty EndText always returns true
Create or Rethrow Error
Raise a custom error with Kind and Message, or pass through an existing error
Creates and raises a custom error with a Kind (ErrorKind enum) and Message. Also used to rethrow errors with Error( FirstError ) or Error( AllErrors ) inside IfError handlers
Handle Errors with Fallback
Test for errors and provide replacement values or actions
Tests values for errors and returns a replacement if found. Supports chained value/replacement pairs and an optional default result. Access error details via FirstError.Kind, FirstError.Message, and AllErrors table
Check if Value is Error
Returns true if a value is an error, false otherwise
Tests whether a value is an error. Returns Boolean true or false. Blank values are NOT errors (returns false). Using IsError prevents further processing of the error
Check if Blank or Error
Returns true if a value is blank OR an error
Tests whether a value is blank or an error. Equivalent to Or( IsBlank(X), IsError(X) ). Use as a replacement for IsBlank when error handling is enabled to preserve existing app behavior
Get Data Source Errors
Return a table of errors from previous data source operations
Returns a table of errors from previous Patch, Collect, Remove, etc. operations. Each row contains Record, Column, Message, and Error (ErrorKind enum). Use IsEmpty to check if errors occurred. Pass a specific record or check the whole data source
Exit the App
Close the running app and optionally sign the user out
Exits the currently running app and returns the user to the app list. Stops all further formula evaluation. Optional Signout parameter signs the user out of Power Apps (useful for shared devices). Only works in behavior formulas
Extract Left Characters
Get characters from the start of a string
Extracts the leftmost characters from a string of text. Specify how many characters to return. Works with single values and single-column tables
Extract Right Characters
Get characters from the end of a string
Extracts the rightmost characters from a string of text. Specify how many characters to return from the end
Extract Middle Characters
Get characters from the middle of a string
Extracts characters from the middle of a string of text. Specify the starting position and number of characters
String Length
Get the length of a text string
Returns the number of characters in a text string. Returns 0 for an empty string. Works with single values and single-column tables
Convert to Lowercase
Convert text to all lowercase letters
Converts all uppercase letters in a text string to lowercase. Numbers and special characters are not affected
Convert to Uppercase
Convert text to all uppercase letters
Converts all lowercase letters in a text string to uppercase. Numbers and special characters are not affected
Convert to Title Case
Capitalize the first letter of each word
Converts a text string to title case: the first letter of each word is capitalized and the rest are lowercase
Remove Extra Spaces
Remove leading, trailing, and extra internal spaces
Removes extra spaces from a string: leading and trailing spaces are removed, and multiple internal spaces are reduced to single spaces
Remove Leading/Trailing Spaces
Remove only leading and trailing spaces
Removes spaces from the beginning and end of a string but preserves internal spacing between words
Find Text Position
Find where a string appears within another string
Finds the position of a text string within another string. Returns the starting position number. Case-sensitive. Returns blank if not found
Replace by Position
Replace characters at a specific position in text
Replaces part of a text string with a different string based on starting position and number of characters to replace
Find and Replace Text
Replace occurrences of text with new text
Replaces all occurrences of a text string with another string. Unlike Replace which uses position, Substitute finds and replaces by matching text
Format as Text
Convert any value to a formatted text string
Converts a number, date, or other value to a formatted text string. Use format strings to control the output like date formats or number formatting
Add to Date/Time
Add days, months, hours, etc. to a date
Adds a number of time units (days, months, hours, minutes, etc.) to a date/time value and returns the new date/time
Difference Between Dates
Calculate the difference between two dates
Calculates the difference between two date/time values in the specified time units (days, months, years, hours, etc.)
Current Date and Time
Get the current date and time
Returns the current date and time as a date/time value. Updates every time the formula recalculates. For date only (no time), use Today()
Current Date
Get the current date (no time)
Returns the current date without the time component. The time portion is midnight. For current date WITH time, use Now()
Round Number
Round a number to specified decimal places
Rounds a number to the specified number of decimal places. Uses standard rounding (5 rounds up)
Round Up
Always round away from zero
Rounds a number up (away from zero) to the specified number of decimal places. 3.1 becomes 4 when rounded up to 0 places
Round Down
Always round toward zero
Rounds a number down (toward zero) to the specified number of decimal places. 3.9 becomes 3 when rounded down to 0 places
Integer Part
Round down to the nearest integer
Rounds a number down to the nearest whole number (integer). For positive numbers, removes the decimal part. For negative numbers, rounds away from zero
Loop Through Records
Run a formula for each record in a table
Evaluates a formula for each record in a table. Can perform actions (like Patch) or return a new table. The most versatile looping function in Power Apps
Sort Table
Sort a table by a formula
Sorts a table based on a formula. You can sort ascending or descending. For sorting by column names, use SortByColumns instead
Sort by Column Names
Sort a table by one or more column names
Sorts a table by one or more columns specified by name (as strings). Supports multi-column sorting. Better for delegation than Sort
Create Inline Table
Create a temporary table from records
Creates a table from inline records. Use for lookup tables, dropdown options, or temporary data that does not come from a data source
Replace Entire Record
Replace a record entirely in a data source
Replaces an entire record in a data source. All columns not specified are set to blank. Use Patch if you want to modify only specific columns
Update Records by Condition
Update all records matching a condition
Modifies records in a data source that match a condition. Unlike Update, only changes the specified columns ā other columns keep their values
Group Records
Group table records by one or more columns
Groups records in a table by one or more columns. Creates a new table where each row contains the grouped column values and a sub-table of matching records
Ungroup Records
Flatten a grouped table back to individual records
Reverses a GroupBy operation. Takes a table with sub-tables and flattens it back to individual records
Refresh Data Source
Reload data from a data source
Refreshes the records of a data source. Records from the source are re-fetched. Changes made by other users become visible
Validate Record
Check if a record is valid for a data source
Checks whether a value or complete record is valid for a data source, based on the data source rules and constraints
Link Related Records
Create a relationship between two records
Links two records through a one-to-many or many-to-many relationship in Dataverse
Unlink Related Records
Remove a relationship between two records
Removes a relationship link between two records. The records themselves are not deleted, only the relationship between them
Revert Changes
Discard local changes and refresh from data source
Refreshes and clears errors for records from a data source. Discards any local changes that have not been saved
Inline Named Values
Define named values for use in a formula
Calculates values and performs actions for a single record, including inline records of named values. Avoids repeating complex expressions
Split Text into Table
Split a text string into a table of substrings
Splits a text string into a table of substrings based on a separator. Great for parsing CSV data, tags, or any delimited text
Test Pattern Match
Test if text matches a pattern
Tests whether a text string matches a pattern (regular expression). Returns true/false. Use for validation like email, phone number, or zip code patterns
Extract Pattern Match
Extract the first pattern match from text
Finds the first match of a pattern in text and returns detailed information including the full match, submatches, and position
Extract All Pattern Matches
Extract all pattern matches from text
Finds all matches of a pattern in text and returns a table of results. Each row contains the full match, submatches, and position
Check if Numeric
Test if a value is a number
Tests whether a value is numeric. Returns true if the value can be converted to a number, false otherwise
Show Notification Banner
Display a banner message to the user
Shows a notification banner at the top of the app screen. Supports different types: Information, Success, Warning, and Error
Define User Type
Create a user-defined type for functions
Constructs a user-defined type for use with user-defined functions and untyped values. Used with ParseJSON and custom function definitions
Convert to JSON
Generate a JSON text string from a value
Converts a table, record, or value to a JSON text string. Useful for sending data to APIs or storing structured data as text
Parse JSON String
Convert a JSON string to a usable value
Interprets a JSON string and returns an Untyped object. Use dot notation or Type() to access typed values from the result
Generate/Convert GUID
Create or convert a globally unique identifier
Creates a new GUID or converts a GUID string to a GUID value. GUIDs are 128-bit identifiers commonly used as record IDs in Dataverse
Get User Language
Get the language tag of the current user
Returns the language tag of the current user (e.g., "en-US", "de-DE", "fr-FR"). Useful for localization and language-dependent formatting
Current User Info
Get information about the current user
Returns a record with information about the current user including email, full name, and profile image
Remainder (Modulo)
Get the remainder of a division
Returns the remainder after dividing a number by a divisor. For example, Mod(7, 3) returns 1 because 7 = 2*3 + 1
Random Number (0 to 1)
Generate a random number between 0 and 1
Returns a pseudo-random number greater than or equal to 0 and less than 1. Recalculates each time the formula is evaluated
Random Integer in Range
Generate a random integer between two values
Returns a random integer between a minimum and maximum value (inclusive). Both the min and max values are possible results
Truncate Decimals
Remove the decimal portion of a number
Truncates a number to only the integer part by removing the decimal portion. Unlike RoundDown, Trunc always rounds toward zero
Open URL or App
Launch a webpage or canvas app
Opens a URL in the browser or launches another canvas app. Can pass parameters to the target
Simulate Selection
Trigger a control OnSelect programmatically
Simulates a select action on a control, causing its OnSelect formula to run. Useful for triggering buttons or gallery selections from code
Set Input Focus
Move keyboard focus to a control
Moves input focus to a specific control. The user can then type into that control without clicking it first
Reset Control
Reset a control to its default value
Resets an input control to its Default property value, discarding any user changes. Works on text inputs, dropdowns, toggles, etc.
Print Screen
Open the browser print dialog
Opens the default browser print dialog for the current screen. Allows users to print or save as PDF
Hide SharePoint Form
Hide the SharePoint form panel
Hides the SharePoint form panel. Used in customized SharePoint list forms to close the form after submission
Show Host Info
Display host object information to the user
Shows information about the host environment to the user. Used in embedded scenarios to display context about where the app is running
Time Zone Offset
Get the offset between local time and UTC
Returns the difference in minutes between the user local time and UTC. Use to convert between local and UTC times
Week Number
Get the week number of a date
Returns the week number of a date within the year. Week numbering depends on the start day of the week (Sunday or Monday)
ISO Week Number
Get the ISO 8601 week number of a date
Returns the ISO 8601 week number of a date. Weeks start on Monday and the first week of the year contains the first Thursday
Generate Number Sequence
Create a table of sequential numbers
Generates a single-column table of sequential numbers. Great for creating numbered lists, indices, or loop counters
Randomize Table Order
Randomly reorder records in a table
Randomly reorders the records in a table. Each time Shuffle runs, it produces a different random order
Get Launch Parameter
Access parameters passed to the app
Retrieves a parameter value that was passed to the app via Launch or a URL query string. Used for deep linking between apps
Extract Hashtags
Extract #hashtags from text
Extracts all hashtags (#strings) from a text string. Returns a single-column table of found hashtags
Record Information
Get metadata about a record
Provides information about a record from a data source, such as whether the user can edit or delete it
Record Of Type
Construct a user-defined record type
Creates a typed record reference for use with user-defined functions and untyped values. Used with ParseJSON and function definitions
Set Control Property (Testing)
Simulate setting a control property for testing
Simulates user interactions with input controls as if the user entered a value. Used in automated testing scenarios with Test Studio
Read NFC Tag
Read a Near Field Communication tag
Reads an NFC tag that is close to the device. Returns the tag data including ID and NDEF records. Only works on supported mobile devices
Host Information
Get info about the device and player running the app
The Host object provides information about the device, operating system, browser, session, and player running the app. Useful for debugging and support
Export to PDF
Export screen or control contents to a PDF object
Exports the visible contents of a screen or container to a PDF object (blob). Configure paper size, orientation, DPI, margins, and container expansion. Experimental feature
Trace Diagnostic Info
Log diagnostic messages for debugging
Records diagnostic information to the Power Apps Live Monitor and optionally Azure Application Insights. Use it to debug your app by logging events and variable values
Is Today
Check if a date/time is today
Checks whether a date/time value falls between midnight today and midnight tomorrow in the user's local time zone. Returns true or false
Access full library
Sign in to unlock all components
If you already have an account, we'll log you in
What Users Say
"I was able to create a requested feature while still on the phone with management so they could view the result in real time."
Mike B.
Verified PowerLibs User
"It really helps me customize how I want, instead of trying to figure it out myself. Its saved me hours."
PowerLibs User
Power Apps Developer
"Both saved me a tremendous amount of time since I didn't need to build reusable components from scratch."
Kathleen Henry
Power Platform Developer
