Build It

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.

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 values

Per-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})
inforoutine_list currently returns -32603 (known broken). Use routine_describe with a known routineId as a workaround.

Further reading

Was this page helpful?
Tip gems chevron_right