Skip to content

Template variables

Template variables let you personalise messages by dropping in dynamic content per recipient. By placing a placeholder in your text, you can pull in details like the customer's name or an agent's name automatically.

For example, sending Hey {{ contact.name }}, how may I help you? produces Hey John, how may I help you? when the contact's name is John.

Variables also work in canned responses, macros, and automation rules — anywhere you compose reusable message text.

Inserting a variable

While composing a message or canned response, type two opening curly braces {{. A list of available variables appears, and you pick the one you want.

The available variables are:

Variable Resolves to
conversation.id The numeric conversation ID.
contact.id The numeric contact ID.
contact.name The contact's full name.
contact.first_name The contact's first name.
contact.last_name The contact's last name.
contact.phone_number The contact's phone number.
agent.name The agent's full name.
agent.first_name The agent's first name.
agent.last_name The agent's last name.
agent.phone_number The agent's phone number.

Fallback text

If a variable can't be filled in — say contact.first_name is empty — you can supply fallback text to use instead. Wrap the fallback in single quotes:

{{ contact.first_name || 'there' }}

This sends "there" whenever the first name is missing.

Common questions

What happens if I use a variable that doesn't exist? ChannelX shows a warning so you can correct it before sending.

Tip

Always add a fallback for any variable that might be blank, especially in outbound or automated messages. A message that opens "Hey ," reads as broken; "Hey there," does not.