Unify Logo Footer.svg
Unify Applications
Logo
Icon Button & Link

Icon Button & Link

Logo

7 mins READ

Icon Button

The Icon Button block is a compact, pressable button whose face is a single icon. It comes with the same color schemes (Brand, Neutral, Success, Danger), variants (Solid, Outline, Soft, Ghost), and sizes as the Button block, plus reactive Disabled and Loading conditions. A new Icon Button starts as a medium solid brand button with a clock icon.

Tip: When to use Icon Button: Trigger an action from a small, icon-only control — delete, edit, refresh, close — in tight spots like table rows, card headers, and toolbars. Pick Icon Button over the Icon block whenever the user is meant to press it: you get hover/pressed styling, disabled state, and a loading spinner. If the action needs a text label, use the Button block.

Properties

Content

PropertyTypeDefaultDescription
iconstring (icon name)ClockThe icon shown on the button. Bindable and condition-driven.
addOns.tooltipstringText shown on hover. Also becomes the button's screen-reader label.

Appearance

PropertyTypeDefaultDescription
color"brand" | "neutral" | "success" | "danger"brandThe button's color scheme. Supports conditions.
size"xs" | "sm" | "md" | "lg"mdThe button's size step.
variant"solid" | "outline" | "soft" | "ghost"solidFilled, bordered, tinted, or bare styling.
disabledconditionDisables the button when the condition is true.
loadingconditionShows a spinner and blocks presses while true.

Events

EventTriggerAvailable when
On ClickUser clicks or taps the buttonAlways
On Long PressUser presses and holdsMobile and tablet only

Behavior & Gotchas

Warning: An unrecognized icon name removes the whole button. If the icon name doesn't resolve, the entire button disappears — not just the glyph. A binding that returns an unknown name silently deletes the control from the page.

Warning: A long press swallows the following click. On mobile, after a long press fires, the click that would follow is suppressed. Long press is inert on desktop even if configured.

Note: The tooltip doubles as the screen-reader label. Without a tooltip, screen readers announce the raw icon name (e.g. "DotsVertical"). Give action buttons a tooltip for both sighted users and accessibility.

Examples

The Link block is a clickable hyperlink in two flavors: Inline (a piece of styled text) or Block (a body slot you fill with any content, making the whole area one link). It navigates to a URL, optionally in a new tab, with brand/neutral/error coloring, underline control, optional start and end icons, and an On Click event that fires alongside navigation.

Tip: When to use Link: Navigate the user to another page or external site from a piece of text. Use Block type to make a whole composed area — icon, title, description — clickable as one link. To run actions without navigating, prefer Button. To display a URL's preview card, prefer Link Preview.

Properties

Content

PropertyTypeDefaultDescription
type"inline" | "block"inlineInline shows a Text property; Block shows a Body slot instead.
urlstring (bindable)Where the link navigates on click.
labelstringClick hereInline only. (optional) The link's visible text.
openInNewTabtrue | false | conditionsfalseOpens the target in a new browser tab.
slots (Body)child blocksColumn with textBlock type only. (optional) Any blocks composed inside become the clickable area.

Appearance

PropertyTypeDefaultDescription
color"brand" | "neutral" | "error"brandThe link's color scheme.
underline"none" | "hover" | "always"hoverWhen the underline shows.
startDecorator / endDecoratoricon nameIcons placed before and after the link text. Condition-driven.
disabledconditionfalseDisables the link — no navigation, no click event.

Events

EventTriggerAvailable when
On ClickUser clicks the link; fires in addition to the navigation itselfAlways

Behavior & Gotchas

Note: An empty Text shows the URL instead. For an inline link with no Text set, the raw URL becomes the visible label.

Warning: A missing URL still renders a clickable link. With no URL set, the link displays and fires On Click; inside a published app its target falls back to #, which may scroll to the top of the page.

Note: New-tab links are opened safely. When Open in new tab is on, the new tab opens with browser protections (noopener noreferrer) that prevent the target from controlling your page.

Examples

The Link Preview block turns one or more URLs into rich preview cards — cover image, page title, a four-line description, the domain and its favicon — the way a chat app unfurls a pasted link. One URL renders a single card; several URLs render as a swipeable carousel with dot navigation. Page metadata is fetched from a platform automation that reads the links in one batch.

Tip: When to use Link Preview: Unfurl links inside conversational or feed-like surfaces so users see what a URL leads to before clicking. Show several shared links compactly in a carousel. For a plain clickable hyperlink with your own text, use the Link block instead.

Properties

PropertyTypeDefaultDescription
urlsarray of { url, openInNewTab? }[]The list of links to preview. Supplied by the embedding surface; not editable in the inspector.

The block has no inspector panels of its own — its content is supplied as data by the surface that embeds it, most commonly a chat or copilot message containing links.

Behavior & Gotchas

Warning: The block can vanish silently. It renders nothing when the URL list is empty, when the metadata lookup fails, or when none of the URLs produce a usable preview. Design the surrounding layout so a missing preview isn't jarring.

Warning: A page with only a title and description is filtered out. The cover image is the admission ticket — a URL that has no preview image is dropped entirely after the skeleton resolves.

Note: Previews depend on a platform automation. Metadata comes from the platform's link-batch-preview automation. If that automation isn't configured or errors, no previews render anywhere the block is used.

Note: Multiple links navigate by dots only. Two or more cards render in a carousel with dot indicators; there are no previous/next arrow buttons.

Examples

BlockRelationship
ButtonRuns actions on click without a navigation target; has a visible text label.
IconDisplay-only sibling to Icon Button — glyph with badge/tooltip, no button states.
IframeEmbeds the live page itself rather than a metadata card.

Frequently Asked Questions

How do I make an Icon Button accessible to screen readers?

The Icon Button block has a Tooltip field in the inspector. Set it to a clear action label like "Delete record" or "Open settings". This text is rendered as an aria-label on the underlying button element, so screen readers announce the purpose rather than just "button". Without a tooltip, icon-only buttons have no accessible label.

A Link block with Type set to Block renders as a block-level element that spans its container's full width, making the entire area tappable. It navigates to a URL or fires On Click. An Icon Button is always an icon-sized pressable element — use it for icon-only actions. Use a Block Link when you want a large clickable region that wraps other content, like a card navigation area.

Link Preview has two hard requirements: (1) you must configure a Platform Automation that fetches metadata from the URL (title, description, image), because the block does not fetch metadata directly; and (2) the fetched payload must include an image URL — the card is only rendered when an image is present. Without both, the block stays empty. Verify your automation is running and returning the expected image field.

Yes. The Link block's Open in new tab property controls this. Bind it to a boolean expression if you want context-dependent behavior — for example open in a new tab only when the link is an external URL. There is no method to override this at runtime; the property drives the behavior declaratively.