> ## Documentation Index
> Fetch the complete documentation index at: https://docs.headlesslabs.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ticket variables

> Ticket variables resolve only in events and templates where Headless has real ticket context.

## Complete catalog

The renderer recognizes the 82 `{ticket.*}` names listed below. Availability depends on the event: the opening message supplies some values, while close, reopen, form, or transcript fields without context render as `N/A`.

## Identity and configuration

`ticket.author.*` and `ticket.creator.*` reuse available user context; `ticket.channel.*` identifies the new channel. `ticket.option.*` describes the option and applicable configuration when present.

## Opening-message conditions

Only this message supports simple conditions: `{if {ticket.open} == yes}...{elseif ...}...{else}...{/if}`. Equality/inequality (`==`, `!=`) or a truth test is supported; arbitrary expressions and nesting are not.

## Complete Ticket variable catalog

All 82 names recognized by the Tickets renderer; values may be `N/A` outside their event.

> **Context variables**
>
> ```text theme={null}
> {ticket.case}
> {ticket.id}
> {ticket.open}
> {ticket.deleted}
> {ticket.opened_label}
> {ticket.opened_at}
> {ticket.opened_at.raw}
> {ticket.opened_at.short}
> {ticket.claimed_at}
> {ticket.claimed_at.raw}
> {ticket.claimed_at.short}
> {ticket.migrated_at}
> {ticket.migrated_at.raw}
> {ticket.migrated_at.short}
> {ticket.closed_at}
> {ticket.closed_at.raw}
> {ticket.closed_at.short}
> {ticket.reopened_at}
> {ticket.reopened_at.raw}
> {ticket.reopened_at.short}
> {ticket.deleted_at}
> {ticket.deleted_at.raw}
> {ticket.deleted_at.short}
> {ticket.last_author_message_at}
> {ticket.last_author_message_at.raw}
> {ticket.last_inactivity_notice_at}
> {ticket.last_inactivity_notice_at.raw}
> {ticket.auto_delete_after_close}
> {ticket.auto_delete_after_close.human}
> {ticket.auto_delete_at}
> {ticket.auto_delete_at.raw}
> {ticket.auto_delete_at.short}
> {ticket.closed_automatically}
> {ticket.reason.claimed}
> {ticket.reason.migrated}
> {ticket.reason.closed}
> {ticket.reason.reopened}
> {ticket.reason.deleted}
> {ticket.author}
> {ticket.creator}
> {ticket.claimer}
> {ticket.closer}
> {ticket.reopener}
> {ticket.deleter}
> {ticket.channel.id}
> {ticket.channel.name}
> {ticket.channel.mention}
> {ticket.panel}
> {ticket.controller}
> {ticket.option.label}
> {ticket.option.emoji}
> {ticket.option.description}
> {ticket.option.style}
> {ticket.option.disabled}
> {ticket.option.auto_close_after}
> {ticket.option.auto_close_after.human}
> {ticket.option.auto_delete_after_close}
> {ticket.option.auto_delete_after_close.human}
> {ticket.option.inactivity_time}
> {ticket.option.inactivity_time.human}
> {ticket.option.category.id}
> {ticket.option.category.name}
> {ticket.option.category.mention}
> {ticket.option.required_roles}
> {ticket.option.required_roles.names}
> {ticket.option.required_roles.mentions}
> {ticket.option.required_roles.count}
> {ticket.option.required_roles.mode}
> {ticket.option.required_roles.match_all}
> {ticket.form.id}
> {ticket.form.name}
> {ticket.form.title}
> {ticket.form.submitted_at}
> {ticket.form.submitted_at.raw}
> {ticket.form.submitted_at.short}
> {ticket.transcript.url}
> {ticket.transcript.created_at}
> {ticket.transcript.created_at.raw}
> {ticket.transcript.created_at.short}
> {ticket.transcript.expires_at}
> {ticket.transcript.expires_at.raw}
> {ticket.transcript.expires_at.short}
> ```

> [!NOTE]
>
> Reopen, transcript-expiry, and reusable-form data have no corresponding Headless event; do not expect those variables to resolve.

**Note:**

This list preserves the original renderer catalog; a recognized token is not guaranteed to have a value when a ticket opens.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.