Schedule a routine
Cron-scheduled skill.invoke. Max 4 fires per 24 hours. routine_describe previews.
Cron-scheduled skill.invoke. Max 4 fires per 24 hours. routine_describe previews the next fire times before you commit.
Create a routine
API call
routine_create({
name: "Morning brief",
cron: "0 7 * * 1-5",
tz: "America/New_York",
skillId: "<activated skill>",
childId: "<kid>",
skillInput: {greeting: "Good morning!"}
})
# Returns: { routineId: "...", nextFire: "2026-05-19T07:00:00-04:00" }Cron syntax
Standard 5-field cron: minute hour day-of-month month day-of-week.
0 7 * * 1-5: 7:00am weekdays0 20 * * 0: 8:00pm Sundays30 16 * * *: 4:30pm daily
Maximum 4 fires per 24 hours. Tighter schedules are rejected with a cadence error. Timezone defaults to America/New_York; pass tz to override.
Preview with routine_describe
Code
routine_describe({routineId: "..."})
# Returns: next 5 fire times, linked skill, skillInput valuesPer-fire input
skillInput fills the skill's {{input.X}} placeholders at each fire. Activation-time args set defaults; skillInput overrides per-fire.
Update or disable
Shell
# Change schedule
routine_update({routineId: "...", cron: "0 8 * * 1-5"})
# Disable (keeps config, stops firing)
routine_update({routineId: "...", enabled: false})routine_list currently returns -32603 (known broken). Use routine_describe with a known routineId as a workaround.
Further reading
Was this page helpful?
Tip gems