Automation

Triggers

A trigger is what wakes an Agent up. Every Agent has at least one. Picking the right trigger is the difference between an Agent that's helpful and one that's noise.

The three kinds#

1. Event triggers (real time)#

The Agent listens to your Event Stream and runs when a specific event happens. This is what makes River feel ambient — the Agent acts the moment something relevant occurs, not later.

Common event triggers:

Event When it fires
email.received A new email arrives in a connected inbox
email.received.fromContact An email arrives from a specific contact or domain
task.created A new task is added
task.completed A task is checked off
entity.created A new entity of a specific type appears
file.uploaded A file lands in a connected Drive folder
integration.connected A new service is connected
transcript.ready A meeting transcript finishes processing

You can scope an event trigger — for instance, only fire email.received for emails matching a sender domain or labeled "Investors."

2. Schedule triggers (cron)#

The Agent runs on a recurring cadence. Cron expressions are supported, but most Schedules are written in plain language ("every weekday at 7am", "the first of each month").

Use a Schedule when:

  • The work is predictable and time-bound (morning briefing, weekly recap, monthly billing summary)
  • You want the result waiting for you when you sit down
  • The data sources are reliable on a cadence

See Schedules for full options.

3. Manual triggers (on demand)#

The Agent only runs when you click Run now in the AutomationsApp, ask SpaceChat to invoke it, or call it via the API.

Use a manual trigger when:

  • You're still iterating on the Agent
  • The work is intermittent or context-dependent
  • The user always wants to be in the loop

Most Agents support manual triggers in addition to their primary trigger — useful for testing and for rerunning after an edit.

Combining triggers#

A single Agent can have multiple triggers. The same Morning Briefer can:

  • Run automatically every weekday at 7am (Schedule)
  • Run when a new investor update arrives (Event)
  • Run on demand from your assistant (Manual)

Each trigger fires independently. Each run is its own Job.

Choosing the right trigger#

Ask yourself: "What changes in the world that should make this Agent care?"

  • If the answer is time → use a Schedule.
  • If the answer is something specific happens → use an Event.
  • If the answer is I haven't decided yet → use Manual until you do.

Avoiding noise#

The most common mistake is using too broad a trigger. email.received fires on every email — including newsletters, automated replies, and yourself. The Agent will burn through tokens triaging spam.

Always scope event triggers:

  • Limit by sender, domain, or label
  • Limit by entity type or Group
  • Limit by time of day (some triggers support quiet hours)
  • Add an early "is this relevant?" Skill in the Agent's persona to bail out fast on obvious non-matches

Tips#

  • Start with manual triggers, get the Agent right, then move to events or schedules.
  • Use the Job history to see how often your trigger fires — surprise volume is a sign it's too broad.
  • When in doubt, add a "draft only" rule to the persona so a misfiring trigger doesn't ship something embarrassing.