# 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

Schedule options [#schedule-options]

| Schedule        | Frequency                   | Config fields                   |
| --------------- | --------------------------- | ------------------------------- |
| 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 mobile actions menu (**Activate Schedule** / **Deactivate Schedule**)
* The `updateSchedule` action on the workflow

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

Plan restrictions [#plan-restrictions]

| Plan  | Allowed frequencies                 |
| ----- | ----------------------------------- |
| Free  | Daily, Weekly only                  |
| Pro   | All (including every 5 min, hourly) |
| Ultra | All                                 |

If you downgrade from Pro to Free with an hourly cron active, it's automatically disabled with a deactivation reason shown in the editor.

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
* [Plans and Limits](/docs/billing/plans) - trigger quotas by plan
