Lesson 13 of 21

Scheduled Telegram Updates

Monthly cost: $1–5 extra in API usage Expected time: ~15 minutes

Why This Matters

Up to now, your OpenClaw only talks when you talk to it. But the real power is having it proactively reach out with useful information on a schedule — a daily briefing, a weekly summary, or periodic check-ins.

OpenClaw has a built-in cron scheduler that can:

How Cron Syntax Works

Cron expressions look cryptic at first, but they follow a simple five-field pattern:

┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12)
│ │ │ │ ┌───── day of week (0–6, Sun=0)
│ │ │ │ │
0 7 * * 1-5  → "At 7:00 AM, Monday through Friday"

A * means "every" — so * * * * * means every minute of every day. Numbers narrow it down. 1-5 means Monday through Friday. */6 means every 6th unit.

Test It First

Before setting up a real schedule, verify the whole pipeline works by creating a cron job that fires two minutes from now.

Check the current time on your server:

ssh claw@YOUR_SERVER_IP
date

If the time is, say, 14:33, set a cron for 14:35:

docker exec openclaw openclaw cron add \
  --name "Test cron" \
  --cron "35 14 * * *" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Say: Hello! This is a test cron job. It works!" \
  --announce \
  --channel telegram

Wait for the Telegram message to arrive. Once it does, remove the test job:

docker exec openclaw openclaw cron remove --name "Test cron"

Setting Up Your Daily Briefing

The daily briefing is the most popular cron job. Your OpenClaw gathers information and sends you a summary every morning.

Option A: Via OpenClaw CLI

SSH into your server and use the OpenClaw CLI:

docker exec openclaw openclaw cron add \
  --name "Morning briefing" \
  --cron "0 7 * * 1-5" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Give me a morning briefing. Include: the current date and day of week, any important news in AI and technology, a motivational thought for the day, and any reminders from my knowledge files." \
  --announce \
  --channel telegram

Breaking this down:

Option B: Via Config File

If you prefer editing config files, add this to your OpenClaw config:

cron:
  jobs:
    morning-briefing:
      schedule: "0 7 * * 1-5"
      timezone: "America/Chicago"
      session: isolated
      announce: true
      channel: telegram
      message: |
        Give me a morning briefing. Include:
        - Current date and day of week
        - Important news in AI and technology
        - A motivational thought
        - Any reminders from my knowledge files

Another Example: Weekly Review

Once your daily briefing is working reliably, consider adding a weekly review:

docker exec openclaw openclaw cron add \
  --name "Weekly review" \
  --cron "0 18 * * 0" \
  --tz "America/Chicago" \
  --session isolated \
  --message "Summarize what we discussed this week. What were the main topics, decisions, and action items?" \
  --announce \
  --channel telegram

This runs at 6:00 PM every Sunday (0 18 * * 0).

Managing Cron Jobs

List all jobs:

docker exec openclaw openclaw cron list

Remove a job:

docker exec openclaw openclaw cron remove --name "Morning briefing"

Tips

When You're Done

Further Reading