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

# Variables en automatizaciones

> Cómo usar variables dinámicas en mensajes, templates, webhooks y actualización de contactos

# Variables en automatizaciones

Las variables permiten insertar datos dinámicos dentro de acciones.

Puedes usarlas en mensajes, templates, HTTP requests y acciones de actualización de contacto.

***

## Formato

Las variables usan doble llave:

```text theme={null}
{{contact.name}}
{{system.dia_actual}}
{{lead.field.email}}
```

Si estás en el builder, usa **Insertar variable** para evitar errores de escritura.

***

## Variables de contacto

| Variable                  | Qué representa  |
| ------------------------- | --------------- |
| `{{contact.name}}`        | Nombre completo |
| `{{contact.first_name}}`  | Primer nombre   |
| `{{contact.phoneNumber}}` | Teléfono        |
| `{{contact.email}}`       | Email           |

Ejemplo:

```text theme={null}
Hola {{contact.first_name}}, gracias por escribirnos.
```

***

## Variables de negocio

Las variables de negocio dependen de lo que tengas definido en ajustes.

Formato:

```text theme={null}
{{business.mi_dato}}
```

Ejemplos:

```text theme={null}
{{business.nombre_sucursal}}
{{business.link_catalogo}}
{{business.horario_soporte}}
```

Úsalas para datos que quieres mantener centralizados.

***

## Variables del sistema

| Variable                 | Uso común         |
| ------------------------ | ----------------- |
| `{{system.dia_actual}}`  | Día actual        |
| `{{system.hora_actual}}` | Hora actual       |
| `{{system.saludo}}`      | Saludo contextual |
| `{{system.fecha_corta}}` | Fecha corta       |
| `{{system.timestamp}}`   | Marca temporal    |

Ejemplo:

```text theme={null}
{{system.saludo}}, recibimos tu solicitud el {{system.fecha_corta}}.
```

***

## Variables de Meta Lead Ads

Cuando el trigger es `meta_lead_received`, puedes usar campos del formulario:

```text theme={null}
{{lead.field.full_name}}
{{lead.field.email}}
{{lead.field.company}}
{{lead.field.city}}
```

El nombre exacto depende de las preguntas del formulario.

<Tip>
  En automatizaciones de Meta Lead Ads, selecciona el formulario para que el builder pueda sugerir variables disponibles.
</Tip>

***

## Variables de agente asignado

Puedes usar datos del agente asignado:

| Variable                   | Qué representa    |
| -------------------------- | ----------------- |
| `{{agent.name}}`           | Nombre del agente |
| `{{agent.first_name}}`     | Primer nombre     |
| `{{agent.email}}`          | Email             |
| `{{agent.phone}}`          | Teléfono          |
| `{{agent.whatsapp_phone}}` | WhatsApp          |
| `{{agent.title}}`          | Cargo             |

Ejemplo:

```text theme={null}
Te atenderá {{agent.first_name}} del equipo comercial.
```

Si no hay agente asignado, esas variables pueden quedar vacías.

***

## Dónde usarlas

| Acción             | Uso                                      |
| ------------------ | ---------------------------------------- |
| `send_message`     | Personalizar texto                       |
| `send_template`    | Llenar variables de template             |
| `http_request`     | Enviar datos a otro sistema              |
| `update_contact`   | Mapear valores a campos del contacto     |
| `set_custom_field` | Guardar información calculada o recibida |

***

## Ejemplos

### Mensaje personalizado

```text theme={null}
Hola {{contact.first_name}}, recibimos tu solicitud. Te contactaremos hoy.
```

### Payload HTTP

```json theme={null}
{
  "name": "{{contact.name}}",
  "phone": "{{contact.phoneNumber}}",
  "source": "whaapy",
  "leadEmail": "{{lead.field.email}}"
}
```

### Actualizar contacto

```text theme={null}
{{lead.field.company}} -> company
{{lead.field.city}} -> city
{{lead.field.budget}} -> custom:presupuesto
```

***

## Buenas prácticas

* Usa el botón **Insertar variable** siempre que esté disponible.
* No asumas que todas las variables existen.
* Evita mensajes que se rompan si una variable viene vacía.
* Usa `update_contact` para guardar datos antes de depender de ellos en otros flujos.
* En HTTP requests, envía solo los campos que realmente necesita el sistema externo.

***

## Errores comunes

| Error                                    | Resultado                   | Mejor enfoque                            |
| ---------------------------------------- | --------------------------- | ---------------------------------------- |
| Escribir variable a mano con typo        | Valor vacío o inválido      | Usa Insertar variable                    |
| Depender de `agent.*` sin asignar agente | Mensaje incompleto          | Asigna agente antes o evita esa variable |
| Usar campo de lead que no existe         | Payload incompleto          | Selecciona formulario y revisa campos    |
| Meter datos sensibles en HTTP request    | Riesgo operativo            | Envía solo lo necesario                  |
| Usar variables en templates sin validar  | Template falla o se ve raro | Prueba antes de activar                  |

***

## Siguiente paso

Si trabajas con leads de Meta, sigue con [Meta Lead Ads](/guides/automations/meta-leads).
