# OpenWAF Tasks

> Trabajos programados en los que un script o un agente de IA actúa en la web con OpenWAF Browsers, con aprobación humana de la acción exacta antes de escribir.

OpenWAF Tasks ejecuta trabajos programados en la web. Una tarea es un **script** (tu JavaScript, con la API de Playwright) o un **agente** (nuestro bucle de agente, con el modelo que elijas). Navega con un Chrome declarado de [OpenWAF Browsers](https://developers.openwaf.dev/es/browsers/), llama a su modelo a través de [OpenWAF Egress](https://developers.openwaf.dev/es/egress/), y todo lo que escribiría en un sitio (publicar, enviar, borrar) espera a que una persona apruebe antes **la acción exacta**.

## Estado

**Beta pública, gratis dentro de la cuota, sujeta a aprobación.** Un operador activa OpenWAF Tasks para cada organización. Durante la beta es gratis dentro de la [cuota](https://developers.openwaf.dev/es/tasks/limits/): 200 ejecuciones al mes, 5 tareas y 1 ejecución a la vez. El tiempo de navegador cuenta en tu [cuota de Browsers](https://developers.openwaf.dev/es/browsers/limits/). Todavía no hay plan de pago. Mira [cómo pedir acceso](#get-access).

## Qué hace una tarea

- **Se ejecuta según un calendario**: un cron de 5 campos con zona horaria (como mucho cada 15 minutos), una vez a una hora dada o a mano.
- **Lee libremente y solo escribe con aprobación.** Mientras la tarea prepara, el navegador es de solo lectura: falla toda petición que no sea `GET`, `HEAD` u `OPTIONS`. Para escribir, la tarea propone una acción, una lista tipada de pasos de navegador. Una persona ve el resumen, el destino, los pasos y una captura, y aprueba esa lista exacta. Mira [aprobaciones](https://developers.openwaf.dev/es/tasks/approvals/).
- **Se queda en sus dominios.** Cada tarea enumera los dominios que puede visitar (`example.com`, `*.example.com`); el navegador no va a ningún otro.
- **Deja constancia.** Cada ejecución guarda sus registros, capturas, salida, una grabación si la pides, las peticiones que bloqueó la guardia de solo lectura y las llamadas al modelo de un agente.
- **Va declarada, no disfrazada.** El navegador es un Chrome real que firma sus peticiones con [Web Bot Auth](https://developers.openwaf.dev/es/browsers/web-bot-auth/), sin falsear la huella, sin proxies residenciales y sin resolver CAPTCHAs. Mira [qué no es OpenWAF Browsers](https://developers.openwaf.dev/es/browsers/what-it-is-not/).

Encaja bien en: comprobaciones de calidad programadas de tus páginas públicas, publicaciones o envíos de formularios que quieres revisar antes de que salgan, e investigación con un agente que termina en un informe.

## Cómo funciona

```text
calendario / ejecutar ahora
        ▼
 preparar (navegador de solo lectura) ── script o agente
        ▼                                 └─ modelo vía OpenWAF Egress
 propuesta: resumen, destino, pasos, captura
        ▼
 una persona aprueba los pasos exactos (payload_sha256)
        ▼
 actuar: el runner repite solo esos pasos
        ▼
 resultado, captura final, webhook
```

1. A la hora programada la ejecución empieza en un navegador nuevo de la clave de navegador de la tarea, con su perfil si lo tiene.
2. Tu script o el agente trabaja en un sandbox sin red y sin secretos. Solo llega al navegador y al modelo a través del runner.
3. Si quiere escribir, propone una acción. La ejecución espera en `awaiting_approval`; mientras tanto el navegador está cerrado.
4. Cuando alguien aprueba, un navegador nuevo con el mismo perfil repite los pasos aprobados. En esta fase no se ejecuta ni tu código ni el modelo.

Las tareas, ejecuciones y aprobaciones se gestionan desde el panel (**Tareas**), la [API](https://developers.openwaf.dev/es/tasks/reference/#api), la [CLI](https://developers.openwaf.dev/es/tasks/reference/#cli) o el [servidor MCP](https://developers.openwaf.dev/es/tasks/reference/#mcp-tools). La bandeja de aprobaciones funciona en el móvil.

## Pedir acceso

1. Tu organización necesita [OpenWAF Browsers](https://developers.openwaf.dev/es/browsers/#get-access) aprobado y al menos una clave de navegador. Una tarea `agent` necesita además [OpenWAF Egress](https://developers.openwaf.dev/es/egress/cloud/get-started/) con una credencial en el destino que usará el agente.
2. Todos los propietarios y administradores de la organización necesitan el correo verificado y la [verificación en dos pasos](https://developers.openwaf.dev/es/fundamentals/account-security/).
3. Escribe a support@openwaf.dev con el id de tu organización o usa **Solicitar acceso** en **Tareas** del panel. Lo revisa un operador.


Hasta entonces, `GET /v1/orgs/{org}/tasks` responde con `"enabled": false` y los requisitos, y las escrituras responden `403 feature_disabled`.

## Siguientes pasos

- [Inicio rápido: script](https://developers.openwaf.dev/es/tasks/quickstart-script/): un script programado que revisa una página y propone enviar un formulario.
- [Inicio rápido: agente](https://developers.openwaf.dev/es/tasks/quickstart-agent/): dale a un agente un objetivo, un modelo y un límite de pasos.
- [Aprobaciones](https://developers.openwaf.dev/es/tasks/approvals/): la guardia de solo lectura, los pasos, el hash y el webhook.
- [Límites y cuotas](https://developers.openwaf.dev/es/tasks/limits/): ejecuciones, tareas, concurrencia, límites por dominio y retención.
- [Modelo de seguridad](https://developers.openwaf.dev/es/tasks/security/): el sandbox, el token del modelo y la inyección de prompts.
- [Referencia de la API](https://developers.openwaf.dev/es/tasks/reference/): rutas, JSON, CLI y herramientas MCP.
