> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duckie.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduled Deployments

> Run an agent on a recurring schedule

Scheduled deployments run an agent automatically on a recurring schedule. Use them for recurring work such as daily summaries, SLA checks, periodic account reviews, or scheduled follow-ups.

Unlike channel deployments, a scheduled deployment does not wait for an event from Zendesk, Slack, Intercom, or another integration. Duckie starts a run when the schedule fires.

## Create a Scheduled Deployment

<Steps>
  <Step title="Create a deployment">
    Go to **Deploy**, click **Create Deployment**, and choose the agent that should run on a schedule.
  </Step>

  <Step title="Choose Scheduler">
    In the trigger selector, choose **Scheduler**.
  </Step>

  <Step title="Set the schedule">
    Choose a preset schedule or select **Custom...**.

    Presets include hourly, daily at 9 AM, weekdays at 9 AM, and weekly on Monday at 9 AM.
  </Step>

  <Step title="Configure a custom schedule">
    For a custom schedule, describe the schedule in plain language and click **Convert**, or enter a five-field cron expression directly.
  </Step>

  <Step title="Choose a timezone">
    Select the timezone Duckie should use when evaluating the schedule.
  </Step>

  <Step title="Select mode and save">
    Choose **Live** or **Testing**, save the deployment, and keep it **Active** when you want the schedule to run.
  </Step>
</Steps>

## Schedule Options

| Option                     | Use it when                                                                                |
| -------------------------- | ------------------------------------------------------------------------------------------ |
| **Preset**                 | You want a common schedule such as hourly, daily, weekdays, or weekly.                     |
| **Describe your schedule** | You want Duckie to convert text such as `every weekday at 9am EST` into a cron expression. |
| **Cron expression**        | You already know the exact five-field cron schedule you want.                              |

Custom cron expressions use the standard five-field format:

```text theme={null}
minute hour day-of-month month day-of-week
```

For example:

```text theme={null}
0 9 * * 1-5
```

This runs at 9:00 AM on weekdays in the selected timezone.

<Note>
  Scheduled deployments must run at least five minutes apart. Duckie rejects schedules that fire more frequently.
</Note>

## Timezones

The selected timezone controls when the schedule runs. Duckie shows a preview of the next scheduled run times after you choose a schedule and timezone.

Use the timezone where the work should happen, not necessarily the timezone where you are configuring the deployment. For example, choose `America/New_York` for a weekday 9 AM East Coast check-in.

## Deployment Mode

Scheduled deployments use the same deployment modes as other deployments:

| Mode        | Behavior                                                      |
| ----------- | ------------------------------------------------------------- |
| **Testing** | Runs with testing safeguards before you rely on the schedule. |
| **Live**    | Runs the selected agent on each scheduled fire.               |

Start new scheduled deployments in **Testing** mode, then switch to **Live** after you review the run output.

## Monitoring Scheduled Runs

Active scheduled deployments show the next run time on the deployment card. When you open an active scheduled deployment, Duckie also shows schedule timing details for that deployment.

Scheduled runs appear in **Analyze > Runs** with the source **Scheduler**. Use this view to confirm that the schedule fired, inspect the agent's output, and compare scheduled runs with other deployment traffic.

## Best Practices

* Give the agent clear instructions for what recurring work it should perform.
* Choose an interval that gives the agent enough time to finish the expected work.
* Use Testing mode before relying on a scheduled deployment.
* Keep schedules narrow and intentional; create separate scheduled deployments for unrelated recurring jobs.

## Next Steps

<CardGroup cols={2}>
  <Card title="Create Deployment" icon="plus" href="/deployments/creating-deployments">
    Set up a deployment
  </Card>

  <Card title="Deployment Modes" icon="toggle-on" href="/deployments/deployment-modes">
    Test before live scheduled runs
  </Card>

  <Card title="Runs" icon="chart-line" href="/analytics/runs">
    Review scheduled run history
  </Card>
</CardGroup>
