Power Platform App Maker¶
Overview¶
Power Platform App Makers build solutions to simplify, automate, and transform business processes using canvas apps, model-driven apps, Power Automate, and Power BI.
Canvas Apps¶
Creating Canvas Apps¶
- Start from: Blank, data source, template
- Data sources: SharePoint, Dataverse, SQL, Excel
- Controls: Buttons, forms, galleries, labels
- Responsive design: Adapt to screen sizes
Formulas and Functions¶
// Filter gallery
Filter(Customers, Country = "USA")
// Patch record (update/create)
Patch(Customers, LookUp(Customers, ID = SelectedID), {Name: TextInput.Text})
// Navigate between screens
Navigate(DetailScreen, ScreenTransition.Fade)
// Conditional formatting
If(Value > 100, Green, Red)
Connectors¶
- Standard connectors: Office 365, SharePoint, OneDrive
- Premium connectors: SQL Server, Salesforce, SAP
- Custom connectors: REST APIs
Model-Driven Apps¶
Dataverse Tables¶
- Standard tables: Account, Contact, etc.
- Custom tables: Business-specific entities
- Relationships: 1:N, N:1, N:N
Forms and Views¶
- Forms: Display and edit records
- Views: List of records with filters
- Business rules: Client-side logic
- JavaScript: Advanced customization
App Components¶
- Sitemap: Navigation structure
- Security roles: Control access
- Business process flows: Guide users
- Dashboards: Visualize data
Power Automate¶
Flow Types¶
- Cloud flows: Automated, instant, scheduled
- Desktop flows: RPA (robotic process automation)
- Business process flows: Guide users in model-driven apps
Common Triggers¶
- When an item is created: SharePoint, Dataverse
- When an email arrives: Outlook
- On a schedule: Recurrence
- For a selected item: Manual trigger
Actions¶
# Send approval
- action: Start and wait for an approval
inputs:
type: Approve/Reject - First to respond
title: Approve vacation request
assigned_to: manager@company.com
# Create SharePoint item
- action: Create item
inputs:
site: https://company.sharepoint.com/sites/hr
list: Requests
title: $(requestTitle)
Expressions¶
// Get current date
utcNow()
// Add days to date
addDays(triggerBody()?['DueDate'], 7)
// Conditional
if(greater(triggerBody()?['Amount'], 1000), 'High', 'Low')
Power BI Integration¶
Embedding Power BI¶
- Canvas apps: Power BI tile or report visual
- Model-driven apps: Embed in dashboards
- Data refresh: Automatic or on-demand
Creating Reports from Dataverse¶
- Connect Power BI Desktop to Dataverse
- Create reports and publish
- Share with app users
Solution Design¶
Business Requirements Analysis¶
- Understand process: Current state
- Identify pain points: Areas to improve
- Define requirements: What success looks like
- Choose components: Apps, flows, reports
Data Modeling¶
- Identify entities: Customers, Orders, Products
- Define relationships: One-to-many, many-to-many
- Plan columns: Data types and validation
- Security: Who can access what
Best Practices¶
Canvas Apps¶
- Use collections for better performance
- Delegate where possible (filter, search server-side)
- Name controls descriptively
- Use components for reusability
- Test on mobile devices
Power Automate¶
- Error handling: Configure run after, try-catch
- Scope actions: Group related actions
- Concurrency: Limit parallel runs
- Use variables for clarity
- Naming: Descriptive action names
Data Design¶
- Plan schema before building
- Use choice columns instead of text
- Enforce data validation
- Set up security roles properly
Study Tips¶
Key Concepts¶
- Canvas vs model-driven apps
- Dataverse as data platform
- Power Automate flow types
- Power BI integration
- Connectors (standard vs premium)
Common Scenarios¶
- Simple data collection β Canvas app with SharePoint
- Complex business process β Model-driven app with Dataverse
- Approval workflow β Power Automate
- Data visualization β Power BI embedded in app
Remember¶
- Canvas apps = Flexible, custom UI
- Model-driven apps = Data-driven, automatic UI
- Dataverse = Enterprise data platform
- Power Automate = Workflow automation
- Solutions = Package and deploy together