Triggers
The 14 GA trigger kinds that connect a flow to the real world — schedules, webhooks, SaaS events, and more.
A trigger connects a flow to the real world, so the flow starts on its own when something happens. Without a trigger, someone must press a button every time.
All 14 trigger kinds listed here are generally available — shipped, typed, and CI-verified in every release.
All 14 GA trigger kinds
| Trigger | Description |
|---|---|
| Schedule | Run on a cron schedule — every night, every hour, every Monday. |
| Webhook | An external system sends an HTTP POST and the flow fires. |
| File | A new or changed file in a watched location starts the flow. |
| An inbound email to a configured address triggers the flow. | |
| Postgres CDC | A change data capture event from a Postgres table triggers the flow. |
| MySQL CDC | A change data capture event from a MySQL table triggers the flow. |
| S3 | A new or modified object in a watched S3 bucket triggers the flow. |
| Slack | A Slack event (message, reaction, mention) triggers the flow. |
| GitHub | A GitHub event (push, PR, issue, release) triggers the flow. |
| Linear | A Linear event (issue created, status changed) triggers the flow. |
| Discord | A Discord message or event triggers the flow. |
| Twilio | An inbound SMS or call via Twilio triggers the flow. |
| Sentry | A Sentry alert or issue event triggers the flow. |
| PagerDuty | A PagerDuty incident event triggers the flow. |
| Stripe | A Stripe subscription or payment event triggers the flow. |
The eight SaaS providers — Slack, GitHub, Linear, Discord, Twilio, Sentry, PagerDuty, and Stripe — each ship with both a trigger node and a tool node driven by the same OAuth connection. Connect a provider once in Integrations, and flows can both react to its events and call back out to it.
OAuth-once auto-registration
For SaaS providers, you do not paste a webhook URL or configure the provider manually. Connect the provider in the Integrations screen and AKOS registers the webhook with the provider on your behalf — automatically, typed, and verified.
On-demand runs
A button still works. Any flow can be started on demand from the desktop app by an operator, regardless of whether it has a trigger attached.
How triggers work inside a flow
A trigger is the first node in a flow — a trigger node. Its output is the event payload, typed against the trigger's Zod schema, which becomes the initial input to the next node in the DAG. The type is enforced at flow compile time: wiring a Slack trigger output to a node expecting a GitHub payload fails the build.
Related topics
- Flows — how a trigger node fits into a flow DAG.
- Integrations (packages) — the
os-triggersandos-connectorspackages. - Run lifecycle — what happens after a trigger fires.