Citizen Developer
Timespan
explore our new search
​
Power Apps Confirm(): No Custom Popups
Power Apps
Aug 1, 2026 6:39 PM

Power Apps Confirm(): No Custom Popups

by HubSite 365 about Microsoft

Software Development Redmond, Washington

Power Apps Confirm replaces custom popups for canvas apps, simplifying UI confirmations and errors on Power Platform

Key insights

  • Confirm()
    Power Apps native Power Fx function that shows a built-in confirmation dialog and returns a true/false response after the user chooses an option.
  • How to use
    Call Confirm() inside logic and run the action only when it returns true, for example: If(Confirm("Are you sure you want to delete this record?"), Remove(DataSource, ThisItem)).
  • Customization
    You can set a title, subtitle, message text, and custom Confirm/Cancel labels; the dialog is modal so users must choose before continuing.
  • Platform availability
    Microsoft documents Confirm() for model-driven Power Fx commands, but recent community reports show broader use in canvas apps—verify your Power Apps authoring/runtime version before relying on it in production.
  • Limitations
    The function provides a fixed two-button flow, offers limited styling compared with custom popups, and may behave slightly differently across platforms.
  • Benefits
    Confirm() reduces custom UI code, keeps confirmation logic inline for cleaner formulas, delivers a consistent native UX, and speeds up common confirmation scenarios like delete or submit actions.

Microsoft published a YouTube demo that highlights a practical update to Power Apps: the Confirm() function. The video, presented by Shiv Sharma during a Power Platform community call on May 20, shows how this built-in dialog can replace many custom popup patterns. Consequently, the demo focuses on simplifying confirmation flows for common actions like deleting records, while also showing how to reduce UI complexity and maintenance overhead.


Video snapshot and purpose

The YouTube demo opens by framing a common developer problem: custom popups require extra screens, overlays, and state handling. Then, the presenter shows how Confirm() provides a native, modal confirmation dialog that returns a simple boolean result so logic can continue immediately. As a result, the video frames Confirm() as a means to keep canvas apps and model-driven apps cleaner and easier to maintain.


Moreover, the demo emphasizes developer productivity and user experience consistency. The presenter walks through a live delete scenario to show the function in action, and he highlights how success and error notifications integrate with the flow. This hands-on approach helps viewers quickly gauge the practical value of replacing custom components with a native call.


How the Confirm() function works

At its core, Confirm() displays a modal dialog with two buttons and pauses execution until the user chooses an option. Then, the function returns true or false, which developers can use directly in an If() statement to control subsequent actions. For example, a single formula can both ask for confirmation and remove a record only when the user agrees.


Additionally, the dialog supports configurable text such as title, subtitle, and message, and it allows custom labels for the confirmation and cancel buttons. However, the video shows that the flow remains deliberately simple: the UI choices follow a fixed two-button pattern and styling options are limited compared with fully custom popups. Therefore, developers must weigh convenience against the need for bespoke interfaces.


Benefits and practical tradeoffs

The main benefits are straightforward: less UI code, clearer logic, and faster implementation of common confirmation flows. Consequently, teams can avoid building overlays, visibility toggles, and separate dialog containers, which reduces bugs and makes maintenance easier. Furthermore, native dialogs promote consistent user experiences across the platform.


On the other hand, the tradeoffs include reduced styling control and limited button patterns. While native dialogs boost speed and consistency, they may not suit apps that require custom branding, multiple choices, or complex interactive content in confirmations. Thus, organizations must balance rapid development against specific UX needs and decide when a custom component remains justified.


Platform availability and limitations

Official documentation still notes that Confirm() is documented for model-driven Power Fx commands, but the community demo demonstrates practical use in newer canvas experiences. Accordingly, the video suggests the capability is expanding across authoring and runtime environments, though availability may vary by platform and version. Therefore, authors should verify their Power Apps authoring environment before relying on the function for production scenarios.


Moreover, the community has reported a few constraints: the dialog supports only two buttons, styling control is constrained, and some options behave differently across devices. As a result, app makers must test the dialog in their specific runtime and on targeted platforms to confirm exact behavior. In this context, careful testing helps avoid surprise user experiences after deployment.


Implementation tips and common challenges

The presenter offers straightforward patterns that developers can copy, such as wrapping the action in an If() that calls Confirm(), then running Remove() only when confirmation returns true. This keeps confirmation logic and action handling together, which improves readability and reduces scattered state variables. Consequently, teams can implement common scenarios in minutes while keeping formulas compact.


Nevertheless, some challenges remain when migrating existing apps: converting complex custom dialogs to native calls can require redesigning flows that include animation, multi-step confirmations, or custom visuals. Therefore, developers should inventory use cases, prioritize where native dialogs deliver clear benefits, and preserve custom components where they add necessary functionality. Testing and incremental migration usually offer the safest path forward.


What this means for app makers

Overall, the YouTube demo positions Confirm() as a useful built-in tool for many confirmation needs, especially for destructive actions like delete or submit. Thus, teams focused on fast, consistent development will likely adopt the function to reduce UI complexity and simplify logic. At the same time, designers and developers should weigh the tradeoffs around styling and interaction patterns before fully replacing custom dialogs.


In conclusion, the video provides a clear, practical case for using Confirm() where it fits, while cautioning that not every scenario should switch immediately. Therefore, app makers should test the feature in their app types, consider user experience requirements, and plan migrations carefully. By doing so, they can capture the benefits of native confirmation dialogs without losing the control they need for specialized interfaces.


Power Apps - Power Apps Confirm(): No Custom Popups

Keywords

Power Apps Confirm function, Power Apps confirmation dialog, Confirm() Power Apps tutorial, Build confirmation dialogs Power Apps, Modern confirmation dialogs Power Apps, Power Apps without custom popups, Power Apps confirmation UX, Power Apps built-in confirm dialog