Tooltips for Power Apps
Tooltips are the small layers that open next to one control: a help bubble behind a button or a question mark icon, a three-dot menu with actions, an inline "Are you sure?" before a delete, and a richer help popover with a title and buttons. Each variant is a trigger, a context variable and a container that shows while the variable is true, plus an invisible overlay that closes it when the user clicks anywhere else. Reach for one when an explanation or a short list of actions belongs beside a field or a row rather than in a full modal.
Pick a variant
| Component | Plan | What it is for | Settings you can change |
|---|---|---|---|
| Simple Tooltip | Paid | Help text that appears when a button is clicked | Button Text, Tooltip Text |
| Help Icon Tooltip | Paid | A question mark beside a field that explains it on click | Tooltip Text |
| Context Menu Popover | Paid | A kebab menu with Edit, Duplicate, Share and Delete actions | Menu Position, Menu Items |
| Delete Confirmation | Paid | An inline confirmation that replaces the delete button | Button Text, Confirm Text, Confirm Button Text, Cancel Button Text |
| Rich Help Popover | Paid | Longer field guidance with a header and action buttons | Button Text, Title, Content, Learn More Text, Got It Text |
Paid means a Components, Ultra, Team or Lifetime plan (pricing). Open the category in the library: Tooltips.
To copy a variant into Power Apps Studio, follow Getting Started.
After you paste
Each variant keeps its open state in a context variable set with UpdateContext, so it belongs to the screen it is pasted on: varTooltipVisible (Simple Tooltip), varTooltipHelpVisible (Help Icon Tooltip), varMenuVisible (Context Menu Popover), varConfirmVisible (Delete Confirmation) and varRichVisible (Rich Help Popover). To open a tooltip from a control of your own, or to make sure it starts closed, put this in that control's OnSelect property or in the screen's OnVisible property, with true or false as needed:
UpdateContext({varTooltipVisible: false})
The Context Menu Popover's items are rows of galMenuItems, and the transparent button over each row, btnMenuItemBtn, only closes the menu. Put this in its OnSelect property to act on the row that was clicked, replacing the screen, gallery and data source with your own:
UpdateContext({varMenuVisible: false});
Switch(ThisItem.text,
"Edit", Navigate(scrEdit),
"Delete", Remove(Orders, galOrders.Selected)
)
On the Delete Confirmation, btnConfirmYes closes the popover and then shows a placeholder Notify. Replace the Notify in its OnSelect property with the real delete:
UpdateContext({varConfirmVisible: false});
Remove(Orders, galOrders.Selected)
The Rich Help Popover's btnRichLearnMore has no OnSelect at all; put Launch("https://your-help-page") there, or remove the button.
Good to know
- The pasted controls are grouped in the Tree view (
grpSimpleTooltip,grpHelpIconTooltip,grpMenuPopover,grpDelete,grpRichPopOver) rather than wrapped in one container. The overlay (btnTooltipOverlay,btnTooltipHelpOverlay,conMenuOverlay,conRichOverlay) is sized to Parent.Width and Parent.Height, so it covers the whole screen when pasted on a screen and only the container when pasted inside one. It is visible only while the popover is open, and it must stay below the bubble or popover container in the Tree view; the pasted order already does this. - Bubbles and popovers have fixed X and Y values placed beside the trigger's default position, for example
conTooltipBubbleat X 84, Y 29 next tobtnTooltipTriggerat X 159, Y 105. Nothing anchors them to the trigger, so if you move the trigger, move the bubble too. Menu Position on the Context Menu Popover only chooses X 670 (left) or X 910 (right) forconMenuPopover. - Delete Confirmation swaps in place:
btnDeleteItemhas Visible set to !varConfirmVisible andconConfirmPopoversits at the same X and two pixels higher, so the confirmation appears where the button was. - The Context Menu Popover's items are a static Table in the Items property of
galMenuItemswith text, icon, isDivider and isDanger columns. An item marked Danger in Settings renders in red with a divider row above it, drawn byconMenuDivider. To add an item later, add a row to that Table. - All five variants are paid components: Components, Ultra, Team or Lifetime. They generate Classic controls only, so the YAML tab has no Modern option.
Related
Open the category in the library: Tooltips. Related guides: Modals for confirmations that need the whole screen, and Dropdowns for menus that pick a value rather than run an action.