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

# Personalization Variables and Fallbacks

> Lead, sender, profile and AI variables, spintax, conditional text, previews and character limits.

Every text field in a step has a **Variable** picker and a **Preview** button.

## Variables

<AccordionGroup>
  <Accordion title="Lead" icon="user">
    | Variable         | Filled with                                                                                                                         |
    | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
    | `{{first_name}}` | Lead's first name. If it's missing, the first word of the full name.                                                                |
    | `{{last_name}}`  | Lead's last name                                                                                                                    |
    | `{{full_name}}`  | Lead's full name                                                                                                                    |
    | `{{company}}`    | Company                                                                                                                             |
    | `{{title}}`      | Job title                                                                                                                           |
    | `{{headline}}`   | LinkedIn headline                                                                                                                   |
    | `{{location}}`   | Location                                                                                                                            |
    | `{{custom.key}}` | A [custom field](/crm-lead-management/crm-features-use-cases/lead-profile-and-relations#details-tags-and-custom-fields) on the lead |
  </Accordion>

  <Accordion title="Sender" icon="id-badge">
    | Variable                                                                | Filled with                                                                                                        |
    | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
    | `{{sender.first_name}}`, `{{sender.last_name}}`, `{{sender.full_name}}` | The sending account's name                                                                                         |
    | `{{sender.signature}}`                                                  | The mailbox's [signature](/email-management/email-deliverability#signature). Email only.                           |
    | `{{sender.booking_link}}`                                               | The sender's [booking link](/sequences/creating-managing-sequences/booking-and-call-tasks), carrying the lead's id |
  </Accordion>

  <Accordion title="Profile data" icon="database">
    Filled from the stored LinkedIn profile ([enrichment](/ai-and-data/profile-enrichment)). **Always give these a fallback** — not every profile has every field.

    `{{enrich.about}}` · `{{enrich.current_title}}` · `{{enrich.current_company}}` · `{{enrich.years_in_role}}` · `{{enrich.months_in_role}}` · `{{enrich.previous_company}}` · `{{enrich.previous_title}}` · `{{enrich.school}}` · `{{enrich.degree}}` · `{{enrich.top_skill}}` · `{{enrich.skills}}` · `{{enrich.language}}` · `{{enrich.follower_count}}` · `{{enrich.connections_count}}` · `{{enrich.recent_post}}` · `{{enrich.recent_post_date}}`
  </Accordion>

  <Accordion title="AI variables" icon="wand-magic-sparkles">
    `{{ai.your_key|fallback}}` inserts a line written ahead of time for that lead — for example an opening sentence.

    **Only a line a person approved is ever used.** Anything not approved renders the fallback. See [AI variables and the review table](/ai-and-data/ai-variables-and-review).
  </Accordion>

  <Accordion title="Links" icon="link">
    | Variable               | Filled with                                                                                                                                   |
    | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
    | `{{unsubscribe_link}}` | A one-click [unsubscribe link](/email-management/email-deliverability#unsubscribe-link), signed for that lead. Email only. Empty in previews. |
    | `{{booking_link}}`     | The sender's booking link, with lead tracking                                                                                                 |
  </Accordion>
</AccordionGroup>

## Fallbacks

Add `|fallback` to use a default value when the lead's field is empty:

```text theme={null}
Hi {{first_name|there}}, I saw {{company|your company}} is hiring.
```

Without a fallback, an empty field becomes blank. The picker adds these fallbacks for you:

| Variable                  | Default fallback |
| ------------------------- | ---------------- |
| `first_name`, `full_name` | there            |
| `company`                 | your company     |
| `title`                   | your role        |

## Spintax

Write alternatives in single braces, separated by pipes, and one is picked per lead:

```text theme={null}
{Hi|Hello|Hey} {{first_name|there}}, {quick question|one question} about {{company}}.
```

* The pick is **seeded per lead**, so the preview shows exactly what will be sent, and a retry sends the same text.
* An option can't contain braces. Write `{Hi|Hello} {{first_name}}`, not `{Hi {{first_name}}|Hello}`.
* The editor shows the **number of combinations** under the field.

<Warning>
  Length is measured on the **longest** possible combination. An over-length invitation note fails every single time it is tried, so the validator treats it as a blocking error rather than a warning.
</Warning>

## Conditional text

Leave out a whole phrase when a field is missing, instead of leaving a gap:

```text theme={null}
Saw you're hiring{{#if company}} at {{company}}{{/if}} — worth a chat?
```

`{{#if …}}…{{else}}…{{/if}}` also works, and blocks can be nested. The condition is true when the field resolves to a non-empty value.

## Preview

**Preview** fills the text in for a real lead, as sent by the first sender in the pool, and warns you about any variable that would be blank for that lead. It uses the same renderer as sending, so preview and send are the same text — spintax pick included.

## Character limits

The counter under each field turns red once you're over the limit. With spintax, it counts the longest combination.

| Field                 | Limit                                                           |
| --------------------- | --------------------------------------------------------------- |
| Invitation note       | 300 characters (200 if any free LinkedIn sender is in the pool) |
| Message               | 8,000                                                           |
| Comment               | 1,250                                                           |
| InMail subject / body | 200 / 1,900                                                     |
| Email subject         | 200                                                             |
| Voice note            | 60 seconds                                                      |
| Task title            | 200                                                             |

## Writing tips

* Don't pitch or include links in the first touch.
* Space follow-ups at least 2 days apart.
* Offer something useful within the first three outbound touches.
* Always give `first_name` a fallback. Imported data is often incomplete.
* Spintax varies the wording, it doesn't improve it. A weak message in four flavours is still weak.

## Related articles

* [Sequence Nodes](/sequences/creating-managing-sequences/sequence-nodes)
* [AI Variables and the Review Table](/ai-and-data/ai-variables-and-review)
* [Profile Enrichment](/ai-and-data/profile-enrichment)
* [Lead Profile and Relation States](/crm-lead-management/crm-features-use-cases/lead-profile-and-relations)
