Automations let you schedule AI prompts to run on a recurring schedule — without any manual trigger. You write a prompt once, set a schedule, and OpenClicky runs it automatically: every hour, every morning at 9 am, every Monday, or on any custom cron schedule. Results appear in the agent panel like any other session, and the response can update memory, write files, or surface in the widget — all without you lifting a finger.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jasonkneen/openclicky/llms.txt
Use this file to discover all available pages before exploring further.
What an Automation Is
AnOpenClickyAutomation is a persistent record that pairs a prompt with a schedule. The automation store (OpenClickyAutomationStore) runs a 30-second timer tick. On each tick it checks whether any enabled automation’s nextRun timestamp is in the past, and if so fires the prompt as a new agent session.
Schedule Types
OpenClicky supports two schedule types:Interval
Fire every N seconds. Specified as a
TimeInterval. The store displays these as human-readable strings like every 30m, every 2h, or every 1h 30m.Cron
A standard 5-field cron expression. Full support for numbers, lists, ranges, steps, and wildcards. The store displays these as cron 0 9 * * 1 etc.
Display Strings
ThedisplayString property on OpenClickyAutomationSchedule generates the label shown in the Automations panel:
| Schedule | Display |
|---|---|
.interval(seconds: 1800) | every 30m |
.interval(seconds: 7200) | every 2h |
.interval(seconds: 5400) | every 1h 30m |
.cron("0 9 * * 1") | cron 0 9 * * 1 |
Cron Expression Reference
OpenClicky’s built-inCronExpression evaluator parses standard 5-field cron syntax. Fields are evaluated in order:
Supported Operators
| Operator | Example | Meaning |
|---|---|---|
Wildcard * | * * * * * | Match every value in the field’s range |
| Number | 30 9 * * * | Match exactly that value |
| List | 0 9,17 * * * | Match any value in the comma-separated list |
| Range | 0 9 1-5 * * | Match every value from start to end inclusive |
| Step | */15 * * * * | Match every Nth value across the full range |
| Step on range | 0 9-17/2 * * * | Match every 2nd hour from 9 to 17 |
Named Values
Month and day-of-week fields accept 3-letter abbreviations (case-insensitive):- Months:
JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC - Weekdays:
SUN,MON,TUE,WED,THU,FRI,SAT
0 and 7 mean Sunday in the day-of-week field, matching the behaviour of standard cron implementations.
Computing the Next Run Date
The evaluator starts one minute after the reference date, zeros out seconds, then walks minute-by-minute up to 366 days forward until all five fields match. The result is the nextDate the cron expression is satisfied:
Creating an Automation
Open the Automations panel
In the OpenClicky notch panel, go to Agents → Automations or open Settings → Automations.
(Optional) Assign a specialist agent
Set
agentSlug to route the automation to a specific specialist agent. Leave blank to use the default chat session.Routing: Default vs Specialist Agent
When an automation fires, the store checksagentSlug:
- No slug — the prompt is submitted via
CompanionManager.submitAgentPromptFromUI(_:), running in the default chat session. - With slug — the store calls
createAndSelectNewCodexAgentSession(asAgent:)to launch a fresh session under the named specialist agent, then submits the prompt to that session. The session ID is tracked so the store can detect if the previous run is still active before starting another.
Example Use Cases
Daily morning digest
Daily morning digest
Run every weekday morning at 8 am to summarise overnight emails, calendar events, and top news:
Hourly weather check
Hourly weather check
Poll a weather API every hour and update a local status file:
Weekly project report
Weekly project report
Generate a weekly summary of git activity and open issues every Monday at 9 am:
Skill discovery (built-in)
Skill discovery (built-in)
OpenClicky ships a built-in App skill discovery automation (disabled by default). When enabled, it runs every 6 hours and scans for useful skills, MCPs, and integrations that match the apps you’ve been using. Results appear in the Connect tab as install/connect suggestions.Enable it in Settings → Automations → App skill discovery.
Concurrency and Persistence
The automation scheduler runs a
Timer on a 30-second interval on the main run loop. Because the interval is short, automations fire within 30 seconds of their scheduled time rather than exactly on the second. For hour-level or day-level schedules this is imperceptible.automations.json after each tick mutation. Dates are encoded as ISO 8601 strings.