Cortask

Cron Jobs

The Cron page (/cron) lets you create and manage scheduled tasks that run the AI agent automatically.

Job List

Jobs are displayed as cards showing:

  • Name and an Enabled/Disabled badge.
  • Workspace badge -- the associated project name, or "Global" if no workspace is assigned.
  • Schedule -- displayed in monospace as a cron expression, interval, or one-time datetime.
  • Delivery channel -- if configured, shown as an arrow notation (e.g., "telegram:12345").
  • Prompt -- the first two lines of the prompt text.
  • Next run / Last run -- timestamps for the upcoming and most recent execution.
  • Error indicator -- a destructive badge showing the consecutive error count when the last run failed, plus the error message.

Actions

Each job card has buttons to:

  • Run -- trigger the job immediately.
  • Enable/Disable -- toggle the job's active state.
  • Delete -- remove the job after confirmation.

Filtering

A dropdown at the top filters jobs by workspace. Select "All Projects" to see every job.

Creating a Job

Click "+ New Job" to expand the create form. Fields:

Name

A descriptive label for the job (e.g., "Daily summary").

Project

Select a workspace to scope the job, or choose "None (Global)" for a workspace-independent job.

Prompt

The instruction text sent to the agent when the job triggers. Supports multi-line input.

Schedule

Enter a natural language description (e.g., "Every monday at 10am", "in 10 minutes", "daily at 9") and click Convert. The system uses an LLM to translate the description into either:

  • Cron expression -- for recurring schedules. Shown with a green checkmark and the expression in monospace.
  • One-time datetime -- for single-execution jobs. Shown as an ISO 8601 timestamp.

Cron expressions support an optional timezone. The schedule types recognized internally are:

TypeDescriptionExample
cronStandard 5-field cron expression0 10 * * 1 (Mondays at 10:00)
everyFixed interval in millisecondsEvery 30 minutes
atOne-time execution at a specific datetime2026-03-25T15:00:00Z

Delivery Channel

Optionally route the job output to an external channel instead of the WebSocket session:

  • None -- results stay in the web UI session.
  • Telegram -- deliver to a Telegram chat ID.
  • Discord -- deliver to a Discord channel/user ID.
  • WhatsApp -- deliver to a WhatsApp contact.

When a channel is selected, a "Chat ID / Target" input appears.

Monitoring

The job list auto-refreshes every 15 seconds. Each card displays:

  • The next scheduled run time.
  • The last execution time.
  • The last error message (if any), truncated with a tooltip for the full text.
  • A consecutive error count badge when the job is in an error state.