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

# Schedule a workflow

> Run one or more workflows on a cron schedule with a cron trigger.

export const DocMeta = ({type, applies, owner}) => {
  const LABELS = {
    tutorial: "Tutorial",
    "how-to": "How-to guide",
    explanation: "Explanation",
    reference: "Reference"
  };
  return <div className="e6-meta">
      <span className={type === "how-to" || type === "tutorial" ? "e6-eyebrow" : "e6-eyebrow e6-eyebrow--quiet"}>{LABELS[type] || type}</span>
      {applies ? <span>Applies to: {applies}</span> : null}
      {owner ? <span>Owner: {owner}</span> : null}
    </div>;
};

<DocMeta type="how-to" applies="Kubernetes deployments" />

A cron trigger runs one to ten workflows on a schedule.

## Create a cron trigger

1. Select one to ten workflows.
2. Enter a standard five-field cron expression, in **UTC**. The default minimum interval is five minutes; your operator can change it.
3. Add shared and per-workflow Jinja input mappings.
4. Set retries and backoff.
5. Enable the trigger.

For example, `0 9 * * 1` runs every Monday at 09:00 UTC.

## How schedules run

<Tabs>
  <Tab title="Kubernetes">
    The API reconciles one Kubernetes `CronJob` per enabled cron trigger. Each CronJob forbids overlapping runs and has a 300-second missed-start deadline. The durable trigger record stays the source of truth.
  </Tab>

  <Tab title="Local Compose">
    The local Compose profile doesn't run cron automation. Use a Kubernetes deployment for scheduled workflows.
  </Tab>
</Tabs>

## Related

* [Trigger reference](/agentflow/reference/triggers)
* [Start workflows from webhooks](/agentflow/automate/webhooks)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.