How to Use Liquid in Xink Email Signatures

Overview

Short answer:
Liquid allows you to control how data is displayed in email signatures and campaigns using logic, conditions, and formatting.

Liquid is a template language that helps you create dynamic email signatures and campaigns with advanced logic and formatting.

You can combine tags, objects, and filters—and even nest conditions—to control exactly how each employee’s data is displayed. This means you don’t need to rely on how data is formatted in your source system.

Example #1 – Format phone numbers

You sync phone numbers in this format: +1 9083408836 or +1 9083408836x123, and want to display:

  1. 908 340 8836
  2. 908 340 8836 x123 (if extension exists)
  3. Hide the field if no number exists
{% if DirectPhone == blank %}{% else %}
{% if DirectPhone | contains: 'x' %}
{{DirectPhone | substr_after: '+1' | phone_format: '000-000-0000 x000'}} (direct)
{% else %}
{{DirectPhone | substr_after: '+1' | phone_format: '000-000-0000'}} (direct)
{% endif %}
{% endif %}

Example #2 – Advanced targeting

Apply a campaign only when multiple conditions are met (beyond standard rule limitations).

Example: Show campaign only if Country = Denmark and Office is NOT A080, A020, or A310.

{% unless Office | contains: 'A080' or Office | contains: 'A020' or Office | contains: 'A310' %}
{% if Country | contains: 'Denmark' %}
{{ campaign[16041] | raw }}
{% endif %}
{% endunless %}

Discover Liquid Instructions

Important

Do not combine CASE, IFNULL, or NULL with Liquid in the same template. These methods are not compatible.

Objects

Objects output data in your signature using {{ }}.

  • fields– employee data
    {{ Email }}
    {{ fields.Email }}
    {{ fields["Email"] }}
  • shared_fields– shared user data
    {{ shared_fields["Email"] }}
  • campaign– insert campaigns
    {{ campaign[11856] | raw }}
Tags

Tags control logic using {% %} and do not output visible text.

  • if– run code when condition is true
    {% if Mobile != blank %}M: {{Mobile}}{% endif %}
  • unless– run code when condition is false
    {% unless Email | contains: 'xink.io' %}
    External email
    {% endunless %}
  • case / when– conditional mapping
    {% case State %}
    {% when 'California' %}CA
    {% when 'Texas' %}TX
    {% else %}{{State}}
    {% endcase %}
  • assign– create variables
    {% assign e = Email %}
    {{ e }}
Filters

Filters modify output using |.

  • substr_after
    {{ Email | substr_after: '@' }}
  • append
    {{ Email | append: ' text' }}
  • slice– remove prefix
    {{ your_field | slice: 6, 999 }}

    Example:
    Input: 10760 IT Arkitektur & Governance
    Output: IT Arkitektur & Governance

  • phone_format
    {{ Phone | phone_format: '000-000-0000' }}

How to Add Liquid to Your Signature

  1. Open your signature and click Source
  2. Add @liquid at the very top
  3. Paste your Liquid code
  4. Click Source again
  5. Preview the result
  6. Click OK
Always use Source mode when adding Liquid

@liquid must remain at the top of the signature

Use curly braces

Replace default field format ((Email)) with {{Email}} when using Liquid.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.
Quick 1-on-1 Demo | Ⓒ 2026 Xink