Skip to main content
Tags are the building blocks of a component script. Each tag produces one or more elements in the final Discord card — headings, body text, images, buttons, and more. You can combine as many tags as you need in a single template, and haze assembles them into a structured card in the order you write them.
Tags use a colon to separate the tag name from its value — {title: Hello world}. Values may span multiple lines. When a tag needs more than one piece of information (for example a button label and a style), separate the parts with &&.

Layout Tags

Media Tags

Buttons

Action Buttons

Action buttons trigger interactions when clicked. The format is:
Ticket control IDs — use these short IDs for close and claim buttons. They are safe and will not be mangled by Discord’s emoji replacement:
Do not write haze:ticket:close (or any ID with colons that spell out an emoji name). Discord replaces :ticket: with 🎫 at the API level, turning your custom ID into haze🎫close — which haze will never match. Always use dots: haze.tickets.close.
Style aliases: blurpleprimary, grey / graysecondary, greensuccess, reddanger. Link buttons open a URL in the browser. They do not fire an interaction.
Use {link: …} when you want a visible label. Use {url: …} for a bare URL button with no custom label.

Color Names

In addition to any #RRGGBB hex value, you can use these named colors with {color: …} or {accent: …}: haze · blurple · green · red · yellow · fuchsia · success · warn · white · black

In-Discord Reference

To see the full tag list at any time without leaving Discord, run: