Power Automate  

Common Power Automate Expressions Explained with Examples

Introduction

Power Automate expressions are essential for building dynamic, flexible, and intelligent workflows. While the visual designer makes flow creation easy, real-world business scenarios often require expressions to handle conditions, calculations, formatting, and data transformations.

This article explains commonly used Power Automate expressions, why they are needed, and how to use them, with practical examples you can apply immediately in your flows.

What Are Power Automate Expressions?

Power Automate expressions are formulas written in Workflow Definition Language (WDL). They allow you to:

  • Manipulate and transform data

  • Perform calculations

  • Apply conditional logic

  • Format text and date values

  • Work with arrays and objects

Expressions are commonly used in:

  • Condition actions

  • Compose actions

  • Initialize / Set Variable actions

  • Dynamic content fields

Expressions are always written inside:

@{ }

 1. concat() – Combine Text Values

Purpose: Combines multiple text values into a single string.

Syntax

concat(value1, value2, value3)

Example

concat('Leave request from ', triggerBody()?['EmployeeName'])

Output

Leave request from John Doe

Common Use Cases

  • Email subject lines

  • File and folder names

  • Dynamic notification messages

2. equals() – Compare Two Values

Purpose

Checks whether two values are equal.

Syntax

equals(value1, value2)

Example

equals(triggerBody()?['Status'], 'Approved')

Output

  • true if values match

  • false otherwise

Common Use Cases

  • Condition checks

  • Approval and decision flows

3. if() – Conditional Logic

Purpose

Returns one value if the condition is true and another if it is false.

Syntax

if(condition, valueIfTrue, valueIfFalse)

Example

if(equals(triggerBody()?['Priority'], 'High'), 'Urgent', 'Normal')

Output

Urgent

or

Normal

Common Use Cases

  • Conditional email content

  • Status labels

  • Priority-based logic

4. empty() – Check for Blank or Null Values

Purpose

Checks whether a value is null or empty.

Syntax

empty(value)

Example

empty(triggerBody()?['Comments'])

Output

  • true if empty or null

  • false if value exists

Best Practice

Always use empty() instead of direct null comparisons to avoid runtime errors.

5. coalesce() – Handle Null Values Safely

Purpose

Returns the first non-null value from a list.

Syntax

coalesce(value1, value2, value3)

Example

coalesce(triggerBody()?['ManagerEmail'], '[email protected]')

Output

  • Manager email if available

  • Default email otherwise

Common Use Cases

  • Optional fields

  • SharePoint and Dataverse null handling

6. formatDateTime() – Format Date and Time

Purpose

Formats date and time values into a readable format.

Syntax

formatDateTime(date, format)

Example

formatDateTime(triggerBody()?['Created'], 'dd-MMM-yyyy')

Output

16-Dec-2025

Common Use Cases

  • Email content

  • Reports

  • File naming conventions

7. addDays(), addHours(), addMinutes() – Date Calculations

Purpose

Performs date and time calculations.

Syntax

addDays(date, number)
addHours(date, number)
addMinutes(date, number)

Example

addDays(utcNow(), 7)

Output

Date after 7 days from today

Common Use Cases

  • SLA calculations

  • Reminder scheduling

  • Due date generation

8. length() – Get Count of Items

Purpose

Returns the number of characters in a string or items in an array.

Syntax

length(value)

Example

length(body('Get_items')?['value'])

Output

Number of items retrieved

Common Use Cases

  • Record validation

  • Conditional branching

9. contains() – Check if Value Exists

Purpose

Checks whether a string or array contains a specific value.

Syntax

contains(value, substring)

Example

contains(triggerBody()?['Title'], 'Urgent')

Output

true

or

false

Common Use Cases

  • Keyword detection

  • Subject-based routing

10. split() – Convert Text into an Array

Purpose

Splits a string into multiple values using a delimiter.

Syntax

split(string, delimiter)

Example

split('IT,HR,Finance', ',')

Output

["IT", "HR", "Finance"]

Common Use Cases

  • Multi-value processing

  • Loop creation

11. join() – Convert an Array into Text

Purpose

Combines array values into a single string.

Syntax

join(array, delimiter)

Example

join(variables('Departments'), ', ')

Output

IT, HR, Finance

12. int(), string(), bool() – Type Conversion

Purpose

Converts values into required data types.

Examples

int('10')
string(variables('Count'))
bool('true')

Common Use Cases

  • Mathematical operations

  • Condition comparisons

  • Data validation

Common Mistakes to Avoid

  • Comparing null values directly instead of using empty() or coalesce()

  • Forgetting to wrap expressions inside @{}

  • Using dynamic content instead of expressions inside conditions

  • Ignoring time zone conversions

Best Practices

  • Use Compose actions to test expressions

  • Keep expressions readable and simple

  • Add comments to explain complex logic

  • Avoid deeply nested expressions

  • Handle null values proactively

Conclusion

Mastering Power Automate expressions significantly improves the reliability, scalability, and maintainability of your workflows. The expressions covered in this article address most real-world automation scenarios and form a strong foundation for advanced Power Automate development.

With regular practice, expressions become a powerful asset rather than a challenge.