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

# Variables Nativas

> Las variables nativas son variables que ya vienen preconfiguradas en Treble. Éstas te permiten acceder a información importante en tus flujos de conversación como el código de país del número de teléfono del cliente, el mensaje usado por tu cliente para iniciar un flujo de conversación inbound, o incluso el número de la semana actual. Aprende a usar las variables nativas para crear flujos de conversación personalizados.

<img src="https://mintcdn.com/trebleai/woBrUvSBPp-ldiW5/images/native-vars-1.png?fit=max&auto=format&n=woBrUvSBPp-ldiW5&q=85&s=81de188c69e2c385b396ed9034b19d23" alt="Variables nativas en Treble" width="2386" height="1456" data-path="images/native-vars-1.png" />

## ¿Qué son las variables nativas?

Las **variables nativas** en Treble son variables especiales que el sistema provee automáticamente en cada conversación. No necesitas definirlas ni pedirlas al usuario: siempre están disponibles y puedes usarlas directamente en nodos condicionales o para personalizar mensajes y rutas de tu flujo conversacional.

Estas variables permiten crear flujos inteligentes y personalizados, adaptando la experiencia del usuario según el contexto, la hora, el país, el día de la semana o el mensaje inicial con el que el usuario inicia la conversación.

> **Importante:** Las variables nativas se pueden usar directamente en bloques condicionales, sin necesidad de haberlas capturado previamente en el flujo.

## ¿Por qué son importantes?

* Permiten personalizar la experiencia del usuario de forma automática y dinámica.
* Facilitan la segmentación y el enrutamiento de conversaciones según contexto, horario, país, etc.
* Ayudan a crear flujos más inteligentes y adaptados a las necesidades de cada cliente.
* Reducen la necesidad de pedir información redundante al usuario.

## Variables nativas disponibles

A continuación, te explicamos cada variable nativa, cómo se usa y ejemplos de casos de uso:

### 1. Hora actual (`time`)

Esta variable almacena la **hora actual** (en formato 24 horas, GMT-0) en la que el usuario interactúa con el flujo. Es útil para crear flujos que dependan del horario, como atención fuera de horario laboral, promociones nocturnas, o mensajes personalizados según la hora del día.

```code theme={null}
{{time}}
```

> **Nota:** La hora está en GMT-0. Si tu negocio está en otra zona horaria (por ejemplo, Colombia GMT-5), debes ajustar la condición sumando o restando horas según corresponda. Puedes usar [este conversor de tiempo](https://savvytime.com/converter/utc) para calcular la hora local.

**Ejemplo de uso:**

* Redirigir a un agente solo en horario laboral:
  * Si `{{time}}` >= 13:00 y `{{time}}` \< 22:00, mostrar menú de atención.
  * Si no, mostrar mensaje de fuera de horario.

### 2. Día de la semana (`weekday`)

Esta variable indica el **día de la semana** en que el usuario interactúa con el flujo. El valor es un número entero donde **1 es lunes** y **7 es domingo**.

```code theme={null}
{{weekday}}
```

<Card title="Guía de configuración de horarios y tiempo" icon="clock" href="/es/docs/build-with-treble/guides/schedules-and-time-configuration">
  Aprende a configurar horarios y tiempo en Treble.
</Card>

**Ejemplo de uso:**

* Ofrecer promociones solo los fines de semana:
  * Si `{{weekday}}` >= 6, mostrar mensaje de promoción especial.
* Cambiar el flujo de soporte según el día:
  * Si `{{weekday}}` \<= 5, dirigir a soporte regular.
  * Si `{{weekday}}` >= 6, dirigir a soporte de fin de semana.

### 3. Código de país (`country_code`)

Esta variable contiene el **código de país** del número de teléfono del usuario. Es útil para personalizar mensajes, rutas o agentes según el país de origen del cliente. El formato es el siguiente: `+57`, `+55`, etc.

```code theme={null}
{{country_code}}
```

<img src="https://mintcdn.com/trebleai/woBrUvSBPp-ldiW5/images/native-vars-2.png?fit=max&auto=format&n=woBrUvSBPp-ldiW5&q=85&s=648b74ee78c0f411c73081cdb85da184" alt="Variable country_code" width="2384" height="1460" data-path="images/native-vars-2.png" />

**Ejemplo de uso:**

* Mostrar mensajes en el idioma local según el país:
  * Si `{{country_code}}` = +57, mostrar mensajes en español (Colombia).
  * Si `{{country_code}}` = +55, mostrar mensajes en portugués (Brasil).
* Asignar agentes especializados por país.

### 4. Mensaje inicial (`inbound`)

Esta variable almacena el **mensaje con el que el usuario inicia la conversación** (solo para flujos inbound). Permite personalizar la experiencia según la intención o palabra clave con la que el usuario contacta a tu empresa.

```code theme={null}
{{inbound}}
```

<img src="https://mintcdn.com/trebleai/woBrUvSBPp-ldiW5/images/native-vars-3.png?fit=max&auto=format&n=woBrUvSBPp-ldiW5&q=85&s=d421128bb35ce9d5ebd711c35f0c17f5" alt="Variable inbound" width="2390" height="1456" data-path="images/native-vars-3.png" />

**Ejemplo de uso:**

* Si el usuario inicia la conversación con "Soporte", dirigirlo directamente al flujo de soporte.
* Si el usuario escribe "Cotización", mostrar el menú de cotizaciones.

<inbound>
  <b>Tip:</b> Puedes usar la variable <code>{{inbound}}</code> en bloques condicionales para crear flujos inteligentes según la palabra clave con la que el usuario inicia la conversación.
</inbound>

#### Ejemplo de uso de la variable `inbound` con los Links de WhatsApp

Supongamos que tu empresa tiene varias campañas o canales de adquisición y quieres que, dependiendo del mensaje con el que el usuario inicia la conversación (usando un link de WhatsApp con mensaje predefinido), el usuario sea dirigido automáticamente a un flujo específico. Esto es posible gracias a la variable nativa `inbound`, que captura el mensaje inicial enviado por el usuario.

**Escenario:**

* Tienes tres campañas activas:
  1. **Campaña de Soporte**: El link de WhatsApp tiene el mensaje predefinido `Soporte`.
  2. **Campaña de Ventas**: El link de WhatsApp tiene el mensaje predefinido `Quiero comprar`.
  3. **Campaña de Feedback**: El link de WhatsApp tiene el mensaje predefinido `Dejar feedback`.

Cuando el usuario hace clic en uno de estos links y envía el mensaje, la variable `{{inbound}}` tomará exactamente ese valor. Puedes usar un **bloque condicional** al inicio del flujo para enrutar la conversación según el valor de `inbound`.

**Configuración del bloque condicional:**

* Si `{{inbound}}` es igual a `Soporte` → Redirigir al flujo de soporte.
* Si `{{inbound}}` es igual a `Quiero comprar` → Redirigir al flujo de ventas.
* Si `{{inbound}}` es igual a `Dejar feedback` → Redirigir al flujo de feedback.
* En cualquier otro caso → Mostrar un menú general o mensaje de bienvenida estándar.

```code theme={null}
Condición personalizada:
Variable: inbound
Operador: Igual a
Valor: Soporte → [Flujo de Soporte]
Valor: Quiero comprar → [Flujo de Ventas]
Valor: Dejar feedback → [Flujo de Feedback]
En todos los demás casos → [Menú general]
```

<Info>
  Puedes crear y gestionar los links de WhatsApp desde la sección <b>WhatsApp Links</b> en Treble, definiendo el mensaje predefinido que se usará como valor de <code>inbound</code>.
</Info>

**Diagrama de flujo simplificado:**

```mermaid theme={null}
graph TD;
    A[Usuario hace clic en link de WhatsApp] --> B[Envía mensaje predefinido]
    B --> C{Bloque condicional: ¿Cuál es el valor de inbound?}
    C -- Soporte --> D[Flujo de Soporte]
    C -- Quiero comprar --> E[Flujo de Ventas]
    C -- Dejar feedback --> F[Flujo de Feedback]
    C -- Otro --> G[Menú general]
```

**Ventajas de este enfoque:**

* Permite medir el rendimiento de cada canal o campaña usando métricas de WhatsApp Links.
* Automatiza la experiencia del usuario, llevándolo directamente al flujo relevante según su intención inicial.
* Facilita la personalización y el análisis de la adquisición de leads por canal.

<Check>
  ¡Listo! Así puedes usar la variable <code>inbound</code> junto con los Links de WhatsApp para crear un router inteligente de conversaciones en Treble.
</Check>

## Casos de uso avanzados

* **Horarios y días combinados:** Puedes combinar `{{time}}` y `{{weekday}}` para crear reglas como "solo mostrar promociones los viernes después de las 6pm".
* **Segmentación internacional:** Usa `{{country_code}}` para adaptar el idioma, moneda o agente según el país del usuario.
* **Automatización inbound:** Usa `{{inbound}}` para enrutar automáticamente a los usuarios según la intención detectada en su primer mensaje.

***

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Variables en Treble" icon="hashtag" href="/es/docs/build-with-treble/features/variables">
    Aprende a crear y usar variables personalizadas y recopiladas por el cliente.
  </Card>

  <Card title="Bloque condicional" icon="code" href="/es/docs/integrations/hubspot/blocks/conditional">
    Aprende a usar variables nativas en bloques condicionales.
  </Card>
</CardGroup>
