# Triggers and schedules (/work/automation/triggers-and-schedules)



## What Starts an Automation? [#what-starts-an-automation]

An automation starts one of two ways: on a **schedule** (time-based) or from an **event trigger** (something happens elsewhere). Either way, the executor still reads the workflow document and uses its own judgment about what to do on that run — a trigger firing doesn't skip straight to a fixed action.

<LivePreview component="AutomationView" scenario="{ select: &#x22;auto_digest&#x22; }" />

## Schedules [#schedules]

Set under **Execution frequency** when you create an automation (to change an existing automation's schedule, ask the executor in chat — the edit form covers name, instructions, and executor only):

| Type          | What it means                                                      |
| ------------- | ------------------------------------------------------------------ |
| **Recurring** | Every day, weekdays, every week, or every month, at a set run time |
| **Interval**  | Every N hours, days, or weeks                                      |
| **Once**      | A single run on a specific date                                    |

## Event triggers [#event-triggers]

When an automation has event triggers configured, its detail panel shows an **Event triggers** section — triggers fire the automation from something happening elsewhere, rather than a fixed clock:

* **Webhook** — an external system calls Helio's webhook URL for that automation
* **Poll** — Helio checks a connected source (a channel, a repo, a tool) on an interval and fires when it finds something matching

Each configured trigger shows when it last fired, or **Never fired** if it hasn't yet. Schedule-only automations don't show this section.

## What happens when it fires [#what-happens-when-it-fires]

The executor doesn't run a fixed action — it reads the workflow document (the same one you write when creating the automation) and decides what to do given the current state of whatever it's watching. Examples of instructions that lean on that judgment:

> Every 30 minutes, check #customer-support for new requests with no reply. Summarize anything urgent and tag it.

> Each morning, look for tasks that moved to **Blocked** since yesterday and post a summary of what's stuck to #team.

> Twice a day, check for PRs opened against main with no review and post a review checklist to the PR thread.

<Callout type="info">
  Automations follow the same trust rules as manual requests — if a run would require approval, the executor still pauses and asks before proceeding. See [Trust levels](/ai-teammates/control#how-trust-carries-forward).
</Callout>

<Cards>
  <Card title="Create an automation" href="/work/automation/create-an-ai-automation" description="Set the schedule or trigger when you create one." />

  <Card title="Manage automations" href="/work/automation/manage-ai-automations" description="Review run history and edit automations after creation." />
</Cards>
