Citizen Developer
Timespan
explore our new search
Power Apps: Native Confirm Dialog
Power Apps
Feb 9, 2026 4:00 PM

Power Apps: Native Confirm Dialog

by HubSite 365 about Reza Dorrani

Principal Program Manager at Microsoft Power CAT Team | Power Platform Content Creator

Power Apps adds Confirm() dialog in Power Fx, simplifying confirm UX for makers on Power Platform, no custom popups

Key insights

  • Confirm() — Power Apps now includes a native confirm dialog that shows a title, message and Cancel/Confirm buttons and returns true or false so your app can act immediately.
  • Power Fx syntax — Use Confirm( Message, {Title: "...", ConfirmButton: "...", CancelButton: "..."}); for example: If( Confirm("Delete item?"), Remove(ThisItem) ). This keeps logic simple and readable.
  • Common scenarios — Use the dialog for single-item deletions, bulk delete in tables, warning about unsaved changes, or branching actions based on user choice.
  • Benefits — The native dialog simplifies development, improves accessibility (Esc and platform gestures), reduces layout hacks, and gives a consistent user experience across apps.
  • Scope and limits — Native Confirm is available for model-driven apps and modern commanding; canvas apps still need custom popups until native support arrives.
  • Best practices — Replace custom popups in supported apps, localize button text, handle the Boolean response explicitly, and test dialogs in real user flows to avoid accidental actions.

Video Summary: What Reza Dorrani Shows

Video Summary: What Reza Dorrani Shows

In a recent YouTube video, maker and instructor Reza Dorrani demonstrates a newly available dialog tool for Microsoft Power Apps that promises to simplify confirmation flows. He walks through the built-in Confirm() function, showing how it replaces many common custom popups makers created until now. Moreover, he highlights the speed of creating a dialog with a title, message, and customizable buttons, and he demonstrates capturing the user's choice to drive immediate logic. As a result, viewers can see a practical shift from layered containers and visibility variables to a single native call.


How the Confirm() Function Works

Reza explains that the Confirm() function follows a straightforward syntax: you pass a message and optionally an options record to change titles and button labels. For example, you can set ConfirmButton and CancelButton text, and the function returns true when the user confirms and false when they cancel, letting you write conditional logic directly. He also shows using the function inside an If statement so that actions like Remove or Patch only run after a positive response. Consequently, the code becomes shorter and easier to read than many custom implementations.


Real-World Patterns Demonstrated

Throughout the video, Reza covers typical scenarios makers face in apps, such as confirming deletion of a gallery item and bulk deletes from a table control. He also demonstrates handling unsaved form changes and triggering different follow-up actions depending on whether users choose confirm or cancel. Furthermore, the video presents patterns that map directly to everyday app needs, making it easy to adopt the feature in existing solutions. Therefore, developers can quickly test these examples and adapt them to their own app logic.


Benefits for Makers and Users

Using the native dialog offers several clear advantages: it reduces the need for extra controls, prevents z-index or visibility bugs, and gives a consistent look and feel across screens. In addition, the built-in behavior supports keyboard and platform gestures, which improves accessibility and usability compared with many homemade popups. Reza underlines that apps become easier to maintain because fewer variables and conditional visibility rules are needed. Thus, teams can move faster while producing a more predictable user experience.


Tradeoffs and Practical Challenges

However, the video also makes clear that tradeoffs remain. For instance, the native Confirm() experience first appeared for model-driven apps and modern commanding, so canvas app makers still rely on custom popups in some cases. Moreover, native dialogs may limit highly custom visuals or complex layouts that some design demands require, so makers must decide between standardization and bespoke UI. Testing across device types and handling bulk actions or long-running confirmations can also require careful design to avoid blocking critical flows. Therefore, developers should weigh ease of use against customization needs when choosing an approach.


Implementation Tips and Best Practices

Reza offers practical tips, such as using descriptive titles and clear button labels to reduce user error, and tracking unsaved changes to prompt users before they lose work. He suggests combining Confirm() with concise conditional logic to keep screens responsive, and recommends using the options record to localize button text for multi-language apps. Additionally, the video encourages makers to replace fragile overlay hacks where possible, while keeping custom popups only when unique visuals or behaviors are required. As a result, teams can standardize simple confirmations and reserve custom solutions for genuine design needs.


Implications and Next Steps for Teams

Looking ahead, the native dialog reduces maintenance overhead and helps enforce consistent UX patterns across apps, which is especially valuable for larger organizations. Yet, teams should plan a phased migration if they have many canvas app popups, since not every scenario maps directly to the native function today. Also, developers must keep an eye on platform updates because Microsoft continues to expand features and command bar integration. Consequently, adopting the built-in approach where it fits will save time, while retaining custom options for special cases keeps flexibility.


Conclusion

Reza Dorrani’s video makes a strong case that the new Confirm() function represents a practical win for Power Apps makers, offering faster development and a cleaner user experience. Nevertheless, the decision to adopt it should consider the need for custom visuals, current app architectures, and the specific app type—model-driven or canvas. By balancing these factors and testing across scenarios like bulk deletes and unsaved changes, teams can maximize benefits while avoiding integration pitfalls. In short, this native dialog is a welcome tool that simplifies many common patterns, but careful planning will ensure the best outcomes.


Power Apps - Power Apps: Native Confirm Dialog

Keywords

power apps confirm dialog, powerapps confirm dialog box, power apps confirmation popup, powerapps built-in confirm, power apps modal dialog, powerapps stop custom popups, power apps dialog control, microsoft power apps confirm