P

Power Platform Mentor

Powerful agent for power, platform, expert, providing. Includes structured workflows, validation checks, and reusable patterns for data ai.

AgentClipticsdata aiv1.0.0MIT
0 views0 copies

Power Platform Mentor

An expert agent for Microsoft Power Platform development covering Power Apps (Canvas and Code-first), Power Automate flows, Dataverse modeling, and the broader Power Platform ecosystem for building enterprise business applications.

When to Use This Agent

Choose Power Platform Mentor when:

  • Building Power Apps canvas or code-first applications
  • Creating Power Automate flows for business process automation
  • Designing Dataverse data models and security configurations
  • Integrating Power Platform with Microsoft 365, Azure, and third-party services
  • Implementing ALM (Application Lifecycle Management) for Power Platform solutions

Consider alternatives when:

  • Building custom web applications outside Power Platform (use a web dev agent)
  • Working with Power BI specifically (use a Power BI agent)
  • Building Azure Functions or Logic Apps without Power Platform integration

Quick Start

# .claude/agents/power-platform-mentor.yml name: Power Platform Mentor model: claude-sonnet-4-20250514 tools: - Read - Write - Bash - Glob - Grep prompt: | You are a Microsoft Power Platform expert. Build enterprise applications with Power Apps, automate processes with Power Automate, and design Dataverse data models. Follow Microsoft best practices for governance, security, and ALM.

Example invocation:

claude --agent power-platform-mentor "Design a leave request system with a Power Apps canvas app, Power Automate approval flow, manager notifications, and Dataverse storage with proper security roles"

Core Concepts

Power Platform Components

ComponentPurposeBest For
Power Apps CanvasDrag-and-drop app builderCustom UI, quick apps
Power Apps Code AppsCode-first developmentComplex logic, reusability
Power Automate CloudCloud workflow automationApprovals, notifications, integrations
Power Automate DesktopDesktop RPALegacy system automation
DataverseRelational data platformStructured business data
Power PagesExternal-facing websitesCustomer portals
AI BuilderAI model integrationDocument processing, predictions
Copilot StudioConversational AIChatbots, virtual agents

Dataverse Best Practices

Table Design:
β”œβ”€β”€ Use standard tables when they fit (Account, Contact)
β”œβ”€β”€ Custom tables for unique business entities
β”œβ”€β”€ Choice columns instead of related lookup tables for small sets
β”œβ”€β”€ Polymorphic lookups for flexible relationships
└── Calculated/rollup columns for derived data

Security Model:
β”œβ”€β”€ Business Units β†’ hierarchical org structure
β”œβ”€β”€ Security Roles β†’ CRUD permissions per table
β”œβ”€β”€ Teams β†’ group-based access
β”œβ”€β”€ Field-level Security β†’ sensitive column protection
└── Sharing β†’ exception-based record access

Power Automate Flow Patterns

Trigger β†’ Condition β†’ Action β†’ Notification
  β”‚          β”‚          β”‚          β”‚
  Manual    Branch     Create     Email
  Schedule  Switch     Update     Teams
  Dataverse Loop       HTTP       Push
  HTTP      Filter     Parse      Adaptive Card
  Email     Compose    Approve    Mobile

Configuration

ParameterDescriptionDefault
environmentTarget Power Platform environmentDevelopment
solutionSolution for component packagingDefault
dataverse_prefixCustom table/column publisher prefixcr_
flow_error_handlingDefault error handling patternTry-Catch scope
app_typeDefault app creation typeCanvas
connection_refsUse connection referencestrue
alm_pipelineALM deployment pipelineAzure DevOps

Best Practices

  1. Use solutions for every component, from day one. Solutions package Power Apps, flows, Dataverse tables, and other components together for ALM and deployment. Creating components outside solutions makes them difficult to move between environments. Use a single publisher prefix across your organization and establish naming conventions early. Moving components into solutions after the fact is painful and error-prone.

  2. Design Dataverse tables before building apps. The data model shapes everything else. Define tables, columns, relationships, and security before creating the first screen. Use standard tables when they fit (Account, Contact) rather than creating custom equivalents. A well-designed data model makes app building straightforward; a poor one creates workarounds in every screen and flow.

  3. Implement error handling in every Power Automate flow. Use Try-Catch scope patterns: wrap actions in a scope, add a parallel scope that runs on failure, and log errors to a tracking table. Without error handling, flows fail silently and users don't know their request wasn't processed. Configure flow owners and failure notification emails so problems are caught immediately.

  4. Use environment variables and connection references for deployment. Hardcoded URLs, connection IDs, and configuration values break when moving solutions between environments. Environment variables store configuration per environment. Connection references allow flows to use environment-specific connections without modification. This separation is essential for proper dev β†’ test β†’ production deployment.

  5. Follow the principle of least privilege for Dataverse security. Start with no access and add permissions intentionally. Create security roles per business function (Sales Rep, Manager, Admin) rather than per table. Use field-level security for sensitive columns like salary or SSN. Test security roles by impersonating users in different roles before going liveβ€”overpermissioned roles are a compliance risk.

Common Issues

Canvas app performance degrades with complex galleries and forms. Reduce the number of controls on screen (< 500 recommended), use delegation-compatible functions to push filtering to the server, and minimize the number of data sources per screen. Replace nested galleries with a single flattened collection. Use Concurrent() to load independent data sources in parallel. Pre-filter data in Dataverse views rather than client-side filtering.

Power Automate flows hit throttling limits during bulk operations. Flows that loop over hundreds of records hit the Power Platform API throttle (6,000 requests per 5 minutes per user). Use batch operations (Dataverse batch action) instead of individual create/update actions in loops. For large data operations, use Dataverse bulk delete/import tools or Azure Functions instead of row-by-row flow processing.

Solution import fails between environments. Missing dependencies (tables, connections, environment variables) cause import failures. Before export, run the solution checker to identify issues. Ensure all required components are in the solution or available in the target environment. Use connection references (not hardcoded connections) and environment variables (not hardcoded values). Test the import in a staging environment before production.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates