The session, led by RZA, provided a comprehensive walkthrough on how to properly build and deploy a business-critical expense reporting application using Microsoft Power Platform.
Key topics included environment setup, solution management, DataVerse usage, leveraging AI co-pilot, data security, app creation (canvas and model-driven), approval workflows, and application lifecycle management (ALM).
Practical demonstrations covered development to production deployment, security role assignments, and end-user experience, focusing on best practices and automation features.
The intended audience are professionals or organizations aiming to streamline business app development with robust governance and scalability using Power Platform.
Action Items
RZA: Finalize and publish all customizations in the development environment before deployment to testing.
RZA: Assign appropriate security roles and share the production apps with end-users and administrators after deployment.
RZA: Continue to monitor pipeline deployments and ALM processes for possible improvements or issues.
Environment Setup & Best Practices
Always begin app development in a dedicated developer environment, not the default environment, using the Power Apps Developer Plan.
Create new environments through the admin center and select type "Developer" for isolated development.
Set up solutions as containers for app components to enable portability and lifecycle management.
Use a custom publisher with a unique prefix to prevent naming conflicts.
Enable Solution by Default and Preferred Solution features to ensure all app components are automatically included in the right solution context.
Building App Components with Power Platform
Leverage DataVerse for secure, scalable, and integrated data storage, supporting features such as role-based security, rich data types, and relational structures.
Use co-pilot AI to quickly generate tables and schemas by describing requirements in plain language; iterate with co-pilot for schema refinement.
Demonstrated creation of main tables: Expenses, Line Items, and Cost Centers, including relational lookups for scalable data modeling.
Built a responsive canvas app that allows CRUD operations on expenses and line items, including relational navigation and default value handling.
Added support for file/image uploads (e.g., receipts) and dynamic screen navigation tied to selected records.
Demonstrated creation of a model-driven app for administrative oversight, viewing, and management of cost centers and expenses.
Approval Workflow Automation
Implemented a cloud flow (Power Automate) triggered on status change in the Expenses table.
The flow retrieves approvers based on cost center, initiates approvals, updates status upon approval/rejection, and sends notifications to submitter and approver with deep links to relevant records.
Approval decisions and related comments are tracked and relayed to users via email notifications.
Security & Sharing
Defined three security roles: Expense User (record-level access to own data), Expense Approver (read access for all, user-level for other actions), and Expense Admin (full access).
Shared canvas apps with end-users and assigned roles, shared model-driven apps with administrators.
Verified that deployed managed solutions in production environments restrict direct edits, reinforcing governance.
Used Power Platform Pipelines for structured ALM, supporting deployment from development to test and production environments.
Automated deployment steps include establishing connections, defining environment variables, generating deployment notes, and exporting/importing solutions.
Emphasized ongoing development in unmanaged solutions in Dev, with managed solutions in Test/Prod for stability and compliance.
End-User Experience (Production)
Expense submitters use the shared canvas app to create expenses, select cost centers, add line items, and submit for approval.
Approvers receive actionable approval emails, can approve/reject with comments, and updates are communicated to submitters.
Admins manage users and cost centers through the model-driven app.
Decisions
Custom publisher and Solution by Default enabled — to ensure naming consistency and all app artifacts are created within the intended solution context.
Role-based security enforced — to safeguard data access and operations per user responsibility.
Automated Power Platform Pipelines adopted for ALM — to support structured, auditable deploy processes from dev to production.