Skip to content

Scheduled Tasks

Airupt can run tasks on a schedule and deliver results to your channel.

Creating Tasks via Chat

The easiest way is to just tell Airupt:

Remind me every weekday at 8am to check my email.
Every Sunday at 7pm, summarize the week's news headlines.
At 9am on the 1st of every month, tell me my total spending last month.

Airupt parses natural language into a cron schedule and confirms before saving:

Got it. I'll remind you every weekday at 8am EST. Type "cancel standup reminder" to remove it.

Managing Tasks via CLI

bash
# List all scheduled tasks
airupt tasks list

# Add a task with an explicit cron expression
airupt tasks add --cron "0 8 * * 1-5" --prompt "Check my email and summarize anything urgent"

# Run a task immediately (for testing)
airupt tasks run <task-id>

# Delete a task
airupt tasks delete <task-id>

Task Output

When a scheduled task runs, Airupt sends the result to your default channel (the first enabled channel). You can specify a different channel per task:

bash
airupt tasks add --cron "0 9 * * 1" --channel telegram --prompt "Weekly summary"

Configuration

yaml
scheduled_tasks:
  enabled: true
  timezone: America/New_York

Set timezone to your local timezone. All natural-language times are interpreted in this timezone. Accepts any IANA timezone string (e.g. Europe/London, Asia/Tokyo).

Cron Reference

ExpressionMeaning
0 8 * * 1-58am weekdays
0 9 * * 19am every Monday
0 18 * * *6pm every day
0 0 1 * *Midnight on the 1st of each month

Released under the MIT License.