Features

Automations & channels

An automation runs an agent when something happens instead of when someone asks. A channel lets people reach the same agent from Slack or Teams. Both go through the one execution path, so an agent gains no new powers โ€” and loses no governance โ€” by being triggered rather than chatted with.

Anatomy of an automation

PartWhat it decides
TriggerWhen it fires โ€” a schedule, an inbound call, a change it watches for.
AgentWhich agent runs, and at which version.
Input templateThe prompt, with placeholders filled from the trigger payload.
DeliveryWhere the result goes โ€” inbox, email, a channel DM, or an outbound webhook.

Triggers

Cron โ€” on a schedule

A cron expression plus an IANA timezone. Next-run times are computed in the target zone, so "9am America/New_York" stays 9am across daylight-saving changes. The app ships a schedule builder for the common cases, so you don't have to hand-write the expression.

0 9 * * 1-5     America/New_York     # weekdays at 9am local

Webhook โ€” when something calls in

Watch โ€” when a page or feed changes

Polls a URL on an interval (five minutes or slower). It uses conditional requests where the server supports them, and detects change by content hash or by a JSON path you nominate. The first poll only establishes the baseline, so you don't get a spurious "everything changed" on day one.

Email-in โ€” when mail arrives

A per-automation address turns an inbound message into a run, with {{email.*}} available to the prompt and attachments stored as documents. Off unless the deployment enables it.

Wake-up โ€” when an agent asks for one

A one-shot future trigger an agent schedules for itself with schedule_followup ("check whether the vendor replied on Thursday"). It fires exactly once and is bounded by the wakeup policy caps. Users see wake-ups in the automations list, badged as such, and can cancel them like anything else.

How dispatch stays honest

PropertyHow
Exactly once per slotDue automations are claimed before they fire, against a ledger keyed by the scheduled time. A restart replaying the same slot cannot double-fire.
No thundering herdDue work is claimed with row-level locking and skipped if already held, and per-user concurrency is bounded.
Backoff on failureRetries back off exponentially from 30 seconds, capped at ten minutes.
Auto-pauseAfter ten consecutive failures the automation pauses itself and notifies its owner, instead of failing forever in silence.
Deprovision cascadeWhen a user is removed, their automations are disabled and the due sweep skips them.

Delivery

TargetNotes
InboxAn in-product notification. Always available; the default.
EmailVia configured SMTP.
Channel DMA Slack or Teams direct message, using the linked workspace.
Outbound webhookHMAC-signed, so the receiver can verify it came from your deployment.

Automations are managed under Automate: create, edit in place, pause and resume, and inspect the run history for each one.

Channels: Slack and Teams

A channel connects an external workspace to your organization. Once linked, people talk to agents where they already work โ€” and every message still creates a normal run with normal governance.

How a message becomes a run

  1. Verify

    The request signature is checked, with a replay window. An invalid signature is rejected outright, with no side effects.
  2. Map the person

    The external account is mapped to a platform user by verified email. If there is no match, the platform asks them to sign in โ€” it never silently creates an account, because doing so would invent an identity to run under.
  3. Pick the agent

    The workspace's default agent, or a sticky per-thread choice made with /agent <slug>.
  4. Run and stream

    The thread maps to a conversation, and the answer streams back as progressive message edits rather than a wall of fragments.

What works in-channel

The channel is a surface, not a bypass Ring visibility, policies, DLP, approvals, budgets, and audit apply identically to a Slack message and a web chat. There is no "channel mode" with looser rules.

Notifications

The inbox is the common destination for everything that needs a person: approvals awaiting a decision, automation results, skill proposals, budget alerts, quality-drift alerts, and automation auto-pause notices. Approvals and proposals are actioned directly from there.