Skip to content

Power Platform — Custom Tools and Rich UI for App-Based Conversations

What it is

In April 2026, Microsoft moved the next phase of Power Apps as Microsoft 365 Copilot apps into public preview: makers can now extend a model-driven Power App's Copilot integration with custom MCP tools and rich, app-powered UI widgets, beyond the built-in grid/form interactions enabled with a single click.

The starting point was an earlier announcement (also April 2026) that Power Apps applications could become participants in M365 Copilot conversations, letting users talk to a model-driven app from inside Copilot. The April 22 release adds the extensibility surface on top of that base capability — custom business logic plus immersive UI rendering inline in Copilot Chat.

The author is Hemant Gaur, Principal PM Architect for Power Apps App Agents (previously the creator of the Power Apps Component Framework).

How it works

Architecture

Power Apps generates two artefacts from a model-driven app:

  1. An MCP server — exposes the app's tools (built-in plus custom) over the Model Context Protocol.
  2. A declarative agent — registered into the Microsoft 365 Copilot extensibility platform via the MCP Apps capability.

Custom tools and widgets plug into that same generated agent. No separate hosting infrastructure is required.

Custom tools

A custom tool is an MCP-powered action authored inside Power Apps using a prompt builder designer. Each tool has:

  • A name and description — Copilot uses these to decide when to invoke the tool.
  • Instructions — tell the model what data to produce.
  • Input parameters — Copilot can chain multiple tools by passing one tool's output into the next.

The blog gives a worked example: a Sankey Chart Visualizer tool accepts data sourced from a natural-language Dataverse query, transforms it into a weighted-flow structure, and hands it to a widget — all triggered by a single user prompt.

Custom tools sit alongside the built-in app tools (query, create, view, edit records in Microsoft Dataverse) on the same MCP server, so Copilot can mix and match.

App-powered UI widgets

Widgets are self-contained, MCP-compliant HTML files built on Fluent UI. They:

  • Automatically adapt to light and dark Copilot themes.
  • Drop into a tool's "UX field" — the tool's JSON output is rendered through the widget.
  • Are designed to feel like collaboration rather than request/response — visual, contextual, action-ready.

generate-mcp-app-ui skill

To accelerate widget authoring, Microsoft is also shipping a generate-mcp-app-ui skill for Claude Code and GitHub Copilot CLI (see agent-skills-authoring for the broader pattern). Given a natural-language description and the tool's JSON output schema, the skill produces a polished, theme-aware widget ready to drop into the tool editor.

Maker workflow (the 4-step path)

  1. Enable the app's MCP server — open the model-driven app in Power Apps, click the App MCP icon in the left nav, choose Set up MCP.
  2. Add custom tools — in the Tools section, Create custom tool. Give it a clear name and description (these drive Copilot's invocation decisions), write the Dataverse query / prompt with input parameters, and test the JSON output.
  3. Attach a widget (optional) — generate one with /generate-mcp-app-ui, test locally, paste it into the tool's UI field.
  4. Deploy — download the updated app package and either upload to Microsoft Teams or publish through the Microsoft 365 admin centre.

Why it matters

Three things this unlocks that pure built-in tools could not:

  • Tailored business actions — the maker, not Microsoft, defines what the agent can do inside Copilot. This is the equivalent of moving from "the agent can browse my CRM" to "the agent can do the specific multi-step task we actually run on Mondays".
  • Rich, interactive visualizations — Sankey charts, custom timelines, process-friction views — rendered inline rather than as a flat answer. Insights guide the next step rather than ending the conversation.
  • MCP as the common surface — the same MCP server that backs the app inside Copilot can theoretically be reused by other MCP-capable clients (Claude, agents-overview). The model-driven app becomes a re-usable agentic surface.

Limitations / Caveats

  • Public preview, not GA — feature is in early-release stations only at announcement time.
  • Model-driven apps only — canvas apps are not yet supported.
  • Prerequisites: a model-driven app, an M365 Copilot license, and tenant permission to upload custom apps to Microsoft Teams. Tenants that lock down Teams custom-app upload will need a deployment route through the M365 admin centre instead.
  • Single source — this page is built off one official Microsoft Power Platform Blog post. No independent corroboration yet from third-party reviews or community walkthroughs. Confidence is good (official source) but watch for follow-up posts and docs as the preview matures.
  • Widget security model is not detailed in the post — HTML widgets running inside Copilot raise questions about CSP, data exfil paths, and what JS APIs are exposed; the blog references "MCP-compliant HTML" without spelling these out. Consult the linked docs ("Generate MCP app widgets with AI code generation tools") before shipping to production.
  • Tool description quality is load-bearing — because Copilot decides when to invoke a tool based on its name and description, poorly worded tools will either never fire or fire inappropriately. Same authoring discipline applies as for OpenAI function calling and Anthropic tool use.
  • Preview features carry no SLA; do not bet customer-facing workflows on this until GA.
  • Pick one model-driven app with a high-friction reporting task and prototype a single custom tool + widget pair.
  • Re-use the generate-mcp-app-ui skill from Claude Code / Copilot CLI rather than hand-authoring widget HTML — the theme-awareness and Fluent UI compliance are non-trivial.
  • Track the Power Apps Community feedback channel for emerging patterns and known issues during preview.

Sources

  1. Custom tools and rich UI for app-based conversations are now in Public Preview — Microsoft Power Platform Blog, April 22 2026 (Hemant Gaur)

Changelog

  • 2026-05-18 — Page created from the Microsoft Power Platform Blog announcement dated 22 April 2026 ("Custom tools and rich UI for app-based conversations are now in Public Preview"). Single official source; confidence rated high based on direct Microsoft authorship.