← Back to Smart Home & IoT
Smart Home & IoT by @onionrings29

set-reminder

Use when user wants to be reminded about something

0
Source Code

Set Reminder

Creates validated reminders using the OpenClaw cron system. Handles time parsing, channel validation, and delivers via configured channels.

Usage

From any workspace:

python3 skills/set-reminder/scripts/set_reminder.py --at <when> --message "<text>" [--channel <name>]
python3 skills/set-reminder/scripts/set_reminder.py --every <duration> --message "<text>" [--channel <name>]
python3 skills/set-reminder/scripts/set_reminder.py --cron "<expr>" --message "<text>" [--channel <name>]

Or using {baseDir} (skill directory):

python3 {baseDir}/scripts/set_reminder.py --at <when> --message "<text>" [--channel <name>]
python3 {baseDir}/scripts/set_reminder.py --every <duration> --message "<text>" [--channel <name>]
python3 {baseDir}/scripts/set_reminder.py --cron "<expr>" --message "<text>" [--channel <name>]

Parameters

Parameter Description
--at One-shot: ISO datetime (2025-02-01T14:00:00) or relative (+20m, +1h, +2d)
--every Recurring interval: 30m, 2h, 1d
--cron 5-field cron: "0 9 * * *"
--message Reminder text (required)
--channel Channel name from config (optional, uses default)

Examples

# Remind in 20 minutes
python3 skills/set-reminder/scripts/set_reminder.py --at "+20m" --message "Take medicine"

# Daily at 9 AM via discord
python3 skills/set-reminder/scripts/set_reminder.py --cron "0 9 * * *" --message "Standup" --channel discord

# Every 2 hours
python3 skills/set-reminder/scripts/set_reminder.py --every "2h" --message "Drink water"

Config

Workspace/local skill (recommended): Create config.json in the skill directory:

{
  "default": "imessage",
  "timezone": "America/Edmonton",
  "channels": {
    "imessage": "[email protected]",
    "discord": "1234567890123456789"
  }
}

Managed skill (legacy): Config in ~/.openclaw/openclaw.json at skills.entries.set-reminder.config.<agentId>:

"set-reminder": {
  "enabled": true,
  "config": {
    "main": {
      "default": "imessage",
      "timezone": "America/Edmonton",
      "channels": { "imessage": "[email protected]" }
    }
  }
}

Required fields: default, timezone, channels

How It Works

  1. Loads config from skill directory (workspace/local) or managed skill location
  2. Validates input (time format, channel exists)
  3. Creates cron job via openclaw cron add
  4. Reminder fires and delivers via configured channel

Config Priority:

  1. <skill_dir>/config.json (workspace/local skill - highest priority)
  2. ~/.openclaw/skills/set-reminder/config.json (managed skill)
  3. ~/.openclaw/openclaw.json at skills.entries.set-reminder.config (legacy fallback)