# Listar plantillas

> plazbot templates list: plantillas de WhatsApp del workspace con su estado en Meta.

Fuente: https://developers.plazbot.com/cli/templates/list/

### Listar plantillas

Muestra las plantillas de WhatsApp del workspace con su categoría, idioma y estado de aprobación en Meta. Puedes filtrar por nombre. También funciona como `plazbot template list`.

```bash
plazbot templates list [options]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| Búsqueda | `-s, --search <text>` | No | Filtra por nombre de la plantilla. |
| Límite | `--limit <n>` | No | Se detiene al llegar a N plantillas (páginas completas de la API). Por defecto `50`. |
| Cursor | `--cursor <token>` | No | Continúa desde el `nextCursor` de una llamada anterior. |
| Todas | `--all` | No | Trae todas las páginas, hasta 5000 plantillas (ignora `--limit`). |
| Workspace | `-w, --workspace <id>` | No | Workspace a consultar. Por defecto, el activo. |
| Zona | `-z, --zone <zone>` | No | `LA` o `EU`. Por defecto, la zona activa. |
| JSON | `--json` | No | Imprime `{ "data": [...], "nextCursor": ... }`. |

La paginación y la salida JSON siguen las mismas reglas en todos los listados: ver [Scripting y agentes de IA](https://developers.plazbot.com/cli/ia/scripting).

### Ejemplos

```bash
# Listar las plantillas
plazbot templates list

# Buscar por nombre, en JSON
plazbot templates list -s bienvenida --json

# Solo los nombres de las plantillas aprobadas
plazbot templates list --all --json | jq -r '.data[] | select(.statusTemplateId == 2) | .elementName'
```

### Resultado

```text
Templates (2)
────────────────────────────────────────
┌────────────────────────────┬──────────────────┬───────────┬──────────┬──────────┬──────────────────┐
│ ID                         │ Name             │ Category  │ Language │ Status   │ Created          │
├────────────────────────────┼──────────────────┼───────────┼──────────┼──────────┼──────────────────┤
│ tem_AbcDef123              │ bienvenida       │ MARKETING │ es       │ approved │ 2026-08-29 01:20 │
├────────────────────────────┼──────────────────┼───────────┼──────────┼──────────┼──────────────────┤
│ tem_GhiJkl456              │ recordatorio_cita│ UTILITY   │ es       │ pending  │ 2026-10-02 14:05 │
└────────────────────────────┴──────────────────┴───────────┴──────────┴──────────┴──────────────────┘
```

| Columna | Descripción |
|---------|-------------|
| ID | ID de la plantilla (`tem_...`). Úsalo con [`templates get`](https://developers.plazbot.com/cli/templates/get). |
| Name | Nombre de la plantilla en Meta (`elementName`). Es el que usa [`whatsapp send-template`](https://developers.plazbot.com/whatsapp/cli/send-template). |
| Category | `MARKETING`, `UTILITY` o `AUTHENTICATION`. |
| Language | Código de idioma. |
| Status | Estado de aprobación en Meta (ver tabla). |
| Created | Fecha de creación (UTC). |

El estado sale del campo `statusTemplateId`:

| `statusTemplateId` | Status |
|--------------------|--------|
| `1` | `pending`: en revisión de Meta |
| `2` | `approved`: lista para enviarse |
| `3` | `rejected`: rechazada (el motivo está en `rejectedReason`) |
| `4` | `paused`: pausada por Meta por baja calidad |
| `5` | `disabled`: desactivada |

Si hay más páginas, debajo de la tabla se indica que puedes usar `--all` o `--json` con `--cursor`.

### Salida JSON

```json
{
"data": [
  {
    "id": "tem_AbcDef123",
    "workspaceId": "wok_AbcDef123",
    "elementName": "bienvenida",
    "languageCode": "es",
    "category": "MARKETING",
    "templateType": "TEXT",
    "statusTemplateId": 2,
    "rejectedReason": "",
    "isActive": 1,
    "creationDate": "2026-08-29T01:20:14.304Z",
    "components": [
      {
        "type": "BODY",
        "text": "Hola {{1}},\nGracias por comunicarte con nosotros.",
        "buttons": [],
        "variables": [
          { "variable": "1", "replaceWith": "CONTACT_NAME", "example": "Ana" }
        ]
      }
    ]
  }
],
"nextCursor": null
}
```

Cada elemento es el documento completo de la plantilla, con sus componentes y variables.

### Errores comunes

| Mensaje | Causa | Solución |
|---------|-------|----------|
| `You are not signed in.` | No hay sesión | Ejecuta [`plazbot login`](https://developers.plazbot.com/cli/login) |
| `Invalid --limit "..."` | `--limit` no es un entero positivo | Usa un número, por ejemplo `--limit 100`, o `--all` |
| `Invalid zone "..."` | `-z` no es `LA` ni `EU` | Usa `-z LA` o `-z EU` |
