Variables and placeholders
A placeholder is how you put personal information inside a message. At send time it becomes the person's name, their phone number or a field's value.
Last updated: September 30, 2026
A placeholder is how you put personal information inside a message. At send time it becomes the person's name, their phone number or a field's value.
Last updated: September 30, 2026
A placeholder is a short marker you write inside a message that is replaced with the real value at send time. Write "Hello {{contact.first_name}}, your order is ready." and the message reaching Ayşe Yılmaz reads "Hello Ayşe, your order is ready." It is how one piece of text speaks personally to everybody.
💡 Placeholders are written inside double curly braces. You do not have to type them by hand: pick one from the placeholder list under the text box and it is inserted at the cursor.
A template executes no code; it only swaps recognised keys for values. Write a key that is not recognised and that spot is simply left empty — the message still goes out, just with that word missing.
Once the values are filled in, the text goes through a small tidy-up: runs of extra spaces collapse to one, and a space before a punctuation mark is removed. That way an empty placeholder does not leave a sentence like "Hello !".
These are the placeholders you can pick from the list in the editor:
{{contact.first_name}} — The first word of the person's name. If there is no name, the username is used.{{contact.name}} — The person's full name. If there is no name, the username is used.{{contact.username}}{{contact.email}}{{contact.phone}}{{input}} — The last text the person wrote (the triggering message or their answer).{{workspace.name}} — The account's display name.Custom fields on the contact card are written with the field. prefix:
{{field.city}}{{field.order_no}}{{field.appointment_date}}You must write the field name exactly: lowercase letters, digits and underscores. A misspelled field name is not recognised and its spot stays empty. The field concept is covered in Contact field (custom field).
Some information is not filled in for everyone. You can give a placeholder a fallback with a vertical bar:
Hello {{contact.first_name|there}}!
If the name is known it sends "Hello Ayşe!", and otherwise "Hello there!". The same works for fields: {{field.city|your area}}.
⚠️ Note: without a default, an empty placeholder can break your sentence. For information that is not always present — a first name, a city, an order number — writing a fallback should become a habit.
They are not the same thing; they work together:
Write a placeholder for a field you never filled and the message has a gap in it. That is why order matters when you build a flow: first the step that collects or writes the information, then the message that uses it.
Placeholders are filled in at these places:
/ in the inbox.In the external request step a placeholder is escaped according to where it sits: a value placed in the address path or query string follows URL rules, and a value placed in a JSON body follows JSON rules.
The reason is simple: a quotation mark the customer typed could break a JSON body, and an "&" could break a query string. Text tidy-up (collapsing extra spaces) is also not applied there; the address and the body are preserved character for character.
A restaurant sends a booking confirmation:
Hello {{contact.first_name|there}}, your booking for {{field.party_size}} on {{field.booking_date}} is confirmed. Reply to this message if you have any questions. — {{workspace.name}}
Text grows once a placeholder is replaced by its value, so never work out length without them. The channel limits differ: Instagram counts text in bytes (1,000 bytes; accented letters take 2 and emoji take 4), WhatsApp counts characters (4,096, or 1,024 when buttons are present).
The counter in the editor works the difference out for you and shows the tightest limit if your account has more than one channel type. If the limit is still exceeded, the message is trimmed before sending without splitting a letter or an emoji, and ends with an ellipsis; going out shortened is better than not going out at all.
{{field.OrderNo}} is not recognised. The correct form is lowercase with underscores, such as {{field.order_no}}.{{contact.city}}) stays empty. If the city is a field, write {{field.city}}.Use placeholders well and a single piece of message text reaches thousands of people as if it had been written for each of them.
Was this article helpful?