# Cron Trigger (/docs/triggers/cron)

Run workflows on a recurring schedule.



A cron trigger runs your workflow automatically on a recurring schedule.

Setup [#setup]

1. Add a **Cron Trigger** node to your canvas
2. Click the node to open settings and configure the schedule in the **Parameters** pane
3. Add a Sample Payload if downstream nodes need seeded data for testing
4. Click **Activate** in the editor toolbar, or toggle **Active** on the workflow's row in the [Workflows list](/docs/getting-started/dashboard)

Schedule options [#schedule-options]

| Schedule        | Frequency                   | Config fields                   |
| --------------- | --------------------------- | ------------------------------- |
| Every minute    | `* * * * *`                 | None                            |
| Every 5 minutes | `*/5 * * * *`               | None                            |
| Hourly          | `{minute} * * * *`          | Minute (0-59)                   |
| Daily           | `{minute} {hour} * * *`     | Hour (0-23), Minute (0-59)      |
| Weekly          | `{minute} {hour} * * {day}` | Day of week (0-6), Hour, Minute |

The schedule is stored as a standard 5-field cron expression.

Sample payload [#sample-payload]

Cron triggers can emit optional JSON seed data. Top-level object fields are available directly, such as `{cron.symbol}`. If you paste an array or primitive, the editor stores it wrapped as `{ "body": <value> }` and you access it via `{cron.body}`.

The settings **Input** pane previews the sample payload while you edit it. If you rerun a cron execution from the editor's executions panel, Solaris AI Flow fires the cron trigger using its current configuration.

Output [#output]

Every cron fire emits at minimum:

```json
{
  "triggeredAt": "2026-05-14T10:00:00.000Z",
  "source": "cron"
}
```

With a Sample Payload such as `{ "watchlist": ["SOL", "BONK"] }`, the trigger output becomes:

```json
{
  "watchlist": ["SOL", "BONK"],
  "triggeredAt": "2026-05-14T10:00:00.000Z",
  "source": "cron"
}
```

Downstream nodes reference fields with the trigger response name (default `cron`): `{cron.watchlist}`, `{cron.triggeredAt}`. The base fields (`triggeredAt`, `source`) always win on key collision.

Day-of-week mapping [#day-of-week-mapping]

For weekly schedules, `dayOfWeek` follows the standard cron convention: `0` = Sunday, `1` = Monday, ..., `6` = Saturday.

Enabling and disabling [#enabling-and-disabling]

Toggle the workflow from:

* The editor toolbar (**Activate** / **Active**)
* The [Workflows list](/docs/getting-started/dashboard): the **Active** control on a cron row, or the row's ••• menu (**Activate schedule** / **Pause schedule**)
* The mobile actions menu (**Activate Schedule** / **Deactivate Schedule**)
* The `updateSchedule` action on the workflow

When disabled, the cron stops firing but the configuration is preserved.

Activating the schedule is separate from running once. **Run** on a workflow's row (or in the editor) fires the workflow a single time immediately and leaves the schedule untouched; the **Active** toggle is what starts and stops recurring firing.

Automatic pausing [#automatic-pausing]

If a scheduled workflow fails **4 times in a row**, Solaris AI Flow pauses it automatically and shows a deactivation reason on the workflow's row. Any successful run resets the counter, so a one-off failure won't pause the schedule, and a non-critical step set to [Continue on failure](/docs/executions/errors#continue-on-failure) keeps the run green so the streak never builds. Re-enable the schedule from the Workflows list or editor toolbar once you've fixed the cause. See [Error Handling](/docs/executions/errors#auto-paused-schedules) for details.

Cost of fast schedules [#cost-of-fast-schedules]

All cron frequencies are available, including every minute. There is no monthly run cap and no cadence restriction. Each fire is a normal workflow run and uses the base [credit](/docs/billing/plans) charge of 3 credits (plus any loop reservations), so a high-frequency schedule simply uses more credits over time.

**Every minute:** an every-minute workflow fires about 43,200 times per 30-day cycle, so reserve every-minute schedules for workflows that genuinely need that cadence and keep an eye on your credit balance.

Timezone [#timezone]

Cron schedules run in UTC. Configure the hour/minute relative to UTC.

Next steps [#next-steps]

* [Executions](/docs/concepts/executions) - what happens when a cron fires
* [Credits and Pricing](/docs/billing/plans) - what a run costs
