# Datos que puedes insertar

Puedes insertar tres tipos de datos: los datos propios del contacto, sus variables y las variables globales del bot.

## Datos del contacto

Se escriben sin el signo `$`: `{{ first_name }}`, `{{ phone }}`.

| Sintaxis | Qué se inserta |
|---|---|
| `{{ name }}` | El nombre completo del contacto, tal como aparece en la app de mensajería o como lo guardó el bot |
| `{{ first_name }}` | La primera palabra del nombre |
| `{{ last_name }}` | La segunda palabra del nombre |
| `{{ phone }}` | Teléfono |
| `{{ email }}` | Email |
| `{{ address }}` | Dirección |
| `{{ username }}` | Nombre de usuario en la app de mensajería |
| `{{ id }}` | Número del contacto en CleverApp |
| `{{ bot_id }}` | Número del bot |
| `{{ created_at }}` | Cuándo escribió el contacto al bot por primera vez, como `2026-10-02 14:30:00` (UTC) |
| `{{ start_message }}` | El primer mensaje que el contacto envió al bot |
| `{{ telegram_id }}` | ID del usuario en Telegram |
| `{{ max_id }}` | ID del usuario en MAX |
| `{{ amocrm_lead_id }}`, `{{ amocrm_contact_id }}` | ID del lead y del contacto en amoCRM |
| `{{ bitrix_lead_id }}`, `{{ bitrix_deal_id }}`, `{{ bitrix_contact_id }}` | ID del lead, del negocio y del contacto en Bitrix24 |

Si el contacto no tiene ese dato (por ejemplo, no tiene teléfono), la inserción se sustituye por un espacio vacío.

> [!NOTE]
> Algunos bloques tienen datos propios. Por ejemplo, el texto de la notificación de un nuevo referido admite `{{ name }}` (el nombre del contacto invitado) y `{{ level }}` (el nivel del referido), y el bloque «Distribución en grupos» admite `{{ name_list }}` y `{{ group_number }}`. Se describen en la configuración de esos bloques.

## Variables del contacto

Las variables guardan las respuestas del contacto y todo lo que el bot haya guardado a lo largo del flujo. Se escriben con el signo `$` delante del nombre:

```
Elegiste {{ $ciudad }}.
```

Si el contacto no tiene esa variable, la inserción se sustituye por un espacio vacío.

### Si el nombre de una variable tiene espacios

Después del signo `$`, el bot lee el nombre solo hasta el primer espacio. Por eso una variable con un espacio en el nombre no se puede escribir con `$`: el bot no sabe dónde termina el nombre.

Para estos nombres existe la función `var`. Escribe el nombre entre comillas, exactamente como se llama la variable en el bot:

```
{{ var("Nombre del cliente") }}, ¡gracias por tu solicitud!
```

Cómo escribirlo:

1. Copia el nombre de la variable desde el bot: las mayúsculas y minúsculas, los espacios y los símbolos deben coincidir.
2. Pon el nombre entre comillas: `"Nombre del cliente"`.
3. Envuélvelo en `var( )`: `{{ var("Nombre del cliente") }}`.

| Variable en el bot | Cómo insertarla |
|---|---|
| `ciudad` | `{{ $ciudad }}` |
| `Nombre del cliente` | `{{ var("Nombre del cliente") }}` |
| `Fecha de la cita` | `{{ var("Fecha de la cita") }}` |
| `Total del pedido, EUR` | `{{ var("Total del pedido, EUR") }}` |

`var` también funciona en las [expresiones](https://support.cleverapp.pro/es/chatbots/templates/expressions), como cualquier otro valor:

```
{{ upper(var("Nombre del cliente")) }}, pagas {{ var("Total del pedido, EUR") * 0.9 }} €
```

> [!TIP]
> Lo más sencillo es nombrar las variables sin espacios: `nombre_cliente`, `fecha_cita`. Así basta con la forma corta: `{{ $nombre_cliente }}`.

> [!NOTE]
> Si tus flujos ya insertan nombres con espacios usando `$` fuera de las expresiones, esas inserciones siguen funcionando. En los textos nuevos, usa `var`.

## Variables globales

Las variables globales se definen en la configuración del bot y son las mismas para todos los contactos: un tipo de cambio, la dirección de la oficina, un enlace de pago. Se escriben sin `$`, exactamente como se llaman en la configuración:

```
Nuestra dirección: {{ direccion_oficina }}
```

### Si el nombre de una variable global tiene espacios o paréntesis

Usa la función `global`: el nombre entre comillas, exactamente como en la configuración del bot:

```
Tipo de cambio de hoy: {{ global("Tasa (USD)") }}
```

Dentro de las expresiones, una variable global siempre se lee con `global`, aunque su nombre no tenga espacios:

```
Total en dólares: {{ round($total / global("Tasa (USD)"), 2) }}
```

Si un dato del contacto y una variable global tienen el mismo nombre, se inserta el dato del contacto.

> [!WARNING]
> El valor de una variable global se muestra tal cual: las plantillas que contenga no se procesan. Si el valor dice `Hola, {{ $Name }}`, el contacto verá exactamente ese texto. Escribe ese texto directamente en el bloque.

## Los valores son texto

Todos los datos y variables se guardan como texto. En las expresiones, el texto que parece un número se trata como un número: si `$cantidad` contiene `3`, la expresión `{{ $cantidad * 2 }}` da `6`. El texto que no parece un número no se puede calcular: esa inserción se sustituye por un espacio vacío y el motivo aparece en la vista previa.
