Settingsbeginner

Use merge tags for personalization

Insert dynamic placeholders into Text and Heading blocks so the email reads like it was written for the recipient. Covers contact fields, conversation fields, custom fields, and what happens when a merge tag can't resolve.

4 min read

Use merge tags for personalization

Merge tags are dynamic placeholders that get replaced with real values at send time. A template with Hi {{contact.name}}, your case {{conversation.human_id}} has been received becomes Hi Erik, your case SUP-251221-0001 has been received when sent.

Before you start

  • A Text or Heading block in your template (merge tags only work inside text-bearing blocks)
  • A clear sense of which conversation context the email will have when sent — automation-triggered emails have full context; CSAT emails have just the conversation; user-invitation emails have just the user

Insert a merge tag

  1. Open the template in Settings → Email Studio.
  2. Click into a Text or Heading block where you want the dynamic value.
  3. Click the Merge Tags button in the block’s toolbar (or use the inline {{ shortcut, depending on UI version).
  4. Pick the field. The picker is grouped by source: contact fields, conversation fields, custom fields, agent fields, tenant fields.
  5. The merge tag is inserted as {{path.to.field}}. Continue typing around it.

You can also type the merge tag directly if you remember the path — {{contact.name}} works without going through the picker.

Common merge tags

  • {{contact.name}} — The contact’s name
  • {{contact.email}} — The contact’s email address
  • {{contact.first_name}} — First name only (parsed from full name)
  • {{contact.custom_fields.<key>}} — A specific contact custom field by key
  • {{conversation.human_id}} — Human-readable conversation ID like SUP-251221-0001
  • {{conversation.subject}} — The conversation subject
  • {{conversation.url}} — A deep-link URL into the conversation in the app (for agent-facing emails)
  • {{conversation.custom_fields.<key>}} — A specific conversation custom field
  • {{agent.name}} — The assigned agent’s name
  • {{agent.email}} — The assigned agent’s email
  • {{tenant.name}} — Your company / workspace name
  • {{tenant.support_email}} — The configured support email for replies

What happens when a merge tag doesn’t resolve

If the field is empty or doesn’t exist on the record being sent:

  • Empty value: the merge tag renders as an empty string. Hi , (with a missing name) — looks unprofessional but doesn’t break send.
  • Unknown field path: the merge tag renders as the literal text {{contact.unknown_field}}. The customer sees the curly-brace template directly. This is louder than empty and helps catch typos.

To avoid empty-name awkwardness, use first-name-or-fallback patterns in plain prose:

Hi {{contact.first_name}},

Then make sure your contact records always have first names populated. Or use a more conversational opener that doesn’t depend on a name:

Hi there,

Custom fields in merge tags

Custom fields (see Custom Fields) are addressable via {{contact.custom_fields.<key>}}, {{conversation.custom_fields.<key>}}, or {{case.custom_fields.<key>}} depending on where the field lives.

The key is the machine identifier (e.g. account_tier), not the display label (Account Tier). Look it up in Settings → Custom Fields → field → Key.

Patterns

  • Friendly openerHi {{contact.first_name}},
  • Reference the casecase {{conversation.human_id}}
  • Link back into the app (agent emails only)View at {{conversation.url}}
  • Personalize by tierAs a {{contact.custom_fields.account_tier}} customer, (only useful when account tier is reliably populated)

Verify it worked

Wire the template into a test automation, trigger it on a test conversation, and check the delivered email. Every merge tag should have resolved to a real value, OR be visibly empty (which means the source field was empty), OR appear as literal {{...}} (which means the path was wrong — fix it).

Troubleshooting

  • Symptom: Merge tag appears as literal {{contact.name}} in the delivered email. Fix: The path is wrong, OR the template is being sent in a context where the merge tag can’t resolve (e.g. a system email without a contact context). Check the spelling and the calling surface.
  • Symptom: Customer’s name is missing in the email. Fix: The contact record doesn’t have a name. Use a fallback opener like Hi there, for cases where contacts may have email-only profiles.

See also

Tags

How To