
Principal Program Manager at Microsoft Power CAT Team | Power Platform Content Creator
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.
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.
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.
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.
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.
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.
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.
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 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