Skip to main content

Cron Jobs

Define scheduled prompts in your chucky.json configuration file. When you run chucky deploy, your cron jobs are synced to Chucky’s scheduler. See Scheduled Automation for cron job patterns.

Configuration

Add a crons array to your chucky.json:

Cron Expression Format

Standard 5-field cron expressions:

Examples

Full Schema

Deploying Crons

When you run chucky deploy, the CLI:
  1. Reads cron definitions from chucky.json
  2. Deletes any existing cron schedules for the project
  3. Creates fresh schedules for each enabled cron
Output:

Example Configurations

Daily Report with Slack Webhook

Weekly Metrics with Structured Output

Multiple Crons with Different Schedules

Callback Webhooks

Results are POSTed to your callback URL when the cron completes:

HMAC Verification

If you provide a secret, the request includes an X-Chucky-Signature header:

Timezones

Use IANA timezone identifiers:

Best Practices

Always set maxBudgetUsd to prevent runaway costs. Start low and increase based on actual usage.
Don’t rely on polling. Configure webhooks to receive results immediately when crons complete.
Set enabled: false while testing your configuration, then enable when ready.
When feeding results into other systems, use outputFormat to ensure consistent JSON structure.

Viewing Cron Status

View your cron jobs in the Chucky Dashboard:
  • Next run time - When the cron will next execute
  • Last run status - Success/failure of the most recent run
  • Run history - Past executions with results

Concurrency

Cron jobs share the same concurrency limits as the Incubate API: If your cron triggers while at capacity, it will queue and execute when a slot becomes available.