5 min read
Microsoft Power Platform Updates: What's New in Spring 2022
Spring 2022 brings significant updates to the Microsoft Power Platform. From new Power Apps features to enhanced Power Automate capabilities, here’s what’s new for citizen developers and professional developers alike.
Power Apps Updates
Modern App Designer
The new modern app designer is now generally available:
Key Features:
- Unified design experience
- Real-time collaboration
- Component libraries
- Responsive design tools
- Git integration preview
Power Fx Enhancements
New functions and capabilities:
// New ParseJSON function
Set(userData, ParseJSON(jsonString));
userData.name // Access properties directly
// Enhanced error handling
IfError(
LookUp(Customers, ID = customerID),
Notify("Customer not found", NotificationType.Warning),
Navigate(CustomerDetails)
)
// Named formulas (preview)
userFullName = User().FullName;
currentDate = Today();
// Use anywhere in your app
Label.Text = userFullName
Dataverse Improvements
// Improved Dataverse operations
// Batch operations for better performance
ForAll(
Filter(Customers, Status = "Pending"),
Patch(Customers, ThisRecord, {Status: "Processed"})
)
// File and image columns
Patch(
Documents,
Defaults(Documents),
{
Name: "Report.pdf",
FileContent: UploadedFile.Content
}
)
Power Automate Updates
Cloud Flows
New triggers and actions:
{
"trigger": {
"type": "When_a_row_is_added_modified_or_deleted",
"inputs": {
"table": "accounts",
"scope": "Organization",
"filterRows": "statuscode eq 1",
"runAs": "Flow owner"
}
},
"actions": {
"Get_row": {
"type": "GetRow",
"inputs": {
"table": "accounts",
"rowId": "@triggerOutputs()?['body/accountid']"
}
},
"Condition": {
"type": "If",
"expression": {
"greater": ["@outputs('Get_row')?['body/revenue']", 1000000]
},
"actions": {
"Send_notification": {
"type": "SendEmailNotification",
"inputs": {
"to": "sales-team@company.com",
"subject": "High-value account updated",
"body": "Account @{outputs('Get_row')?['body/name']} has been updated."
}
}
}
}
}
}
Desktop Flows
Power Automate Desktop enhancements:
New Actions:
- PDF text extraction
- OCR improvements
- Excel macro execution
- SAP GUI automation
- Terminal emulator support
Performance:
- 40% faster execution
- Reduced memory usage
- Better error recovery
Process Advisor
AI-powered process mining:
# Process Advisor analyzes recorded processes
# and provides optimization recommendations
# Key metrics tracked:
# - Process duration
# - Variation analysis
# - Bottleneck identification
# - Automation opportunities
Power BI Updates
Enhanced Visualizations
// New DAX functions
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Month],
'Product'[Category],
"Total Sales", [Total Sales],
"Running Total", CALCULATE(
[Total Sales],
FILTER(
ALL('Date'),
'Date'[Date] <= MAX('Date'[Date])
)
),
"YoY Growth", DIVIDE(
[Total Sales] - [Total Sales LY],
[Total Sales LY]
)
)
Deployment Pipelines
# CI/CD for Power BI
stages:
- development
- test
- production
deployment_rules:
- require_approval: production
- auto_bind_datasets: true
- preserve_workspace_users: true
Power Virtual Agents
Enhanced Bot Capabilities
# New conversation features
Topics:
- name: "Order Status"
trigger_phrases:
- "Where is my order"
- "Track my package"
- "Order status"
actions:
- type: "Question"
prompt: "What's your order number?"
variable: OrderNumber
- type: "Action"
flow: "Get Order Status"
inputs:
orderNumber: "{OrderNumber}"
- type: "Message"
content: "Your order {OrderNumber} is {OrderStatus}"
Power Automate Integration
{
"name": "GetOrderStatus",
"trigger": {
"type": "PowerVirtualAgents",
"inputs": {
"orderNumber": "@triggerBody()['orderNumber']"
}
},
"actions": {
"Query_Orders": {
"type": "Query",
"inputs": {
"table": "orders",
"filter": "ordernumber eq '@{triggerBody()['orderNumber']}'"
}
},
"Return_to_Bot": {
"type": "Response",
"inputs": {
"statusCode": 200,
"body": {
"orderStatus": "@{first(outputs('Query_Orders')?['body/value'])?['status']}"
}
}
}
}
}
Governance and Administration
Environment Management
# Power Platform Admin PowerShell
# New environment management capabilities
# Create environment with settings
New-AdminPowerAppEnvironment `
-DisplayName "Production" `
-Location "unitedstates" `
-EnvironmentSku "Production" `
-ProvisionDatabase $true `
-CurrencyName "USD" `
-LanguageName "English"
# Configure DLP policies
New-DlpPolicy `
-DisplayName "Default Policy" `
-DefaultConnectorClassification "Blocked" `
-Environments @("Production", "Test")
# Set business data connectors
Set-DlpPolicyConnectorConfigurations `
-PolicyName "Default Policy" `
-ConnectorConfigurations @(
@{
ConnectorId = "shared_sharepointonline"
Classification = "Business"
},
@{
ConnectorId = "shared_office365"
Classification = "Business"
}
)
Center of Excellence Starter Kit
# Updated CoE components
components:
- core:
- Environment inventory
- App inventory
- Flow inventory
- Connector audit
- governance:
- Compliance dashboard
- Adoption metrics
- License management
- nurture:
- Training tracking
- Community management
- Innovation hub
Best Practices
App Development
// Performance optimization
// Use delegation-friendly queries
Filter(
LargeDataset,
StartsWith(Name, TextInput.Text),
Status = "Active"
)
// Avoid:
// - Non-delegable functions on large datasets
// - Complex nested galleries
// - Unnecessary data loading
// Cache data appropriately
Set(CachedCustomers,
Filter(Customers, Region = userRegion)
);
Flow Design
best_practices:
error_handling:
- Use scopes for try-catch patterns
- Implement retry policies
- Log errors to central location
performance:
- Use pagination for large datasets
- Implement parallel branches
- Minimize API calls
maintainability:
- Use descriptive action names
- Add comments
- Create child flows for reuse
Conclusion
Spring 2022 brings substantial improvements to Power Platform:
- Enhanced development experience
- Better performance and scalability
- Improved governance tools
- Deeper AI integration
Whether you’re a citizen developer or professional developer, these updates make building business applications faster and more powerful.