An automation is a trigger attached to a workflow. The workflow says what to do; the automation says when to start another run.
An automation uses:
- A workflow, including the agent that owns it
- An owner, whose automation chat and connected access are used
- A trigger, such as a schedule, an event from a connected service, or an inbound webhook
What runs each time
Each firing starts a new run in the automation chat for that workflow and owner. It does not create a brand-new chat on every firing. Automations owned by the same member for the same workflow reuse that automation chat.
The run uses the workflow's current instruction and the trigger payload. Because the chat is reused, earlier runs remain in its thread history. If a task must behave statelessly, say so in the workflow instruction and tell it to use only the current event or an explicit time window.
The model is selected on the automation chat thread, not on the agent or workflow. When the automation chat is first created, its model starts from the member default and then the workspace default. Later firings reuse the model selected for that thread.
Open the automation chat to inspect its runs, outputs, and visible errors. A failed firing remains visible there so you can correct the workflow, connector access, or trigger and run it again.
Trigger reference
The automation picker on a workflow is the source of truth for what the current workspace can create. Some event types are released behind workspace feature switches and therefore may not appear everywhere.
Schedules
| Type | Behavior |
|---|---|
| Scheduled | Runs at wall-clock times using a cron schedule and an IANA time zone. |
| Interval | Waits the configured interval after a run completes, then schedules the next run. Runs do not overlap with themselves. |
| Once | Runs at the selected date and time, then disables itself. |
Confirm the time zone shown in the automation before saving. Use a scheduled automation for wall-clock timing and an interval automation for polling where spacing after completion matters.
Gmail
| Event | Filters |
|---|---|
| New message | Optional From, To, Cc, Subject, and body text matchers. With no matchers, every new message is eligible. |
| Label applied | One Gmail label name. |
Start with narrow new-message filters so a busy inbox does not create an unexpected number of runs.
GitHub
| Event | Common filters |
|---|---|
| Pull request | One repository and one action: opened, reopened, closed, ready for review, converted to draft, synchronized, added to or removed from the merge queue, labeled, or unlabeled. Narrow by base branch, author, PR number, or label. For closed, you can distinguish merged from closed without merging. |
| Workflow run completed | Repository, workflow, conclusion, branch, triggering event, and actor. |
| Workflow job completed | Repository, workflow, job, conclusion, branch, runner label, and runner group. |
| Pull request review submitted | Repository, review state, base branch, head branch, and trusted author. |
| Deployment status created | Repository, environment, state, ref, creator, app, and production-environment flag. |
| Issue or pull-request comment created | Repository, issue/PR scope, trusted author, and comment prefix. |
There is no separate GitHub label applied event. To react to a PR label, choose Pull request, select the Labeled action, and add a label filter.
Google Calendar and Meet
- Calendar event created, updated, or cancelled, scoped to the calendar ID you choose
- Google Meet transcript generated, for meetings organized by the connected member
Chat and other integrations
- Chat run finished watches one of your chat threads. It can filter by completed, failed, or cancelled status and, for completed runs, a case-insensitive
*wildcard matched against the final reply. - Webhook received creates a signed inbound URL and is available when the workspace plan includes webhook automations.
- Google Forms response submitted, Notion page/database events, Strapi entry published, and Stripe invoice paid appear only in workspaces where those automation features are enabled.
Event automations also require the relevant connector or integration to be connected and ready for the automation owner.
Creating an automation
From a chat that works. Run the task as a one-off first. When it produces what you want, say:
"Run this every weekday at 8 a.m. Los Angeles time and DM me the result."
Okou confirms the workflow, the cadence, and the destination, saves the workflow if it doesn't exist yet, and attaches the automation.
Explicitly. Open a workflow in your workspace and add an automation to it, choosing the trigger type and its filters. Useful when you know the shape ahead of time and don't want a dry run.
Automations can be enabled and disabled individually without deleting them — the right move before a vacation, or while you debug a noisy trigger.
Destinations
An automation needs to know where the result goes. State it in the workflow instruction:
- Slack channel or DM — most common; lands in the channel as a message or thread
- Feishu or Microsoft Teams — same idea for teams that live there
- Telegram or text message — for personal, mobile-first alerts
- A Notion page or database — for things that should be archived rather than broadcast
- A Google Doc or Sheet — appended or overwritten
- A GitHub issue or PR comment — for engineering workflows
- A Gmail draft — prepared in your account for you to review and send
- A hosted page — see Hosted sites
- A workspace file — when the artifact is a video, image, or downloadable asset
"Post to #engineering" or "DM me" is clearer than "send it somewhere."
Operating tips
These come from running automations in production:
- Watch the first three runs. Automations are easy to set up; they're easier to refine once you see what Okou actually produces in your environment.
- Keep each task small. Long, multi-step automations are more brittle. If a single one has to update five systems, consider splitting it in two.
- Pin the destination. Channels get renamed and people leave. Name the destination explicitly in the workflow instruction; Okou will warn if it can't find it next run.
- Time-bound long-running queries. If the prompt asks for "the last 30 days," restate that on every run so the window stays fresh.
- Confirm the time zone. Scheduled and one-time automations store an explicit time zone; check the value shown before saving.
- Pause before vacations. Especially for automations that DM you — coming back to 14 brief DMs isn't useful. Disable the automation and re-enable it when you're back; the workflow stays intact.
Costs and volume
An automation firing starts a normal run and can consume credits according to the model route and services it uses. Review the automation chat and Billing when estimating cost.
Short intervals multiply quickly: an interval of 15 minutes can run up to 96 times in a day if each run finishes before the next interval elapses. Broad event filters can be equally noisy. Start narrow, inspect the first few firings, then widen the filter or cadence deliberately.
Disable an automation when you want to stop new firings without deleting its workflow or history.
What's next
- See Workflows for the procedure an automation runs.
- See Chat for what happens inside each run.
- See Example workflows for five complete workflow-plus-automation combinations.