← AgentAwake
Chapter 9 · 10 min read
𝕏

4 Cron Job Recipes

Set it and forget it (like a slow cooker, but for productivity)

Chapter 5 gave you the theory. Chapter 8 gave you the four essential crons. This chapter goes further — 12 battle-tested cron recipes for specific use cases. Find the ones that match your workflow, copy them, and customize.

🍕 Real-life analogy
Think of each cron job as a specific employee with a specific shift:

☀️ Morning Briefing — The executive assistant who puts a summary on your desk before you arrive
📡 Social Monitor — The social media intern who watches mentions all day
💰 Revenue Tracker — The finance person who hands you a report every Monday
🌙 Nightly Consolidation — The night janitor who organizes everything after hours
🔍 Competitor Watch — The analyst who tracks what your competitors are doing
📧 Email Digest — The secretary who sorts your mail and flags what matters

Recipe 1: ☀️ Morning Briefing (Daily)

Your agent's most visible output. This is the thing that makes you say "wow, this actually works" every morning.

terminal
openclaw cron add \
  --name "Morning Brief" \
  --cron "0 8 * * *" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Morning briefing time. Do the following in order:

1. Read yesterday's daily note for continuity
2. Check email inbox — summarize anything urgent (skip newsletters)
3. Review calendar for next 24 hours
4. Check project statuses (read knowledge/projects/*.md)
5. Check overnight social mentions
6. Check weather forecast

Compile into a brief with these sections:
- 🔥 Urgent (needs attention NOW)
- 📅 Today's Calendar
- 📊 Project Status (one line each)
- 📱 Social (notable mentions only)
- 🌤️ Weather (one line)
- 🎯 Suggested priorities for today

Keep the whole thing under 25 lines. 
Be opinionated about priorities." \
  --model "sonnet" --announce \
  --channel discord --to "channel:YOUR_ID"
💡 Why 'Be opinionated about priorities' matters
Without this instruction, your agent will just list everything neutrally. With it, the agent will say things like "I'd skip the LinkedIn post today and focus on fixing the auth bug — that's blocking the launch." That's the difference between a summary and an assistant.
Agent thinking...

Recipe 2: 📡 Social Monitor (Every 4 Hours)

terminal
openclaw cron add \
  --name "Social Monitor" \
  --cron "0 8,12,16,20 * * *" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Social media check:

1. Check Twitter/X mentions and replies since last check
2. Check DMs for anything unread
3. Note engagement metrics on posts from last 24h

Actions:
- Like genuine compliments and thank-yous
- Log any questions that need my response
- Flag negative sentiment or complaints
- Ignore spam and bots

If nothing notable: reply HEARTBEAT_OK
If something needs human attention: summarize with urgency level

Update memory/heartbeat-state.json with check timestamp." \
  --model "sonnet" --delivery none

Recipe 3: 💰 Revenue & Metrics (Weekly)

terminal
openclaw cron add \
  --name "Weekly Revenue Report" \
  --cron "0 9 * * 1" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Weekly revenue and metrics report:

1. Check Stripe dashboard for past 7 days:
   - Total revenue
   - New customers
   - Churn (if applicable)
   - Any failed payments

2. Website analytics:
   - Visitors this week vs last week  
   - Top traffic sources
   - Conversion rate

3. Social metrics:
   - Follower growth
   - Top performing content
   - Engagement rate trend

Format as a quick scorecard. Include week-over-week 
change (↑/↓) for each metric. End with one insight 
and one recommendation." \
  --model "sonnet" --announce \
  --channel discord --to "channel:YOUR_ID"

Recipe 4: 🔍 Competitor Watch (Weekly)

terminal
openclaw cron add \
  --name "Competitor Watch" \
  --cron "0 10 * * 3" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Competitor intelligence scan:

Read knowledge/resources/competitors.md for the list.

For each competitor:
1. Check their website for new features or pricing changes
2. Check their Twitter/social for announcements
3. Search for recent mentions/reviews

Report format:
- 🆕 New developments (features, pricing, launches)
- 📢 Notable announcements
- 💬 What customers are saying about them
- 💡 Opportunities for us (gaps they're leaving)

If nothing changed: 'No notable competitor moves this week.'
Keep it under 30 lines." \
  --model "sonnet" --announce \
  --channel discord --to "channel:YOUR_ID"

Recipe 5: 📧 Email Triage (Every 2 Hours)

For the person who hates email but can't ignore it.

terminal
openclaw cron add \
  --name "Email Triage" \
  --cron "0 */2 * * *" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Scan inbox for last 2 hours.

Rules:
- IGNORE: newsletters, marketing, receipts, notifications
- FLAG: personal emails, client questions, urgent alerts
- DRAFT: if it's a simple question, draft a reply (don't send)

Output:
'📧 [Sender]: [Subject] — [One sentence summary] (Drafted reply)'

If no important emails, say HEARTBEAT_OK." \
  --model "sonnet" --delivery none

Recipe 6: 🚀 Build Watchdog (Hourly during work)

Checks your GitHub Actions or Vercel deployments and yells if something breaks.

terminal
openclaw cron add \
  --name "Build Watchdog" \
  --cron "0 9-17 * * 1-5" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Check Vercel/GitHub build status for active projects.
  
If all green: HEARTBEAT_OK
If failed: '🚨 BUILD FAILED: [Project Name] - [Error summary]. Link: [URL]'" \
  --model "sonnet" --delivery none

Recipe 7: 📝 Meeting Prep (30 min before each meeting)

terminal
openclaw cron add \
  --name "Meeting Prep" \
  --cron "*/30 8-17 * * 1-5" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Check calendar for meetings in the next 30 minutes.
  
If a meeting is found:
- Who is attending?
- What was the last email/thread with these people?
- Any relevant project updates to mention?
- Prepare 3 talking points

Output:
'📅 Meeting in 30 min: [Title]
   With: [Names]
   Context: [What you last discussed]
   Prep: [3 bullet points]'

If no meetings in next 30 min: HEARTBEAT_OK" \
  --model "haiku" --delivery none

Recipe 8: 🧹 Weekly Knowledge Base Cleanup

terminal
openclaw cron add \
  --name "KB Cleanup" \
  --cron "0 3 * * 0" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Weekly knowledge base maintenance:

1. Read all files in knowledge/projects/
2. Check which projects are stale (no updates in 2+ weeks)
3. Move completed projects to knowledge/archives/
4. Check MEMORY.md for outdated entries
5. Review tacit.md for contradictions or stale preferences

Output a summary of what was cleaned up.
Only actually move/edit files if the action is clearly correct.
If unsure, list it as a suggestion instead." \
  --model "sonnet"

Recipe 9: 🎯 Goal Tracker (Weekly)

terminal
openclaw cron add \
  --name "Goal Tracker" \
  --cron "0 18 * * 5" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Weekly goal check:

Read knowledge/goals.md for current goals.
Read daily notes from this week.

For each goal:
- Progress this week: [what moved forward]
- Blockers: [what's in the way]
- Next week's action: [one specific step]

End with an honest assessment:
Are we on track? Behind? Ahead?
What's the ONE thing to focus on next week?" \
  --model "sonnet" --announce \
  --channel discord --to "channel:YOUR_ID"

Recipe 10: 🔔 Price Drop Monitor

Track prices of tools, services, or products you're interested in:

terminal
openclaw cron add \
  --name "Price Monitor" \
  --cron "0 10 * * 1,4" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Check prices for items in knowledge/watchlist.md.
  
For each item, search for current pricing.
Compare to last known price in the file.

If price dropped >10%: '🔔 PRICE DROP: [item] was $X, now $Y'
If price increased: note it but don't alert.
If no change: HEARTBEAT_OK

Update knowledge/watchlist.md with current prices." \
  --model "haiku" --delivery none

Recipe 11: 📊 A/B Test Monitor (Daily)

If you're running experiments (landing page variants, email subject lines, pricing), track the results:

terminal
openclaw cron add \
  --name "AB Test Monitor" \
  --cron "0 9 * * *" \
  --session isolated \
  --message "Check running A/B tests:

Read knowledge/experiments.md for active tests.
For each test, check relevant analytics.

Report:
- Test name
- Variant A vs B metrics  
- Statistical significance (rough estimate)
- Recommendation: keep running / winner found / kill it

If a test has a clear winner (>20% difference, 
100+ observations), flag it for action." \
  --model "sonnet" --announce

Recipe 12: 🌅 End-of-Day Journal (Automated)

The nightly consolidation handles knowledge base updates. This is different — it writes a human-readable journal entry:

terminal
openclaw cron add \
  --name "Daily Journal" \
  --cron "0 21 * * *" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Write today's daily note entry.

Read today's sessions and conversations.
Read any cron outputs from today.

Write a journal entry in memory/YYYY-MM-DD.md:
- What we accomplished
- Decisions made and why
- Problems we ran into
- Lessons learned
- What's on deck for tomorrow

Keep it factual and concise. 
This is for future-me context, not poetry." \
  --model "sonnet"
💡 Pro Tip: The 'Delivery None' Trick
Notice how the watchdog says HEARTBEAT_OK if everything is fine. Because we set --delivery none, it stays silent. But if it outputs "🚨 BUILD FAILED", that's not HEARTBEAT_OK, so OpenClaw will detect the anomaly and send you the message. Silence is success.

More Recipes: The Advanced Collection

Recipe 7: Weekly Knowledge Base Cleanup

terminal
openclaw cron add \
  --name "weekly-kb-cleanup" \
  --schedule "0 10 * * 0" \
  --prompt "Review all files in knowledge/projects/. For any project that hasn't been updated in 30+ days, move it to knowledge/archives/ with a note about why it was archived. Then check knowledge/areas/ for any area files that reference completed projects and update them. Report what you moved." \
  --channel general

This is your Sunday cleaning crew. Left unchecked, your projects/ folder becomes a graveyard of abandoned ideas. This cron job keeps it honest.

Recipe 8: Daily Standup Summary

terminal
openclaw cron add \
  --name "daily-standup" \
  --schedule "0 9 * * 1-5" \
  --prompt "Read the last 3 daily notes and the current sprint in knowledge/projects/. Generate a standup summary: what was done yesterday, what's planned today, and any blockers. Keep it under 10 lines." \
  --channel general

Perfect if you're a solo dev who misses having a team to do standups with. Your agent becomes your accountability partner.

Recipe 9: Competitor Price Monitor

terminal
openclaw cron add \
  --name "competitor-watch" \
  --schedule "0 12 * * 1" \
  --prompt "Check the pricing pages of these competitors: [competitor1.com/pricing, competitor2.com/pricing]. Compare with our current pricing in knowledge/areas/pricing.md. If anything changed, alert me with the old vs new prices." \
  --channel alerts

Competitors change their pricing quietly. This catches it. One founder caught a competitor dropping their price 40% — and adjusted their positioning the same day.

Recipe 10: Inbox Zero Nudge

terminal
openclaw cron add \
  --name "inbox-nudge" \
  --schedule "0 17 * * 1-5" \
  --prompt "Check my unread emails. If there are any older than 24 hours that haven't been replied to, send me a summary with suggested one-line responses for each. Prioritize emails from known contacts." \
  --channel general

End-of-day nudge to clear your inbox. The agent drafts responses so you just have to approve or tweak them. Most people reply within 30 seconds when the draft is already written.

Recipe 11: Weekly Revenue Dashboard

terminal
openclaw cron add \
  --name "weekly-revenue" \
  --schedule "0 8 * * 1" \
  --prompt "Pull this week's metrics: MRR, new signups, churn, and trial-to-paid conversion rate. Compare with last week. Format as a clean dashboard with arrows (↑↓→) showing trends. Save to daily-notes/weekly-revenue-{date}.md" \
  --channel general

Recipe 12: Content Calendar Reminder

terminal
openclaw cron add \
  --name "content-reminder" \
  --schedule "0 8 * * 1,3,5" \
  --prompt "Check knowledge/areas/social-media.md for the content calendar. What's scheduled for today? If nothing is scheduled, suggest 3 content ideas based on recent daily notes and trending topics in our niche. Draft a post for my preferred platform." \
  --channel general

Never stare at a blank tweet composer again. Your agent either reminds you what's planned or generates options. Three posts a week, zero writer's block.

The Recipe Design Pattern

Notice the pattern in every recipe above? They all follow the same structure:

  • 1. Trigger — when should this run? (cron schedule)
  • 2. Context — what files should the agent read? (knowledge base paths)
  • 3. Action — what should the agent DO? (specific, concrete verb)
  • 4. Output — where does the result go? (channel, file, or silence)

When designing your own recipes, fill in those four blanks and you'll have a solid cron job every time.

🧠 Quick Check
You want a cron job that checks your SaaS uptime every 5 minutes and only alerts you if it's down. What's the right approach?

Share this chapter

𝕏

Chapter navigation

10 of 36