Background Jobs & Scheduling
Run superpowers on a schedule without user interaction.
Superpowers can run automatically on a cron schedule. A morning briefing, a daily digest, a price alert — any action can be scheduled to run in the background and send results as a proactive message.
Adding a schedule
Add a schedule operation to any action:
actions:
- id: daily_digest
operations:
- type: http_request
output: news
method: GET
url: "https://newsapi.org/v2/top-headlines?country=us&pageSize=5"
platform_key_ref: newsapi
- type: llm_generate
output: summary
prompt: "Summarize these headlines: {{$vars.news}}"
- type: schedule
mode: recurring
cron: "0 9 * * *" # 9 AM UTC daily
action_id: daily_digest
response:
template: "{{$vars.summary}}"When this action runs for the first time (triggered by the user saying something like "set up a daily news digest"), the schedule operation creates a background job. From then on, the action runs automatically at 9 AM UTC every day.
Cron syntax
Standard 5-field cron expressions:
┌───────── minute (0-59)
│ ┌─────── hour (0-23)
│ │ ┌───── day of month (1-31)
│ │ │ ┌─── month (1-12)
│ │ │ │ ┌─ day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *Examples:
0 9 * * *— 9 AM UTC daily0 9 * * 1-5— 9 AM UTC weekdays only*/30 * * * *— Every 30 minutes0 8,12,18 * * *— 8 AM, noon, 6 PM UTC
Tier limits
| Free | Pro ($7.99/mo) | BYOK | |
|---|---|---|---|
| Background executions/day | 0 | 50 | 500 |
| Active cron jobs | 0 | 5 | 20 |
| Minimum cron interval | -- | 30 min | 5 min |
| Token budget/day | -- | 100K | Unlimited |
Free tier users can build and test superpowers with schedules, but the background jobs won't actually run until they upgrade.
Managing jobs
View and manage your scheduled jobs at ikiro.ai/dashboard/developer/usage.
You can:
- Pause a job temporarily
- Resume a paused job
- Cancel a job permanently
Circuit breaker
If a job fails 3 times in a row, it's automatically paused with reason circuit_breaker. Fix the underlying issue, then resume it from the usage dashboard.
Proactive notifications
When a scheduled job runs, the response is sent as a proactive message through your companion (Luna, Nyx, etc.) via iMessage. The companion delivers it in character — not as a robotic notification, but as a natural message.