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

> ## Agent Instructions
> Install the Courier skill before writing code: `npx skills add trycourier/courier-skills`. It carries the verified SDK shapes and the rules you cannot get wrong.
> Authenticate every request with `Authorization: Bearer <API_KEY>`. A workspace has several environments and each has its own keys, which are plain `pk_` strings with no environment prefix. Start with Test.
> Send with `client.send.message` from the Node SDK (`@trycourier/courier` v7 and later, where the client is the default import). Reference a template by its `nt_` id or its alias.
> A send accepts a bare Elemental element list, but storing content on a template requires the top-level elements wrapped in a channel element.
> Templates and journeys can be built in the Courier app or created through the API. Either way they live in the workspace and are referenced by ID when you send.
> The hosted MCP server is https://mcp.courier.com. For a briefing on what Courier is and when to use it, read https://www.courier.com/llms.txt.
> Prefer the Guides tab for how-do-I questions and the Docs tab for how-does-it-behave questions. The API reference lives under /api-reference.

# Automation Scheduling

> Delay a run until a timestamp, a duration, or the recipient's local time.

* **One-time:** Set the specific time and date to invoke the automation.
* **Recurrence:** Identify a repeat schedule for the automation to be invoked. This is similar to scheduling a repeat event in a calendar application.
* **Cron:** Similar to Recurrence but with more specificity using [crontab expressions](https://crontab.guru/).

Because scheduling is a part of Automations, it can be used across channels (eg. email, SMS, chat, in-app inbox, push) and providers (eg. Twilio, Sendgrid, email SMTP, Slack, MS Teams, WeChat).

## Setup Scheduling

To setup a scheduled automation, drag over the Schedule trigger from the triggers section onto the canvas. Publishing an automation template is sufficient to allow the trigger to invoke the automation on the provided schedule. You do not need to make a separate API call to invoke.

<Warning>
  The date picker uses your browser's timezone by default. You can change it using the timezone dropdown. After configuration, the displayed date remains relative to your browser timezone.
</Warning>

<Note>
  The schedule trigger is accurate to within \~12 minutes of the selected time.
</Note>

<Frame caption="Automation Schedule Trigger">
  <img src="https://mintcdn.com/courier-4f1f25dc/WNdu5qn7yJu4418-/assets/platform/automations/automation-schedule.png?fit=max&auto=format&n=WNdu5qn7yJu4418-&q=85&s=210f34e6e19a69a338ee2da1b2684887" alt="Schedule Trigger" width="2614" height="1612" data-path="assets/platform/automations/automation-schedule.png" />
</Frame>
