🚀 Introduction to Variables in Power Automate
- Variables in Power Automate are containers that store temporary data during a workflow's execution.
- They allow you to 🛠️ manipulate values, ➡️ pass data between steps, and ⚙️ create dynamic logic.
- Unlike traditional programming, variables in Power Automate must be 📍 declared explicitly and are scoped to the entire flow (unless nested in loops or scopes).
🗄️ Types of Variables
Power Automate supports six variable types:
- 🔤 String: Text data (e.g., "Hello, World!").
- 🔢 Integer: Whole numbers (e.g., 42).
- ⚖️ Float: Decimal numbers (e.g., 3.14).
- ✅/❌ Boolean:
true
orfalse
. - 📦 Array: Lists of items (e.g., ["Apple", "Banana"]).
- { } Object: Key-value pairs (e.g., {"Name": "John", "Age": 30}).
⚙️ How to Use Variables
1️⃣ Initialize a Variable
-
Use the "Initialize variable" action to declare a variable before using it.
-
Example:
Name: customerName Type: String Value: "John Doe"
2️⃣ Modify a Variable
- Update variables using actions like "Set variable", "Increment variable", or "Append to string variable".
📂 Real-World Examples
-
🔤 Example 1: String Variable for Email Personalization
-
Scenario: Send a personalized email using a name extracted from a Microsoft Form response.
-
Trigger: "When a new response is submitted" (Microsoft Forms).
-
Initialize Variable:
- Name: userName
- Type: String
- Value:
triggerBody()?['Respondent']
-
Send Email:
Body: "Hi @{variables('userName')}, thank you for your submission!"
-
-
🔢 Example 2: Integer Variable for Approval Counting
-
Scenario: Track the number of approved requests in a SharePoint list.
-
Initialize Variable:
- Name: approvalCount
- Type: Integer
- Value: 0
-
Loop Through SharePoint Items:
- For each item where
Status = "Approved"
:-
Increment Variable:
Name: approvalCount Value: 1
-
- For each item where
-
Post Result to Teams:
"Total approvals: @{variables('approvalCount')}"
-
-
📦 Example 3: Array Variable for Task Aggregation
-
Scenario: Collect all overdue tasks from a SharePoint list.
-
Initialize Variable:
- Name: overdueTasks
- Type: Array
- Value: [] (empty array)
-
Loop Through Tasks:
- For each task where
DueDate < utcNow()
:-
Append to Array Variable:
Name: overdueTasks Value: item()?['Title']
-
- For each task where
-
Send Summary Email:
Body: "Overdue tasks: @{join(variables('overdueTasks'), ', ')}"
-
-
{ } Example 4: Object Variable for Data Structuring
-
Scenario: Bundle customer data from multiple sources into a single object.
-
Initialize Variable:
-
Name: customerProfile
-
Type: Object
-
Value:
JSON{ "Name": "", "Email": "", "OrderCount": 0 }
-
-
Update Object:
-
Set Variable:
Name: customerProfile Value: { "Name": triggerBody()?['CustomerName'], "Email": triggerBody()?['CustomerEmail'], "OrderCount": length(triggerBody()?['Orders']) }
-
-
Log to SharePoint:
- Use
variables('customerProfile')
to save the structured data.
- Use
-
💡 Key Notes
- Scope: Variables are available 📍 after initialization and persist throughout the flow.
- Modification: Use actions like "Set variable" to overwrite values or "Increment variable" for numbers.
- Limitations:
- Variables cannot be reinitialized.
- Arrays/objects require manual manipulation (e.g., concatenation or JSON parsing).
✨ Best Practices
- 📍 Declare Early: Initialize variables at the flow’s start for clarity.
- 🏷️ Use Descriptive Names: E.g.,
invoiceTotal
instead ofvar1
. - 🚫 Avoid Overuse: Rely on dynamic content where possible to simplify flows.
🏆 By mastering variables, you can create 🚀 dynamic, reusable, and efficient workflows in Power Automate!
No comments:
Post a Comment
Note: only a member of this blog may post a comment.