# Formula reference - desktop flows

In this article, learn about all the functions available in Power Automate for desktop.

## A

**Abs** – Absolute value of a number.

**Acos** – Returns the arccosine of a number, in radians.

**Acot** – Returns the arccotangent of a number, in radians.

**AddColumns** – Returns a table with columns added.

**AIClassify** – Classifies text into one or more of categories.

**AIExtract** – Extracts specified entities such as registration numbers, phone numbers, or names of people.

**AIReply** – Drafts a reply to the message that you provide.

**AISentiment** – Detects the sentiment of the text that you provide.

**AISummarize** – Summarizes the text that you provide.

**AITranslate** – Translates text from another language.

**And** – Boolean logic AND. Returns **true** if all arguments are **true**. You can also use the **&&** operator.

**Asin** – Returns the arcsine of a number, in radians.

**Atan** – Returns the arctangent of a number, in radians.

**Atan2** – Returns the arctangent based on an (*x*,*y*) coordinate, in radians.

**Average** – Calculates the average of a table expression or a set of arguments.

## B

**Blank** – Returns a *blank* value that can be used to insert a NULL value in a data source.

**Boolean** – Converts a text string, number, or untyped value to a Boolean value.

## C

**Char** – Translates a character code into a string.

**Coalesce** – Replaces *blank* values while leaving non-*blank* values unchanged.

**Concat** – Concatenates strings in a data source.

**Concatenate** – Concatenates strings.

**Cos** – Returns the cosine of an angle specified in radians.

**Cot** – Returns the cotangent of an angle specified in radians.

**Count** – Counts table records that contain numbers.

**CountA** – Counts table records that aren't empty.

**CountIf** – Counts table records that satisfy a condition.

**CountRows** – Counts table records.

## D

**Date** – Returns a date/time value, based on **Year**, **Month**, and **Day** values.

**DateAdd** – Adds days, months, quarters, or years to a date/time value.

**DateDiff** – Subtracts two date values, and shows the result in days, months, quarters, or years.

**DateTime** – Returns a date/time value, based on both date and time components.

**DateTimeValue** – Converts a date and time string to a date/time value.

**DateValue** – Converts a date-only string to a date/time value.

**Day** – Retrieves the day portion of a date/time value.

**Dec2Hex** – Convert a number to a hexadecimal text string.

**Degrees** - Converts radians to degrees.

**Distinct** – Summarizes records of a table, removing duplicates.

**DropColumns** – Returns a table with one or more columns removed.

## E

**EDate** – Adds or subtracts months to a date, without changing the day of the month.

**EncodeUrl** – Encodes special characters using URL encoding.

**EndsWith** – Checks whether a text string ends with another text string.

**EOMonth** – Adds or subtracts months to a date, returning the last day of that month.

**Error** – Create a custom error or pass through an error.

**Exp** - Returns *e* raised to a power.

## F

**Filter** – Returns a filtered table based on one or more criteria.

**Find** – Checks whether one string appears within another and returns the location.

**First** – Returns the first record of a table.

**FirstN** – Returns the first set of records (N records) of a table.

**ForAll** – Calculates values and performs actions for all records of a table.

## G

**GUID** – Converts a GUID string to a GUID value or creates a new GUID value.

## H

**Hex2Dec** – Convert a hexadecimal text string to a number.

**Hour** – Returns the hour portion of a date/time value.

## I

**If** – Returns one value if a condition is true and another value if not.

**IfError** - Detects errors and provides an alternative value or takes action.

**Index** – Returns a record from a table based on ordered position.

**Int** – Rounds down to the nearest integer.

**IsBlank** – Checks for a blank value.

**IsBlankOrError** – Checks for a blank value or error.

**IsEmpty** – Checks for an empty table.

**IsError** – Checks for an error.

**IsNumeric** – Checks for a numeric value.

**IsToday** – Checks whether a date/time value is sometime today in the user's time zone.

## L

**Language** – Returns the language tag of the current user.

**Last** – Returns the last record of a table.

**LastN** – Returns the last set of records (N records) of a table.

**Left** – Returns the left-most portion of a string.

**Len** – Returns the length of a string.

**Ln** – Returns the natural log.

**Log** – Returns the logarithm in any base of a number.

**LookUp** – Looks up a single record in a table based on one or more criteria.

**Lower** – Converts letters in a string of text to all lowercase.

## M

**Max** – Maximum value of a table expression or a set of arguments.

**Mid** – Returns the middle portion of a string.

**Min** – Minimum value of a table expression or a set of arguments.

**Minute** – Retrieves the minute portion of a date/time value.

**Mod** – Returns the remainder after a dividend is divided by a divisor.

**Month** – Retrieves the month portion of a date/time value.

## N

**Not** – Boolean logic NOT. Returns **true** if its argument is **false**, and returns **false** if its argument is **true**. You can also use the **!** operator.

**Now** – Returns the current date/time value in the user's time zone.

## O

**Or** – Boolean logic OR. Returns **true** if any of its arguments are **true**. You can also use the **||** operator.

## P

**Pi** – Returns the number π.

**PlainText** – Removes HTML and XML tags from a string.

**Power** – Returns a number raised to a power. You can also use the **^** operator.

**Proper** – Converts the first letter of each word in a string to uppercase, and converts the rest to lowercase.

## R

**Radians** - Converts degrees to radians.

**Rand** – Returns a pseudo-random number between 0 and 1.

**RandBetween** – Returns a pseudo-random number between two numbers.

**Replace** – Replaces part of a string with another string, by starting position of the string.

**Right** – Returns the right-most portion of a string.

**Round** – Rounds to the closest number.

**RoundDown** – Rounds down to the largest previous number.

**RoundUp** – Rounds up to the smallest next number.

## S

**Second** – Retrieves the second portion of a date/time value.

**Sequence** – Generate a table of sequential numbers, useful when iterating with **ForAll**.

**Shuffle** – Randomly reorders the records of a table.

**Sort** – Returns a sorted table based on a formula.

**Split** – Splits a text string into a table of substrings.

**Sqrt** – Returns the square root of a number.

**StartsWith** – Checks if a text string begins with another text string.

**StdevP** – Returns the standard deviation of its arguments.

**Substitute** – Replaces part of a string with another string, by matching strings.

**Sum** – Calculates the sum of a table expression or a set of arguments.

**Summarize** – Groups records by selected columns and summarizes the remainder.

**Switch** – Matches with a set of values and then evaluates a corresponding formula.

## T

**Table** – Creates a temporary table.

**Tan** - Returns the tangent of an angle specified in radians.

**Text** – Converts any value and formats a number or date/time value to a string of text.

**Time** – Returns a date/time value, based on **Hour**, **Minute**, and **Second** values.

**TimeValue** – Converts a time-only string to a date/time value.

**TimeZoneOffset** – Returns the difference between UTC and the user's local time in minutes.

**Today** – Returns the current date-only value.

**Trim** – Removes extra spaces from the ends and interior of a string of text.

**TrimEnds** – Removes extra spaces from the ends of a string of text only.

**Trunc** – Truncates the number to only the integer portion by removing any decimal portion.

## U

**Upper** – Converts letters in a string of text to all uppercase.

## V

**Value** – Converts a string to a number.

**VarP** – Returns the variance of its arguments.

## W

**Weekday** – Retrieves the weekday portion of a date/time value.

**With** – Calculates values and performs actions for a single record, including inline records of named values.

## Y

**Year** – Retrieves the year portion of a date/time value.