Set up scheduled tasks
The cronjob plugin adds the Automation page, five chat tools and the scheduling skill. People then ask for reminders and summaries in the conversation; the user side is Get a reminder or a regular summary.
Install and grant access
cronjob needs Chetty core 0.30.47 or later. Chetty runs on Linux, so a check command runs in the Linux system shell.
- Install
cronjobfrom Settings → Available plugins. - Open Users, select the account and choose the manage action under Granted plugins.
- Select
cronjoband save.
There is no administrator bypass, so an administrator needs the same grant as anyone else. Installing, enabling, disabling or saving plugin settings restarts Chetty; if the restart cannot happen at once, the change takes effect when the daemon next starts.
Scheduler settings
Find the settings in Settings → Plugins → cronjob. Every value is optional and uses the default below. The group names Scheduler and Per-account limits are headings, not values.
| Setting | Default | Allowed range |
|---|---|---|
| Tick interval | 30 seconds | 10–120 seconds |
| Attempts | 2 total | 1–5 |
| Retry delay | 3 seconds | 1–30 seconds |
| Check time limit | 60 seconds | 10–300 seconds |
| Check output character limit | 32,000 characters | 2,000–200,000 |
| Cron catch-up window | 24 hours | 1 hour–7 days |
| Jobs per account | 20 | 1–200 |
| Shortest interval | 15 minutes | 1–1,440 minutes |
Millisecond fields show ms and the shortest interval shows min; the unit changes the display only, not the stored value. Detailed guidance sits beside each field label.
Limits on jobs: every account, the instance owner included, may keep up to 20 personal jobs, and instance jobs are not subject to that limit. Unless a personal job is privileged, it cannot use a five-field cron schedule, a host shell check, a destination channel, or an interval shorter than the configured minimum. A job is privileged when the instance owner sets it up for themselves, or when it belongs to another account that is an administrator. A check that runs inside a managed Project is allowed on any personal job. If an account loses the plugin grant, its jobs are skipped on each due run and not deleted; they run again once the grant returns.
Chat tools
| Tool | What it does |
|---|---|
CronAdd |
Create a recurring prompt with a schedule, scope and filing conversation. |
ScheduleWakeup |
Schedule one reminder that resumes its originating conversation. |
CronList |
List visible jobs and pending reminders. |
CronConversations |
List conversations where a recurring job may be filed. |
CronRemove |
Permanently remove a job by its id. |
A recurring job needs a scope of personal or instance and a conversationSessionId. The filing conversation only groups the job in the conversation list; it changes neither the owner, the permissions, the execution project nor where the result is delivered. A one-time reminder needs no filing conversation and keeps the context of the conversation it resumes.
CronList shows the jobs available to you with their schedules and latest results. CronRemove deletes a job or a pending reminder for good, so pausing is the reversible choice.
How a task gets created
- The request arrives in chat. Before adding anything, the assistant checks
CronListfor a duplicate. - It asks for a filing conversation through
CronConversationsand passes that id explicitly. A personal job must be filed in a conversation of its owner, and a shared room does not list private conversations. - It chooses
personalfor a reminder or a recurring task that belongs to the person in the conversation.
Only the instance owner can create an instance job. It has no personal owner, runs with instance-owner permissions and reports to the notification channel unless it names a destination channel. A personal job can name a destination channel only when the instance owner sets it.