🚀 Expressions in Power Automate
Here's a breakdown of Expressions in Power Automate: their purpose, common functions, and examples:
❓ What Are Expressions?
- Expressions are formulas or functions used in Power Automate to 🛠️ manipulate data, perform calculations, or add logic to your workflows.
- They allow you to dynamically transform data from triggers or actions without writing code.
- Example: ✂️ Extracting a substring from text, ⏰ converting time zones, or 📅 calculating a date.
🔑 Key Concepts
- Syntax:
- Expressions start with
@and use functions likeformatDateTime(),concat(), oraddDays(). - Example:
@formatDateTime(triggerBody()?['Date'], 'yyyy-MM-dd')
- Expressions start with
- Dynamic Content vs. Expressions:
- Dynamic Content: 📦 Predefined data from previous steps (e.g., email subject).
- Expressions: ⚙️ Custom logic to modify that data (e.g., formatting the subject into lowercase).
🧰 Common Expression Categories & Examples
- 1. String Manipulation
concat(): 🔗 Combine strings.- Example:
@concat('Hello ', triggerBody()?['SenderName'], '! Your ID: ', outputs('GenerateID'))
- Example:
substring(): ✂️ Extract part of a string.- Example:
@substring(triggerBody()?['EmailSubject'], 0, 10) // First 10 characters
- Example:
toLower()/toUpper(): 🔡 Change case.- Example:
@toLower(triggerBody()?['CustomerName'])
- Example:
- 2. Date/Time Functions
utcNow(): ⏰ Get current UTC time.- Example:
@utcNow()
- Example:
addDays()/addHours(): 📅 Adjust dates.- Example:
@addDays(utcNow(), 7) // Adds 7 days to current time
- Example:
formatDateTime(): 📅 Format a date.- Example:
@formatDateTime(triggerBody()?['DueDate'], 'dd-MM-yyyy')
- Example:
- 3. Math Functions
add()/mul(): ➕ Basic arithmetic.- Example:
@add(triggerBody()?['Quantity'], 10)
- Example:
rand(): 🎲 Generate a random number.- Example:
@rand(1, 100) // Random number between 1-100
- Example:
- 4. Logical Functions
if(): 🤔 Conditional logic.- Example:
@if(triggerBody()?['Priority'] = 'High', 'Escalate', 'Normal')
- Example:
equals()/greater(): ⚖️ Comparisons.- Example:
@greater(triggerBody()?['Sales'], 1000)
- Example:
- 5. Data Conversion
int()/float(): 🔢 Convert to numbers.- Example:
@int(triggerBody()?['Age'])
- Example:
string(): 🔤 Convert to text.- Example:
@string(triggerBody()?['Total'])
- Example:
💡 Example Flow Using Expressions
- Scenario: Send a reminder email 3 days before a project deadline (stored in SharePoint).
- Trigger:
- 📅
Recurrence(scheduled daily).
- 📅
- Get Project Data:
- Use
SharePoint – Get Itemsto fetch projects with deadlines.
- Use
- Apply to Each Project:
Calculate Reminder Date:@addDays(item()?['Deadline'], -3)Check if Today Matches Reminder Date:@equals(formatDateTime(utcNow(), 'yyyy-MM-dd'), formatDateTime(item()?['ReminderDate'], 'yyyy-MM-dd'))Send Email(if condition is true):Body: @concat('Reminder: Project ', item()?['Title'], ' is due on ',formatDateTime(item()?['Deadline'], 'dd MMM yyyy'))
🛠️ How to Use Expressions in Power Automate
- In any action field, click
Add dynamic content>Expression. - Type the formula (e.g.,
substring(triggerBody()?['text'], 0, 20)). - Use the
Expression Reference(e.g.,length(),replace(),coalesce()).
🏆 Benefits of Expressions
- 🔄 Dynamic Data Handling: Transform data on the fly (e.g., format messy input).
- 🧠 Complex Logic: Build conditions, loops, or calculations.
- ✅ Error Reduction: Validate data before processing (e.g., check if a field is empty).
✨ Best Practices
- 🧪 Test expressions in small steps using the
Composeaction. - 📝 Use comments in complex expressions (e.g.,
/* This checks the due date */). - 🔗 Combine expressions with variables for reusability.
By mastering expressions, you can create more powerful, flexible, and intelligent workflows in Power Automate! 🚀
No comments:
Post a Comment
Note: only a member of this blog may post a comment.