Confirmation Dialogs
Some actions can be undone. Others can't. Deleting a record, archiving a set of items, triggering a payment, sending an email to a list — these are operations where an accidental click has real consequences. The right design response is a confirmation step: a moment of intentional friction that separates clicking and acting.
Swifty's confirmation dialogs provide that moment, configurable per action.
Three Dialog Types
Alert: Displays a message and requires the user to acknowledge it before proceeding. Used when information needs to be communicated before an action continues — "This action will send emails to 247 contacts" — without requiring a yes/no decision.
Confirm: Displays a message with a confirm and cancel button. The action proceeds only on explicit confirmation. The default choice is always cancel, which means a keyboard shortcut or accidental Enter won't trigger the action. Used for destructive operations, irreversible steps, and anything with significant consequences.
Prompt: Displays a message with a text input and a confirm button. The user must type a specific phrase — typically the record name or the word "DELETE" — to confirm. Reserved for the most consequential operations where typing overhead is appropriate friction.
Configuration per Action
Dialogs are configured on individual action buttons in the builder. Select a button, enable confirmation, choose the dialog type, and write the message. The message should explain what will happen, not just ask "Are you sure?" — the user needs to know what they're confirming.
For confirm and prompt dialogs, the confirm button label is configurable. "Delete" is more explicit than "OK." "Send Now" is more communicative than "Confirm."
Consistent Styling
Confirmation dialogs use consistent styling across the application: centered overlay, clear message text, color-coded buttons (destructive actions use a red confirm button; standard actions use the primary color). The visual language is immediately recognizable as a confirmation moment.
No Bypass Path
Confirmation dialogs can't be bypassed by holding a modifier key or double-clicking quickly. The dialog must be explicitly acknowledged. For destructive actions, this is the intended behavior — a forced pause before an irreversible operation.
Right-Sizing the Friction
Not every action needs confirmation. Adding a note, updating a field, navigating to a page — these should be immediate. Confirmation adds friction, and friction has a cost. The platform makes it easy to add dialogs where they belong and to omit them where they don't.
The rule of thumb: if undoing the action requires effort or is impossible, a confirmation is appropriate. If the action is trivially reversible, a confirmation is unnecessary overhead.