Un scheduled deployment (despliegue programado) permite que un agente inicie sesiones de forma autónoma, lo que permite completar tareas con una cadencia predecible. Creas y administras despliegues con la Deployments API, parte de la API de Claude.
Para conocer el contexto del lanzamiento y ejemplos de lo que los equipos ejecutan de forma programada, consulta despliegues programados y vaults en Claude Managed Agents en el blog.
Todas las solicitudes de la Managed Agents API requieren el encabezado beta managed-agents-2026-04-01. El SDK establece el encabezado beta automáticamente.
Al crear un despliegue, pasas las configuraciones de sesión requeridas para la ejecución, además de un schedule.
user.message o user.define_outcome, que inicia el trabajo de cada sesión.schedule, defines una expression cron y una timezone. La granularidad máxima admitida es a nivel de minuto.DEPLOYMENT_ID=$(ant beta:deployments create <<YAML | jq -er '.id'
name: Weekly compliance scan
agent: $AGENT_ID
environment_id: $ENVIRONMENT_ID
initial_events:
- type: user.message
content:
- type: text
text: Run the weekly compliance scan.
schedule:
type: cron
expression: "0 20 * * 5"
timezone: America/New_York
YAML
)La respuesta incluye un objeto de despliegue con un schedule.upcoming_runs_at poblado con los próximos horarios de activación, para confirmar que tu programación se configuró correctamente.
{
"id": "depl_01xyz",
"status": "active",
"paused_reason": null,
"schedule": {
"type": "cron",
"expression": "0 20 * * 5",
"timezone": "America/New_York",
"last_run_at": null,
"upcoming_runs_at": [
"2026-05-09T00:00:00Z",
"2026-05-16T00:00:00Z",
"2026-05-23T00:00:00Z"
]
}
}Las marcas de tiempo de las próximas ejecuciones reflejan la programación exacta configurada. Sin embargo, para distribuir la carga, la ejecución real aplica un jitter de hasta el 15% del intervalo entre ejecuciones, con un mínimo de 5 segundos y un máximo de 9 minutos.
Se admite un máximo de 1,000 despliegues programados por organización. Contacta al soporte de Anthropic si necesitas más.
Consulta la referencia de Create Deployment para ver los parámetros completos y el esquema de respuesta.
minute hour day-of-month month day-of-week). Puedes generar y validar estas expresiones cron en la Claude Console."America/Los_Angeles")."0 20 * * *" en America/New_York se activa a las 8 PM hora local independientemente de si está vigente EST o EDT.Las horas de reloj que no existen en un día de adelanto de horario (como las 2 AM) no se activan. Las horas de reloj que ocurren dos veces en un día de retroceso de horario se activan dos veces. Programa fuera de la ventana local de 1–3 AM, o usa UTC, cuando las ejecuciones perdidas o duplicadas sean inaceptables.
Los despliegues pueden fallar al activarse por diversas razones: por ejemplo, si el recurso environment ha sido archivado, o si la creación de sesiones está limitada por velocidad. Cada intento de ejecutar un despliegue genera un registro de deployment run (ejecución de despliegue), lo que te permite rastrear éxitos y fallos independientemente del ciclo de vida de la sesión.
Los despliegues exitosos generan sesiones activas, y una ejecución de despliegue exitosa contiene el session_id asociado. Para seguir el ciclo de vida de una sesión, rastrea los eventos de la sesión a través del flujo de eventos o los webhooks. Los cambios en el ciclo de vida del despliegue y el resultado de cada ejecución programada también se entregan como eventos de webhook, listados en las pestañas Deployment events y Deployment run events de Tipos de eventos admitidos.
Lista todas las ejecuciones de despliegue de un despliegue de la siguiente manera:
ant beta:deployment-runs list --deployment-id "$DEPLOYMENT_ID"Adicionalmente, puedes filtrar las ejecuciones de despliegue con errores:
ant beta:deployment-runs list --deployment-id "$DEPLOYMENT_ID" --has-errorUna ejecución fallida incluye un error con un type que describe por qué se rechazó la creación de la sesión (por ejemplo, environment_archived_error, agent_archived_error o session_rate_limited_error). Consulta la referencia de List Deployment Runs para ver todos los parámetros de filtro y el esquema de respuesta.
{
"type": "deployment_run",
"id": "drun_01abc124",
"deployment_id": "depl_01xyz",
"trigger_context": { "type": "schedule", "scheduled_at": "2026-05-09T00:00:00Z" },
"session_id": null,
"error": {
"type": "environment_archived_error",
"message": "environment `env_01abc` is archived"
},
"agent": { "type": "agent", "id": "agent_01ghi789", "version": 3 },
"created_at": "2026-05-09T00:00:01Z"
}Para recuperar una sola ejecución por ID, llama a GET /v1/deployment_runs/{deployment_run_id}. Un evento de webhook deployment_run lleva el ID de la ejecución como su data.id.
Cada cambio en el ciclo de vida emite un evento de webhook, por lo que puedes reaccionar a un despliegue pausado, reanudado o archivado sin hacer polling; consulta la pestaña Deployment events.
Pause suprime los activadores programados de ahora en adelante; las sesiones en ejecución de una ejecución de despliegue anterior continúan ejecutándose. Las ejecuciones manuales a través del endpoint run siguen permitidas mientras está pausado. Pausar establece paused_reason en {"type": "manual"}; reanudar lo borra.
ant beta:deployments pause --deployment-id "$DEPLOYMENT_ID"Unpause reanuda la programación desde la siguiente ocurrencia programada. Los activadores perdidos no se recuperan retroactivamente.
ant beta:deployments unpause --deployment-id "$DEPLOYMENT_ID"Archive, a diferencia de pause, es terminal: la programación termina y el despliegue no se puede modificar.
ant beta:deployments archive --deployment-id "$DEPLOYMENT_ID"Las respuestas de límite de velocidad en la creación de sesiones se registran inmediatamente como una ejecución session_rate_limited_error sin reintento; la programación lo intenta de nuevo en la siguiente ocurrencia programada. Los límites de velocidad en las llamadas a la API subyacentes dentro de una sesión son manejados por la propia sesión.
Si el agente de un despliegue ha sido archivado, el despliegue se archiva automáticamente en la misma operación. Si el agente ha sido eliminado, el siguiente activador programado detecta el agente faltante y archiva automáticamente el despliegue. En ambos casos no se registra ninguna ejecución de despliegue. Si un subagente referenciado por el agente ha sido archivado, el siguiente activador registra una ejecución fallida con error.type: "agent_archived_error" y el despliegue se pausa automáticamente para que puedas actualizar el agente y reanudar. Otros errores irrecuperables en la creación de sesiones, como un entorno o vault archivado, se comportan de la misma manera: el activador registra una ejecución fallida y el despliegue se pausa automáticamente. El paused_reason.error.type del despliegue refleja el error.type de la ejecución fallida.
Para ejecutar un despliegue fuera de su programación, llama al endpoint run. Esto crea una sesión inmediatamente y escribe una ejecución de despliegue con trigger_context.type: "manual". Esto te permite probar un despliegue antes de comprometerte con la programación.
ant beta:deployments run --deployment-id "$DEPLOYMENT_ID"Was this page helpful?