with one click
scheduling
// Create scheduled tasks and one-off reminders. Use for recurring jobs (daily, weekly) or future reminders (in 5 minutes, tomorrow at 3pm).
// Create scheduled tasks and one-off reminders. Use for recurring jobs (daily, weekly) or future reminders (in 5 minutes, tomorrow at 3pm).
Set up and run LettaBot - a multi-channel AI assistant for Telegram, Slack, Discord, WhatsApp, and Signal. Supports both interactive wizard and non-interactive (agent-friendly) configuration.
Reply with voice memos using text-to-speech. Use when the user sends a voice message, asks for an audio reply, or when a voice response would be more natural.
Post, reply, like, and repost on Bluesky using the lettabot-bluesky CLI. Read-only by default; explicit actions required.
Create and manage scheduled tasks (cron jobs) that send you messages at specified times.
Reorder Foodora orders + track ETA/status with ordercli. Never confirm without explicit user approval. Triggers: order food, reorder, track ETA.
Google Workspace CLI (gog) for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
| name | scheduling |
| description | Create scheduled tasks and one-off reminders. Use for recurring jobs (daily, weekly) or future reminders (in 5 minutes, tomorrow at 3pm). |
Schedule recurring tasks or one-off reminders.
lettabot-schedule list # List all jobs
lettabot-schedule create [options] # Create job
lettabot-schedule delete ID # Delete job
lettabot-schedule enable ID # Enable job
lettabot-schedule disable ID # Disable job
For reminders at a specific future time, use --at with an ISO datetime.
Calculate the datetime in JavaScript:
// 5 minutes from now
new Date(Date.now() + 5*60*1000).toISOString()
// ā "2026-01-28T20:15:00.000Z"
// 1 hour from now
new Date(Date.now() + 60*60*1000).toISOString()
// Tomorrow at 9am (approximate)
new Date(Date.now() + 24*60*60*1000).toISOString()
Create the reminder:
lettabot-schedule create \
--name "Standup" \
--at "2026-01-28T20:15:00.000Z" \
--message "Time for standup!"
One-off reminders auto-delete after running.
Options:
-n, --name - Job name (required)-a, --at - ISO datetime for one-off reminder (e.g., "2026-01-28T20:15:00Z")-m, --message - Message sent to you when job runs (required)-d, --deliver - Where to send response (format: channel:chatId). Defaults to last messaged chat.For recurring tasks, use --schedule with a cron expression.
lettabot-schedule create \
--name "Morning Briefing" \
--schedule "0 8 * * *" \
--message "Good morning! What's on today's agenda?"
Options:
-n, --name - Job name (required)-s, --schedule - Cron expression (required for recurring)-m, --message - Message sent to you when job runs (required)-d, --deliver - Where to send response (format: channel:chatId). Defaults to last messaged chat.--disabled - Create disabledāāāāāāāāāā minute (0-59)
ā āāāāāāāā hour (0-23)
ā ā āāāāāā day of month (1-31)
ā ā ā āāāā month (1-12)
ā ā ā ā āā day of week (0-6, Sun=0)
* * * * *
| Pattern | When |
|---|---|
0 8 * * * | Daily at 8:00 AM |
0 9 * * 1-5 | Weekdays at 9:00 AM |
0 */2 * * * | Every 2 hours |
30 17 * * 5 | Fridays at 5:30 PM |
0 0 1 * * | First of month at midnight |
Remind me in 30 minutes:
# First calculate: new Date(Date.now() + 30*60*1000).toISOString()
lettabot-schedule create \
-n "Break reminder" \
--at "2026-01-28T20:45:00.000Z" \
-m "Time for a break!"
Daily morning check-in:
lettabot-schedule create \
-n "Morning" \
-s "0 8 * * *" \
-m "Good morning! What's on today's agenda?"
Weekly review on Fridays:
lettabot-schedule create \
-n "Weekly Review" \
-s "0 17 * * 5" \
-m "Friday wrap-up: What did we accomplish?"
When a scheduled job runs, you receive:
[cron:job-123abc Morning] Good morning! What's on today's agenda?
Current time: 1/27/2026, 8:00:00 AM (America/Los_Angeles)
--at) auto-delete after runninglettabot-schedule list to see next run timescron-jobs.json