> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conversion.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Where to Use Liquid

> A complete reference of every place in Conversion that supports Liquid templating, across emails, workflow nodes, and webhooks.

Liquid is supported across emails, workflows, and integrations. This page lists every surface where you can enter Liquid, the specific fields that support it, and how to insert it in each place.

For the language itself (objects, tags, filters, and the data available to you), see the [Liquid Overview](/product-docs/liquid/overview).

## How you enter Liquid

Conversion exposes Liquid through three editor patterns. Which one you see depends on the field:

| Pattern | Where it appears | How to insert Liquid |
| :- | :- | :- |
| **Rich-text fields** | Most email and workflow text inputs | Type `/` to open the command menu, then choose **Add liquid**, **Add a field**, or **Add a token** |
| **Advanced editor toggle** | Field-value inputs on certain workflow nodes | Click the braces (`{ }`) icon next to the value to switch the basic input into a rich-text field, then enter Liquid there |
| **Code editor** | JSON and HTML inputs (webhook body, HTML blocks) | Type Liquid directly. Once you type `{{`, autocomplete takes over and suggests fields and tokens, alongside live validation |

<Tip>
  In rich-text fields, **Add a field** and **Add a token** insert a reference for you, while **Add liquid** lets you write any Liquid expression, including conditionals, filters, and objects like `company._opportunities` that aren't available through the field picker.
</Tip>

***

## Quick reference

| Area | Surface | Liquid-enabled fields |
| :- | :- | :- |
| **Emails** | Subject & preview | Subject line, preview text |
| **Emails** | Content blocks | Heading, Text, Button (label + link), HTML block |
| **Workflows** | [Magic Enrich](/product-docs/workflows/nodes/magic-enrichment) | Prompt |
| **Workflows** | [Update Field](/product-docs/workflows/nodes/update-field) | Value (advanced editor) |
| **Workflows** | [Update Campaign Member Field](/product-docs/workflows/nodes/update-campaign-member-field) | Value (advanced editor) |
| **Workflows** | [Email Alert](/product-docs/workflows/nodes/email-alert) | Subject, Content |
| **Workflows** | [Slack Message](/product-docs/workflows/nodes/slack-messages) | Message |
| **Workflows** | [Create Salesforce Task](/product-docs/workflows/nodes/create-salesforce-task) | Subject, Description |
| **Webhooks** | [Webhook](/product-docs/workspace-settings/integrations/webhooks) | Request body |

***

## Emails

Liquid is supported throughout the email builder, both in the email's metadata and inside content blocks.

### Subject and preview

The **Subject** line and **Preview** text both support Liquid. Type `/` in either field to insert dynamic values. Personalizing the subject line is a common way to improve open rates.

```liquid theme={null}
{{ contact.first_name | default: "there" }}, your {{ company.industry }} report is ready
```

### Content blocks

The following [email blocks](/product-docs/emails/email-builder/blocks) accept Liquid:

| Block | Liquid-enabled fields |
| :- | :- |
| **Heading** | Heading text |
| **Text** | Body text |
| **Button** | Label (button text) and Link (destination URL) |
| **HTML** | The entire HTML source |

In Heading, Text, and Button fields, type `/` to insert dynamic values. The **Button** block supports Liquid in both the visible **Label** and the destination **Link**, so you can route recipients to personalized URLs:

```liquid theme={null}
https://app.example.com/dashboard?email={{ contact.email | url_encode }}
```

The **HTML** block uses a code editor. Write Liquid directly anywhere in the markup.

### Email-only variables

The following variables are only available in email **body content blocks** (they are not replaced in the subject line or preview text):

| Variable | Description |
| :- | :- |
| `{{view_in_browser_link}}` | Renders a link to a hosted, browser-viewable version of the email. |
| `{{unsubscribe_link}}` | Renders the recipient's unsubscribe link URL. |

```liquid theme={null}
Having trouble viewing this email? <a href="{{view_in_browser_link}}">View in browser</a>
```

<Note>
  Email Liquid must validate before the email can be sent. If validation fails, the email is marked as incomplete and cannot be sent or activated in a workflow.
</Note>

***

## Workflows

Several workflow nodes let you set field values or message content using Liquid. Values resolve at runtime against each contact's current data.

### Magic Enrich

The **Prompt** field of the [Magic Enrich](/product-docs/workflows/nodes/magic-enrichment) node supports Liquid. Type `/` to reference contact and company fields so the AI model evaluates the right data for each contact.

### Update Field

The [Update Field](/product-docs/workflows/nodes/update-field) node sets a value on the contact or company record. When the action is **Set value**, click the braces (`{ }`) **advanced editor** icon next to the value input. This switches the basic input into a rich-text field where you can enter Liquid, letting you compute the value dynamically rather than entering a fixed one.

```liquid theme={null}
{{ contact.first_name | capitalize }} {{ contact.last_name | capitalize }}
```

### Update Campaign Member Field

The [Update Campaign Member Field](/product-docs/workflows/nodes/update-campaign-member-field) node sets a field value on a campaign member. Like the Update Field node, the value input has an **advanced editor** toggle (the braces icon) that switches the basic input into a rich-text field where you can then enter Liquid.

<Note>
  This is distinct from the [Update Campaign Member](/product-docs/workflows/nodes/update-campaign-member) node, which changes a contact's campaign membership *status* and does not use Liquid.
</Note>

### Email Alert

The [Email Alert](/product-docs/workflows/nodes/email-alert) node sends an internal notification to a team member. Both the **Subject** and **Content** fields support Liquid. Type `/` to insert dynamic values.

### Slack Message

The **Message** field of the [Slack Message](/product-docs/workflows/nodes/slack-messages) node supports Liquid. Type `/` to insert fields, tokens, or Liquid expressions.

<Info>
  Opportunity data isn't available through **Add a field**. Opportunity fields can only be referenced via **Add liquid** using the `company._opportunities` object. See [Opportunities in Liquid](/product-docs/liquid/overview#opportunities) for the syntax.
</Info>

### Create Salesforce Task

In the [Create Salesforce Task](/product-docs/workflows/nodes/create-salesforce-task) node, the task's **Subject** and **Description** fields support Liquid. Type `/` to insert dynamic values.

***

## Webhooks

The [webhook](/product-docs/workspace-settings/integrations/webhooks) **request body** supports Liquid. Edit the body in the webhook's code editor to send dynamic, per-contact payloads to your external endpoint.

```liquid theme={null}
{
  "email": "{{ contact.email }}",
  "company": "{{ company.name }}",
  "industry": "{{ company.industry | default: "unknown" }}"
}
```

<Warning>
  The webhook **URL**, **headers**, and **bearer token** do not support Liquid. Only the request body is rendered. Enter these as static values.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.