# Enviar mensaje

> Envía un mensaje a un agente e imprime su respuesta.

Fuente: https://developers.plazbot.com/cli/agent/message/

### Enviar un mensaje

Envía un solo mensaje a un agente e imprime la respuesta. Es la alternativa no interactiva a [`chat`](https://developers.plazbot.com/cli/agent/chat), pensada para scripts, pruebas automatizadas y CI.

```bash
plazbot agent message <agentId> -q "<text>" [options]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| `agentId` | (posicional) | Sí | ID del agente. |
| Pregunta | `-q, --question <text>` | Sí | Mensaje o pregunta para el agente. No puede estar vacío. |
| Sesión | `-s, --session-id <id>` | No | ID de sesión para continuar una conversación. Por defecto: un ID aleatorio nuevo. |
| Varias respuestas | `-m, --multiple-answers` | No | Permite que el agente envíe varias respuestas por turno. Por defecto: `false`. |
| JSON | `--json` | No | Imprime la respuesta como JSON (`{"answer","sessionId","sources"}`). Por defecto: `false`. |

### Ejemplos

```bash
# Enviar una pregunta
plazbot agent message age_AbcDef123 -q "¿Qué planes ofrecen?"

# Continuar una sesión existente
plazbot agent message age_AbcDef123 -q "¿Y el precio?" -s 3f2a9c1e-7b4d-4e8a-9c2f-1a2b3c4d5e6f

# Obtener solo el texto de la respuesta (scripts)
plazbot agent message age_AbcDef123 -q "Hola" --json | jq -r '.answer'

# Guardar la sesión y reutilizarla en el siguiente mensaje
SESSION=$(plazbot agent message age_AbcDef123 -q "Hola" --json | jq -r '.sessionId')
plazbot agent message age_AbcDef123 -q "Quiero el plan Pro" -s "$SESSION"
```

### Resultado

```text
Answer
────────────────────────────────────────
Tenemos tres planes: Básico, Pro y Enterprise...

Sources
────────────────────────────────────────
Title: Catálogo 2026
URL: https://files.example.com/catalogo.pdf

Session: 3f2a9c1e-7b4d-4e8a-9c2f-1a2b3c4d5e6f
Continue it with: plazbot agent message age_AbcDef123 -s 3f2a9c1e-7b4d-4e8a-9c2f-1a2b3c4d5e6f -q "..."
```

### Salida JSON

```json
{
"answer": "Tenemos tres planes: Básico, Pro y Enterprise...",
"sessionId": "3f2a9c1e-7b4d-4e8a-9c2f-1a2b3c4d5e6f",
"sources": [
  { "title": "Catálogo 2026", "url": "https://files.example.com/catalogo.pdf" }
]
}
```

`sources` solo aparece cuando la respuesta tiene fuentes; `title` y `url` pueden ser `null`.

> **Nota:** Cada llamada sin `-s` inicia una conversación nueva. Reutiliza el `sessionId` impreso para mantener el contexto.

### Errores comunes

| Mensaje | Causa | Solución |
|---------|-------|----------|
| `error: required option '-q, --question <text>' not specified` | Falta `-q`. | Pasa la pregunta con `-q "<texto>"`. |
| `The question cannot be empty.` | `-q` vacío o solo espacios. | Escribe un mensaje. |
| `Resource not found.` | El ID no existe en el workspace activo. | Revisa el ID con `plazbot agent list`. |
| `You are not signed in.` | No hay sesión activa. | Ejecuta [`plazbot login`](https://developers.plazbot.com/cli/login). |
