Snippet variables reference
Variables are placeholders inside a snippet that get replaced with real data when the snippet expands into a reply. They’re what makes a snippet feel personal rather than robotic.
Inserting a variable
Most editors expose a variable picker — click Insert variable in the snippet editor, pick from the list, and the placeholder is inserted as {{variable_name}}. You can also type the placeholder directly if you remember the name.
Common variables
{{customer_name}}— The contact’s name from the CRM{{customer_first_name}}— First name only (parsed from full name){{customer_email}}— The contact’s email address{{conversation_id}}— The conversation’s human-readable ID, e.g.SUP-251221-0001{{conversation_subject}}— The conversation subject{{agent_name}}— The responding agent’s name (you){{agent_first_name}}— Your first name only{{tenant_name}}— Your company / workspace name{{case_number}}— If the conversation is linked to a case, the case ID
Custom field variables
Custom fields are addressable too. The format follows the field’s source:
{{contact.custom_fields.<key>}}— A contact-level custom field{{conversation.custom_fields.<key>}}— A conversation-level custom field
The <key> is the machine identifier, not the display label. Look it up in Settings → Custom Fields — every field shows its key in the editor.
What happens when a variable can’t resolve
Two scenarios:
- Empty source value. The variable renders as an empty string.
Hi ,(with no name) — looks unprofessional but doesn’t break the send. - Unknown variable name. The variable renders as the literal text
{{unknown_variable}}. The customer would see the curly-brace template directly. This is louder than empty, which helps catch typos before send.
Avoiding empty-name awkwardness
If a contact only has an email (no parsed name), {{customer_first_name}} renders empty and your snippet starts Hi ,. Two patterns that handle this:
Pattern 1 — Conversational opener that doesn’t need a name:
Hi there,
Works for every recipient regardless of profile completeness. Slightly less personal but never broken.
Pattern 2 — Maintain contact records. Make sure every contact has a populated first name. Use Sidekick auto-population or an automation rule that pulls names from inbound messages.
Variables are evaluated at expansion time
When you type the shortcode and the snippet expands into the reply editor, the variables resolve immediately. You can edit the expanded text before sending — adjust phrasing, swap a word, add context. The variables are now plain text in your reply.
This means you can reach for a snippet before you know exactly what you’ll say, then refine after expansion. The variables save the typing of the predictable parts.
See also
- Create a snippet
- Use a snippet in a reply
- Custom Fields — for the custom-field variable syntax