Cron & Automation
Schedule recurring tasks, set reminders, automate reports, and wake agents on a schedule.
Cron & Automation
Reeve includes a built-in scheduler that lets you automate recurring tasks — morning briefings, weekly reports, metric checks, and reminders. Think of it as "when to run" + "what to do."
What You Can Automate
| Use Case | Example |
|---|---|
| Morning briefing | Summarize inbox and calendar every day at 7am |
| Weekly reports | Generate revenue or marketing reports every Monday |
| Metric monitoring | Check ad performance every 4 hours |
| Reminders | One-time reminder to follow up on a task |
| Content scheduling | Post social content on a schedule |
| Data syncs | Pull fresh data from connected platforms daily |
Schedule Types
Three ways to schedule:
| Type | When to Use | Example |
|---|---|---|
One-shot (at) | Single future event | Reminder at 3pm tomorrow |
Interval (every) | Fixed recurring interval | Every 4 hours |
Cron expression (cron) | Calendar-based schedule | Weekdays at 9am |
How It Works
Main Session Jobs
Run during the agent's regular heartbeat cycle. Best for tasks that benefit from the agent's full conversation context.
reeve cron add \
--name "Calendar check" \
--at "20m" \
--session main \
--system-event "Check calendar for upcoming meetings." \
--wake nowIsolated Jobs
Run in a dedicated session — separate from your main conversation. Best for background tasks that shouldn't clutter your chat history.
reeve cron add \
--name "Morning status" \
--cron "0 7 * * *" \
--tz "America/Los_Angeles" \
--session isolated \
--message "Summarize inbox + calendar for today." \
--deliver \
--channel whatsapp \
--to "+15551234567"Isolated jobs can deliver their output to any connected channel — WhatsApp, Slack, Telegram, Discord, and more.
Common Recipes
Daily Morning Briefing
reeve cron add \
--name "Morning briefing" \
--cron "0 7 * * 1-5" \
--tz "America/New_York" \
--session isolated \
--message "Good morning briefing: summarize calendar, email inbox, and key metrics for today." \
--deliver \
--channel slack \
--to "channel:general"Weekly Revenue Report
reeve cron add \
--name "Weekly revenue" \
--cron "0 9 * * 1" \
--tz "America/New_York" \
--session isolated \
--message "Generate a weekly revenue report: MRR, new subs, churn, and trends." \
--deliver \
--channel slack \
--to "channel:finance"One-Shot Reminder
reeve cron add \
--name "Follow up with client" \
--at "2026-03-10T15:00:00Z" \
--session main \
--system-event "Reminder: follow up with Acme Corp about the proposal." \
--wake now \
--delete-after-runDelivery Channels
Isolated jobs can deliver output to any connected channel:
| Channel | Target Format |
|---|---|
| Slack | channel:C12345 or user:U12345 |
+15551234567 | |
| Telegram | -1001234567890 or -1001234567890:topic:123 |
| Discord | channel:123456789 |
| iMessage | Phone number or email |
Use --channel last to deliver to wherever the agent last responded.
Managing Jobs
# List all scheduled jobs
reeve cron list
# View job details and run history
reeve cron status <jobId>
# Edit an existing job
reeve cron edit <jobId> --message "Updated prompt"
# View run history
reeve cron runs --id <jobId> --limit 10
# Manually trigger a job (for testing)
reeve cron run <jobId> --force
# Delete a job
reeve cron remove <jobId>Model Overrides
Isolated jobs can use a different model than your default — useful for cost optimization or when a task needs more capable reasoning:
reeve cron add \
--name "Deep analysis" \
--cron "0 6 * * 1" \
--session isolated \
--message "Weekly deep analysis of project progress." \
--model "opus" \
--thinking highCron vs Heartbeat
| Feature | Cron | Heartbeat |
|---|---|---|
| When | On a schedule you define | Fixed interval while gateway runs |
| Context | Isolated or main session | Always main session |
| Output | Can deliver to any channel | Stays in main session |
| Use case | Scheduled tasks, reports, reminders | Regular background checks |
See Cron vs Heartbeat for a deeper comparison.
Cron jobs persist across gateway restarts — schedules are stored in ~/.reeve/cron/ and resume automatically. For the full technical reference, see Cron Jobs (Gateway Scheduler).