Cron Jobs — Full Registry
Source of truth for all scheduled jobs running in OpenClaw. Crons are stored in OpenClaw’s internal scheduler. This file is the human-readable reference. Update this file whenever a cron is added, changed, or removed.
How Crons Work
- Managed via OpenClaw’s
crontool (not external systems) - Two session targets:
main(system events) orisolated(spawns a fresh agent turn) - Delivery modes:
announce(posts to a channel),none(silent), or output HEARTBEAT_OK to suppress - Rule: Silent when healthy. Post only when something is broken or needs attention.
Active Crons
Infrastructure / Vault
| ID | Name | Schedule | Channel | Owner |
|---|---|---|---|---|
8c6c8987 | Vault CI Monitor (twill-brain) | Every 30 min | rex-reliability (silent on success) | Morty |
755bbc17 | Twill Brain Auto-Commit | Every 60 min | silent | Morty |
94860e49 | Twill Brain Daily Sync (Daemon) | 6AM PST daily | silent | Morty |
fd611b7c | Vault Daily Health Report | 10AM PST daily | rex-reliability (always posts) | Morty |
Vault CI Monitor (8c6c8987):
- Polls GitHub Actions API for
Morty021/twill-brain - Output HEARTBEAT_OK if success/in_progress
- Post ❌ alert to rex-reliability if
failureortimed_out - Timeout: 30s | Model: default
Auto-Commit (755bbc17):
git add -A && git commit && git pushon twill-brain- Triggers Quartz rebuild → vault.twill.biz updated
- Timeout: 60s | Silent always
Daily Sync (94860e49):
- Runs
vault_sync_daemon.py --source all - Pulls: Fireflies, Gmail (Nader + Mike), GitHub tickets, Google Calendar, Apollo
- Script:
/data/.openclaw/workspace/scripts/vault_sync_daemon.py - Timeout: 600s | Silent
Health Report (fd611b7c):
- Runs
vault_health_check.py(15-point check) - Also runs sync daemon, appends one-line sync result
- Posts full report to rex-reliability every day
- Script:
/data/.openclaw/workspace/scripts/vault_health_check.py - Timeout: 600s
Reliability / Security (Rex)
| ID | Name | Schedule | Channel | Owner |
|---|---|---|---|---|
5eb95d1f | PM2 Webhook Pipeline Watchdog | Every 5 min | Nader DM (on failure) | Rex |
4ab20111 | URL Security Wall Audit | 9AM PST daily | rex-reliability | Rex |
9da10ecd | Daily Reliability Report | 1PM PST daily | rex-reliability | Rex |
e2678044 | OpenClaw Version Watcher | Mon 9AM PST | rex-reliability | Rex |
a7775aaf | Memory Maintenance | Every 6h | rex-reliability (if trimmed) | Rex |
1144d4bc | Weekly Canvas Refresh | Mon 6AM PST | rex-reliability | Rex |
fdab33c0 | Weekly Reliability Summary | Mon 9AM PST | rex-reliability | Rex |
d1793b7e | Skills Health Audit | 7AM PST daily | rex-reliability | Rex |
Comms / Email (Morty)
| ID | Name | Schedule | Channel | Owner |
|---|---|---|---|---|
81588e89 | Nader Daily Email Digest | 4PM PST daily | Nader DM | Morty |
942664e3 | Mike Morning Email | 8AM PST weekdays | Mike DM | Morty |
28f3219f | Mike Afternoon Email | 2PM PST weekdays | Mike DM | Morty |
1b0ffb3c | Daily Meeting Prep for Mike | 7AM PST daily | Mike DM | Morty |
fb086b1a | Team Comms Monitor | Every 4h | ground-control (if flagged) | Morty |
5f03a746 | Team Security Audit | 6PM PST daily | Nader DM | Morty |
91e33d35 | Daily RevTech Brief | 8AM PST weekdays | revtech | Morty |
crm-health-check | Twenty CRM Health Check | Every 6h | rex-reliability (if down) | Morty |
CRM / Research (Remi)
| ID | Name | Schedule | Channel | Owner |
|---|---|---|---|---|
a709a16e | Daily LeadGen — ISO/Partner | 10AM PST daily | remi-crm | Remi |
454ee9f3 | Processor Directory Search | 7PM PST daily | remi-crm | Remi |
0fc9b399 | Weekly Competitor Research | Sun 9AM PST | remi-crm | Remi |
25326062 | Weekly Events Refresh | Mon 9AM | remi-crm | Remi |
a282fa10 | Weekly Investor Research | Mon 10AM | remi-crm | Remi |
Disabled / One-Shot
| ID | Name | Status | Notes |
|---|---|---|---|
626afb2c | Post-Meeting Transcript Scan | DISABLED | Replaced by Fireflies webhook |
6f07206a | Email Triage Classified Router | DISABLED | Replaced by daily digest |
7f44854e | Quarterly Secret Rotation | One-shot Jun 12, 2026 | Reminder only |
5db87fef | Deal Room Implementation Doc | DISABLED | One-time, ran Mar 12 |
df4dfaca | Fireflies Webhook Daily Check | Active | Runs 11AM PST — verify pipeline |
Cron Health Status (as of Mar 22, 2026)
| Cron | Last Status | Notes |
|---|---|---|
| Vault CI Monitor | Fixed tonight | Was timing out at 60s → simplified to 30s |
| Team Security Audit | Fixed tonight | Was timing out → increased timeout to 300s |
| RevTech Brief | Fixed tonight | Was timing out → simplified, reads vault note first |
| Team Comms Monitor | Fixed tonight | Was timing out → fewer channels, 180s timeout |
| Daily Reliability Report | OK | Last run successful |
| Nader Email Digest | OK | Last delivered |
| Mike Email Reports | OK (morning) | Afternoon had one error |
Adding a New Cron
When creating a new cron, also update this file with:
- ID (from cron tool response)
- Name, schedule, channel, owner
- Brief description of what it does
- Timeout and model if non-default
Never create a cron that posts to tech-syncs. That channel is for post-call summaries and staging release notes only.