← Back to Tips & Tricks
Power Automate
Expression Builder Mastery
Learn the most useful Power Automate expressions for string manipulation, dates, and data transformation.
Essential Expression Categories
Master these expression types to handle any data transformation challenge.
String Functions
// Combine strings
concat('Hello, ', triggerBody()?['name'])
// Extract parts
substring('PowerAutomate', 0, 5) // Returns: Power
// Replace text
replace(variables('text'), 'old', 'new')
// Format with multiple values
formatNumber(123456.789, 'C2', 'en-US') // $123,456.79
// Split into array
split('a,b,c', ',')
Date Functions
// Current time
utcNow()
// Format dates
formatDateTime(utcNow(), 'yyyy-MM-dd')
// Add/subtract time
addDays(utcNow(), 7)
addHours(utcNow(), -2)
// Get components
dayOfWeek(utcNow()) // 0=Sunday
dayOfMonth(utcNow())
// Parse strings to dates
parseDateTime('2024-12-27', 'yyyy-MM-dd')
Conditional Logic
// If-else
if(equals(triggerBody()?['status'], 'Approved'), 'Yes', 'No')
// Coalesce (first non-null)
coalesce(triggerBody()?['preferred'], triggerBody()?['default'], 'None')
// Null checks
if(empty(variables('myVar')), 'Empty', variables('myVar'))
Array Operations
// Get length
length(variables('myArray'))
// First/last item
first(variables('myArray'))
last(variables('myArray'))
// Check if contains
contains(variables('myArray'), 'searchValue')
// Join array to string
join(variables('myArray'), ', ')
// Filter array (use with Select action)
@{body('Filter_array')}
JSON Operations
// Parse JSON string
json(triggerBody()?['jsonString'])
// Access nested properties
triggerBody()?['customer']?['address']?['city']
// Create JSON
json(concat('{"name":"', variables('name'), '"}'))
Common Patterns
Safe Property Access
// Avoid errors on missing properties
coalesce(triggerBody()?['optionalField'], 'default value')
Trim and Clean Text
trim(replace(variables('text'), ' ', ' '))
Pro tip: Use the Compose action to test expressions before using them in complex operations.