🎉 Tickety V3 has now been released! Read more →
Placeholders

Placeholders

Dynamic placeholders and parsers for messages

Use placeholders to render live values inside embeds, buttons, panel messages, and automated replies. The catalog below is organized by scope so you can quickly see what is always available and what only appears in a specific context.

Quick reference

The most common placeholders are member.*, guild.*, panel.*, and ticket.*. If a placeholder is blank, first confirm the message context actually provides that data.

PlaceholderPurpose
member.mentionPing the current member
member.displayNameUse the member nickname or display name
member.usernameUse the member username
guild.nameShow the server name
ticket.creator.mentionPing the ticket creator
ticket.numberShow the ticket number
ticket.closeReasonShow the close reason
panel.nameShow the panel name

Base placeholders

These are available in most message contexts.

PlaceholderDescription
currentTimeCurrent timestamp in Unix format
member.idMember ID
member.mentionMention for the current member
member.displayNameMember display name or nickname
member.usernameMember username
member.avatarUrlMember avatar URL
member.joinedAtWhen the member joined, in Unix format
member.createdAtWhen the member account was created, in Unix format
member.rolesList of member role IDs
member.roles.0First role ID from the member role list
guild.idServer ID
guild.nameServer name
guild.memberCountTotal member count
guild.createdAtServer creation timestamp in Unix format

All timestamps are provided in Unix format. Learn how to parse them.

Statistics placeholders

These placeholders resolve to numbers and fall back to 0 when the data is unavailable.

PlaceholderDescription
statistics.tickets.averageRatingAverage ticket rating
statistics.tickets.createdTotal tickets created
statistics.tickets.closedTotal tickets closed
statistics.tickets.openTotal tickets currently open
statistics.tickets.claimedTotal tickets claimed
statistics.applications.totalTotal applications submitted
statistics.applications.pendingTotal applications pending
statistics.applications.acceptedTotal applications accepted
statistics.applications.deniedTotal applications denied
statistics.giveaways.totalTotal giveaways created
statistics.giveaways.totalParticipantsTotal giveaway participants
statistics.giveaways.averageParticipantsAverage participants per giveaway
statistics.verifications.totalTotal verifications processed
statistics.verifications.failedTotal failed verifications
statistics.verifications.passedTotal passed verifications

Context-specific placeholders

The sections below contain placeholders that only exist in a specific message scope.

Ticket-related placeholders are merged with the base placeholders for ticket messages.

PlaceholderDescription
ticket.numberTicket numeric identifier
ticket.creator.idTicket creator member ID
ticket.creator.mentionPing the ticket creator
ticket.creator.displayNameTicket creator display name
ticket.creator.usernameTicket creator username
ticket.creator.avatarUrlTicket creator avatar URL
ticket.creator.joinedAtWhen the ticket creator joined, in Unix format
ticket.creator.createdAtWhen the ticket creator account was created, in Unix format
ticket.creator.rolesTicket creator role IDs
ticket.creator.roles.0First role ID from the ticket creator role list
ticket.closeReasonClose reason
ticket.openedAtTicket open timestamp in Unix format
ticket.usersList of user IDs in the ticket
ticket.users.0First user ID in the ticket user list
ticket.channelNameTicket channel name
ticket.priorityTicket priority value
ticket.claimer.idTicket claimer member ID
ticket.claimer.mentionPing the ticket claimer
ticket.claimer.usernameTicket claimer username
ticket.claimer.avatarUrlTicket claimer avatar URL
ticket.claimer.createdAtWhen the ticket claimer account was created, in Unix format
ticket.formTicket form entries
ticket.form.0.questionFirst ticket form question
ticket.form.0.answerFirst ticket form answer
ticket.form.0.requiredWhether the first ticket form field was required
ticket.createdAtTicket creation timestamp in Unix format
ticket.closedAtTicket close timestamp in Unix format
ticket.closer.idTicket closer member ID
ticket.closer.mentionPing the ticket closer
ticket.closer.usernameTicket closer username
ticket.closer.avatarUrlTicket closer avatar URL
ticket.closer.createdAtWhen the ticket closer account was created, in Unix format

Use the ticket creator placeholders for welcome messages, the claimer and closer placeholders for assignment and closure flows, and ticket.form.* when rendering user-submitted answers.

Application placeholders are available in application panel and application workflow messages.

PlaceholderDescription
application.numberApplication numeric identifier
application.creator.idApplication creator member ID
application.creator.mentionPing the application creator
application.creator.displayNameApplication creator display name
application.creator.usernameApplication creator username
application.creator.avatarUrlApplication creator avatar URL
application.creator.joinedAtWhen the application creator joined, in Unix format
application.creator.createdAtWhen the application creator account was created, in Unix format
application.creator.rolesApplication creator role IDs
application.creator.roles.0First role ID from the application creator role list

These values are useful in submit, accept, deny, and finish messages.

Panel placeholders are exposed on panel views and panel messages.

PlaceholderDescription
panel.namePanel display name
panel.supportRolesRole IDs that can support this ticket panel
panel.supportRoles.0First support role ID
panel.openTicketsNumber of currently open tickets for this panel
panel.reviewRoleApplication review role ID
panel.pendingApplicationsNumber of pending applications
panel.emojiPanel emoji

Panel values are especially useful when you want the message to reflect the exact configuration the user is interacting with.

Support hours placeholders are available where support-hours are configured.

PlaceholderDescription
supportHours.statusCurrent support status
supportHours.nextOpenTimestamp of the next open time in Unix format
supportHours.closesAtTimestamp of when support closes in Unix format

Roblox placeholders are available wherever member placeholders are available.

PlaceholderDescription
roblox.bloxlink.idRoblox account ID
roblox.bloxlink.urlLink to the Roblox profile
roblox.bloxlink.nameRoblox username
roblox.bloxlink.displayNameRoblox display name
roblox.bloxlink.aboutRoblox profile about text
roblox.bloxlink.createdAtRoblox account creation timestamp in Unix format

Resolution behavior

Use these rules when deciding which placeholders to include in a message:

  1. Base placeholders such as member.* and guild.* are available in most message contexts.
  2. Context-specific placeholders such as ticket.*, panel.*, and supportHours.* only resolve when that context exists.
  3. Statistics placeholders resolve to a number and fall back to 0 when data is unavailable.
  4. If a context-specific placeholder is used where that context does not exist, it may resolve to an empty value or remain unresolved depending on the message type.

When combining placeholders with parsers, place the placeholder inside the parser payload, for example: {timestamp(relative):{member.joinedAt}}.

Parser reference

Use these parser pages for formatting, logic, and text manipulation:

ParserPurposeLink
DateFormat timestamps using custom date and time patterns/docs/placeholders/parsers/date
TimestampConvert timestamps into readable formats/docs/placeholders/parsers/timestamp
String FormatChange casing, escape text, and format ordinals/docs/placeholders/parsers/stringFormat
ReplaceReplace characters or substrings/docs/placeholders/parsers/replace
IfReturn one of two values from a condition/docs/placeholders/parsers/ifStatements
IncludesCheck whether text contains a value/docs/placeholders/parsers/includes
JoinJoin values into a single string/docs/placeholders/parsers/join
SliceExtract part of a string by range/docs/placeholders/parsers/slice
TruncateShorten text to a fixed length/docs/placeholders/parsers/truncate
PaddingPad text to a target length/docs/placeholders/parsers/padding
MathRun arithmetic expressions/docs/placeholders/parsers/math
LogicalEvaluate boolean-style expressions/docs/placeholders/parsers/logical
StopPrevent further processing when a condition is met/docs/placeholders/parsers/stop

Practical examples

Ticket notification

Ticket #{ticket.number} opened by {member.displayName} at {date(MM/DD/YYYY HH24:MI):{currentTime}}.

Support-hours status message

Support status: {upper:{supportHours.status}}
Next open: {timestamp(relative):{supportHours.nextOpen}}

Conditional message output

{if({contains(1234567890):{member.roles}}):Welcome back, staff member.|Welcome!}

Common mistakes

  • Verify context before using context-specific placeholders.
  • Keep parser syntax exact. Missing separators such as : or | can cause unexpected output.
  • Confirm timestamp format expectations before parsing. Use date or timestamp parsers when you need readable output.
  • If a value appears blank, test with a known base placeholder first, for example {member.username}, to confirm the message context is correct.

On this page