🚀 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 Items
to 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
Compose
action. - 📝 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.