Foundations

Event Stream

The Event Stream is River's nervous system. Every action that happens in your workspace — yours or River's — gets recorded in real time as a typed event with a timestamp, an actor, and a reference to whatever entity was involved.

This is not a log file you check when something breaks. It is the living memory of your workspace, and it's what makes everything else feel intelligent.

What gets recorded#

Every meaningful action emits an event:

  • A document is created or edited
  • An email arrives
  • A task is completed
  • A file is uploaded or shared
  • An integration connects or disconnects
  • An Agent starts a Job
  • An Agent finishes a Job
  • A Schedule fires
  • A user opens an entity, lingers on a section, or selects text
  • A Workflow node runs

Each event is a structured record: { type, timestamp, actor, entityId, payload }. Your Dataspace has its own stream — world-events:{dataspaceId} — that anyone (and any agent) with access can subscribe to.

Why this matters#

A workspace that doesn't record what happens is reactive at best. Every morning you reconstruct your context from scratch, every search starts cold, every AI conversation begins empty. River refuses that pattern.

With an Event Stream:

  • Agents wake up on their own. Your Deal Researcher is subscribed to email.received from known investors. The moment one arrives, it acts — without you asking.
  • Activity becomes meaningful. You can see the shape of your day, your week, your project — what was created, what was edited, what an Agent produced.
  • The AI has memory. Conversations, decisions, and recent context flow into the AI's reasoning automatically.
  • Signal Intelligence has substrate. Patterns over events are how River detects what matters across hundreds of small moments.

Human and AI on the same stream#

The most important property of the Event Stream is that humans and AI are first-class peers on it. A human cursor edit, an Agent's tool call, an integration's webhook firing — they are the same shape of record. No special pipeline for AI actions, no second-class status for automation.

This is why agents in River feel like collaborators, not bots. They don't sit in a different system. They live in your workspace, and they participate in the same flow of events you do.

Event types you'll see#

A small sample (the full registry is much larger):

Type Fired when
entity.created Any new entity appears
entity.updated Any entity changes
email.received A new email arrives in a connected inbox
task.completed A task is checked off
agent.run.started An Agent begins a Job
agent.run.completed An Agent finishes a Job
integration.connected A new service is connected
cursor.dwelled A user lingers on a section
selection.made A user selects text or an element

Where you actually see the stream#

You don't have to read raw events. The Event Stream powers four user-facing surfaces:

The stream itself is invisible most of the time. That's the point. It's the nervous system, not the screen.

Tips#

  • Want an Agent to run when something specific happens? See Agent Triggers.
  • Want to see the raw history of a single entity? Open it and check the Activity tab in its detail view.
  • The stream is per-Dataspace. Personal events stay in your personal Dataspace; team events stay in the team Dataspace.