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

# Use variables in WhatsApp message templates

> Understand how dynamic variables work in BluBash templates and quick replies, with practical examples and best practices for personalization.

Variables are dynamic placeholders that let you personalize templates and quick replies with information specific to each contact. Instead of sending a generic message, you can automatically insert names, order numbers, dates, and other details.

## How variables work

Variables use a numbered format inside double curly braces:

* `{{1}}` — first variable
* `{{2}}` — second variable
* `{{3}}` — third variable
* And so on, up to `{{10}}`

When you send a message, you fill in each variable with the appropriate value for that contact. BluBash can suggest values automatically based on contact data.

## Where you can use variables

| Location         | Variables supported          |
| ---------------- | ---------------------------- |
| **Text header**  | Maximum 1 variable (`{{1}}`) |
| **Message body** | Up to 10 variables           |
| **Footer**       | Not supported                |

## Practical examples

### Example 1: Resume a conversation

**Template:**

```
Hello {{1}}, how are you?

I noticed we did not finish our conversation about {{2}}.
Would you like to continue now?
```

**Values filled in:**

* `{{1}}` = "Maria" (contact name)
* `{{2}}` = "Premium Plan" (subject)

**Message sent:**

```
Hello Maria, how are you?

I noticed we did not finish our conversation about Premium Plan.
Would you like to continue now?
```

### Example 2: Order confirmation

**Template:**

```
{{1}}, your order has been confirmed!

Order: #{{2}}
Total: {{3}}
Estimated delivery: {{4}}
```

**Variables:**

* `{{1}}` = Contact name
* `{{2}}` = Order number
* `{{3}}` = Total amount
* `{{4}}` = Delivery date

## Automatic value suggestions

When you send a template, BluBash suggests values for each variable based on:

* **Contact data** — name, email, phone number, company
* **Agent data** — your name
* **Custom fields** — any custom fields configured for the contact
* **Current date and time** — the date and time of sending

You can accept the suggestions or edit them manually before sending.

## Best practices

<Steps>
  <Step title="Use a logical order">
    Assign variables in a consistent order across your templates to reduce confusion:

    * `{{1}}` = Contact name
    * `{{2}}` = Agent name
    * `{{3}}` = Company name
  </Step>

  <Step title="Provide clear examples">
    When setting up variables, add realistic example values. This helps with Meta approval and makes it easier for your team to fill them in correctly.
  </Step>

  <Step title="Keep it simple">
    Only use as many variables as you need. Using 2–4 variables is recommended; avoid creating templates with many variables unnecessarily.
  </Step>

  <Step title="Always review before sending">
    Check that all values are correct and review the message preview before confirming the send.
  </Step>
</Steps>

## Important rules

* All variables in a template are **required** — you cannot leave any blank
* Variables must follow the `{{number}}` format exactly
* Text headers support a maximum of **1 variable**
* Message bodies support a maximum of **10 variables**
* Variable numbers must be **sequential** — do not skip numbers (e.g., do not use `{{1}}` and `{{3}}` without `{{2}}`)
