Skip to content
Back to Blog
1 min read

Microsoft Power Platform Updates: What's New in Spring 2022

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.

Resources

Michael John Peña

Michael John Peña

Data & AI Director and Microsoft MVP based in Sydney. Writing about Microsoft Fabric, Azure, data engineering, and AI.