Automation
Cron jobs, morning briefings, email triage, and the nightly extraction that makes memory work.
A cron job in OpenClaw is a scheduled automation that triggers a specific agent task or shell command at defined time intervals based on the automation.cron configuration.
The operating schedule
1:00am — Nightly memory extraction
Review the day's conversations. Extract durable facts. Update daily notes. Refresh MEMORY.md if new patterns observed.
8:00am — Morning briefing
Surface the day's priorities, calendar events, pending items, and suggested focus. One tight message, no walls of text.
9:00am, 1:00pm, 6:00pm — Email triage
Brief summary: N emails, action needed, FYI, ignored.
Adding a cron job
openclaw cron add "CRON_EXPRESSION" "PROMPT"
List crons:
openclaw cron list
Delete a cron:
openclaw cron delete CRON_ID
The morning briefing cron
openclaw cron add "0 8 * * *" "Good morning. Review my calendar for today and tomorrow. Check MEMORY.md for any open items from recent sessions. Check APPROVAL_QUEUE.md for anything pending. Send Sam a morning briefing: today's calendar, top 3 priorities, any pending approvals. Keep it tight — max 5 bullet points total."
The nightly memory extraction cron
openclaw cron add "0 1 * * *" "Nightly memory extraction. Review today's conversations. Extract durable facts: decisions made, preferences noted, project status changes, people mentioned, lessons learned. Update memory/$(date +%Y-%m-%d).md using the daily notes template. If you notice new patterns about how Sam works, update MEMORY.md. Skip small talk and transient requests. Be brief."
Email triage cron (requires Google Workspace)
openclaw cron add "0 9,13,18 * * *" "Email triage. Check inbox. Categorise each email: ACTION NEEDED (requires Sam's attention), FYI (interesting but no action), IGNORED (marketing, newsletters, automated). Send Sam a brief summary: total count, how many in each category, and the subject line + one-sentence summary of anything ACTION NEEDED. Don't send the full emails — just the triage."
Cron expression cheat sheet
| Expression | Meaning |
|---|---|
0 1 * * * |
Every day at 1:00am |
0 8 * * * |
Every day at 8:00am |
0 9,13,18 * * * |
Daily at 9am, 1pm, 6pm |
0 8 * * 1-5 |
Weekdays at 8am |
0 */4 * * * |
Every 4 hours |
@daily |
Alias for 0 0 * * * |
Model choice for cron jobs
Use Haiku or Gemini Flash for background crons — roughly 100x cheaper than Sonnet. Only use Sonnet when the cron requires complex reasoning (like a weekly strategy review).
In your cron prompt, you can specify the model:
openclaw cron add "0 1 * * *" --model anthropic/claude-haiku-4-5-20251001 "..."
Debugging failing crons
Check cron logs:
openclaw cron logs CRON_ID
Common causes:
- Gateway not running when cron fires
- Tool permissions not enabled (exec/write needed for most crons)
- API key missing or expired
- Prompt too vague — cron does nothing because it doesn't know what to do
Questions & Suggestions
Have a question about this page? Spotted something wrong? Want to suggest an improvement? We read everything and respond to all paid-tier questions.