Schedules
Define recurring agent work in schedules.toml. Schedules run only while the agent is enabled and their bundle version is pinned.
Define a schedule
[[schedules]]
cron = "0 9 * * 1-5"
markdown = "Review open work and write a concise morning status."
timezone = "Europe/London"cron and markdown are required. timezone defaults to UTC. Consecutive occurrences must be at least one hour apart because Aleph evaluates schedules hourly.
An optional conversationId resumes a particular conversation. An optional deliverTo.bindingId targets a connected channel binding.
Choose delivery
Without deliverTo, a non-silent final answer posts only to the agent's Discord Schedule channel when one is configured. Aleph delivers the last model step from the harness run. Progress updates produced while the agent uses tools remain visible in the Aleph conversation but are not posted to the channel. Delivery does not fan out to Telegram or every binding.
To target a binding, select it in Aleph and use its binding ID. Discord schedule delivery still requires a Schedule channel. Silent results such as NO_REPLY are not posted.
Test before waiting
Publish the bundle, enable the version, then use Run now from the Schedules tab. Confirm the result and delivery status before relying on the recurring run.