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

# Message

> Variables - Message

La variable `Message` expone el último mensaje que envió el usuario y que activó tu flujo. Es ideal cuando necesitas reaccionar al texto, adjuntos o metadatos del mensaje entrante.

## Estructura del mensaje

El objeto cambia según el tipo de mensaje que recibas. A continuación encontrarás ejemplos reales devueltos por WhatsApp.

### Texto

```json theme={null}
{
  "type": "TEXT",
  "text": "Hola"
}
```

### Audio

> El audio se transcribe automáticamente cuando es posible. Recibirás tanto la URL del archivo como el texto reconocido.

```json theme={null}
{
  "type": "AUDIO",
  "mediaUrl": "https://cdn.jelou.ai/...mp3",
  "contentType": "mp3",
  "text": "Esto es un audio"
}
```

### Imagen

```json theme={null}
{
  "type": "IMAGE",
  "mediaUrl": "https://cdn.jelou.ai/....png",
  "caption": "Esto es una imagen",
  "width": 680,
  "height": 462,
  "length": 58137
}
```

### Video

```json theme={null}
{
  "type": "VIDEO",
  "mediaUrl": "https://cdn.jelou.ai/....mp4",
  "caption": "Esto es un video"
}
```

### Ubicación

```json theme={null}
{
  "type": "LOCATION",
  "lat": "-2.1646540164948",
  "lng": "-79.895797729492",
  "url": "http://maps.google.com/maps..."
}
```

### Archivo

```json theme={null}
{
  "type": "FILE",
  "mediaUrl": "https://cdn.jelou.ai/...",
  "mimeType": "application/pdf",
  "caption": "Esto es un archivo"
}
```

## Acceder al último mensaje

Puedes acceder al mensaje desde cualquier nodo con la sintaxis `{{$message.propiedad}}`:

* `{{$message.type}}` indica el tipo (`TEXT`, `IMAGE`, `AUDIO`, etc.).
* `{{$message.text}}` devuelve el contenido del mensaje para tipos `TEXT` y la transcripción de `AUDIO`.
* `{{$message.mediaUrl}}` expone la URL del archivo adjunto (imagen, audio, video o documento).
* `{{$message.caption}}` muestra el texto adicional enviado junto al archivo.
* `{{$message.lat}}` y `{{$message.lng}}` entregan las coordenadas cuando el tipo es `LOCATION`.

## Message en nodos de código

Dentro de un nodo de código accede a cada propiedad con `$message.get('propiedad')`:

```js theme={null}
const primerMensaje = $message.get('text')
const tipoMensaje = $message.get('type')
const urlAdjunto = $message.get('mediaUrl')
```

<Info>
  `Message` siempre muestra el mensaje más reciente que el usuario haya enviado. Si es la primera vez que el usuario escribe, ese primer mensaje también será considerado el “último mensaje”.
</Info>
