Agent-facing flow
- Inspect existing agents with
list_agentsand existing schedules withlist_schedules. - If the target agent does not exist, follow Create an agent first, then return to this flow in the same run.
- Collect only missing schedule requirements. Required fields are the agent ID, schedule expression, timezone, and run prompt.
- If an active schedule already targets the same agent, reuse it unless the user asked to change the cadence, timezone, or prompt; use
update_scheduleonly for that change branch. - Otherwise create a schedule resource whose target is the agent using
create_schedule. - Verify the schedule creation result or read the schedule back with
list_schedules.
Guardrails
- Use
conversation_mode: "create_new"for recurring autonomous agent schedules unless the user explicitly asks to reuse an existing conversation. - Do not create duplicate schedules for the same target agent and cadence.
- Do not emit progress-only assistant text between
create_agentandcreate_schedule. Aftercreate_agentsucceeds, the next assistant action must be thecreate_scheduletool call unless no schedule creation surface exists.
Schedule target
Agent schedules use a typed schedule target. The target is the agent itself, not a wrapper task or workflow:Tool selection
- Use
list_agentsbefore creating or choosing the target agent. - Use
list_schedulesbeforecreate_scheduleand again when verification needs a follow-up read. - Use
create_schedulefor new schedules. - Use
update_scheduleonly when a matching schedule already exists and the user asked to change it.
Example pattern
Uselist_agents, list_schedules, then create_schedule for scheduling agents.
When the target agent had to be created first, use the created agent ID as target.id and call create_schedule before any status or final response.