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. See Conversation modes for what each mode gives up. - 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:conversation_mode or conversation_id on a task or workflow target is a validation
error, not a default — the fields exist only for agent targets.
Conversation modes
conversation_mode decides whether each occurrence gets a hosted conversation. It is a durability
and observability choice, not a correctness one — a delegating agent works under any mode.
create_new stays the recommendation for recurring schedules because it is what makes a past run
inspectable in Studio. Under none you still get the run and its events, but no conversation to
open.
Authoring the same thing from source uses the camelCase spelling on the target, with the run prompt
in agentMessage:
veryfront 0.1.1239 or later. Earlier versions reject both conversationMode on the
target and agentMessage, and the schedule file fails to load.
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.