5.1Activity & live sync

Watch the work happen, as the agents and the team do it.

Every change to every entity lands in an append-only activity log, and the whole workspace stays live over server-sent events. The board moves, the inbox fills, and the audit trail writes itself.

app.elliptic.com/activity
ActivityDEMO
Live
  • release-bot moved DEMO-42 to In Progress
    2s
  • Ada Cole commented on DEMO-41
    1m
  • summarizer summarized Weekly platform sync
    3m
  • Theo Vance closed DEMO-39
    6m
  • intake-bot triaged 3 inbound requests
    9m
NOTIFYPostgres to SSE, no polling
AppendOnly audit trail, every entity
InboxNotifications that find you
OutboxReliable events for webhooks
5.2How it works

A workspace that never goes stale. Live sync, an audit trail, and events that travel.

Here is what each part looks like in practice.

5.2.1Live sync

No refresh, no polling. Postgres LISTEN/NOTIFY, fanned out over SSE.

When a row changes, Postgres NOTIFY wakes the API, which pushes the change to every connected client over server-sent events. The client cache updates in place, so the board and the feed move the instant the work does.

  • Postgres LISTEN/NOTIFY to SSE, with no polling loop
  • Client caches update in place, not on a timer
  • One stream behind boards, notes, and inboxes
app.elliptic.com/activity
ActivityDEMO
Live
  • release-bot moved DEMO-42 to In Progress
    2s
  • Ada Cole commented on DEMO-41
    1m
  • summarizer summarized Weekly platform sync
    3m
  • Theo Vance closed DEMO-39
    6m
  • intake-bot triaged 3 inbound requests
    9m
FIG 5.1
5.2.2The audit trail

Who did what, on every entity. An append-only log you can trust.

Every create, update, and transition is recorded against the entity it touched, with the actor, human or agent, and the time. The activity log is the audit trail, and it is the durable memory an agent reads when it comes back to work.

  • Append-only activity on every entity
  • Actor attribution for people and agents alike
  • The record an agent reads to resume where it left off
activity.json
{
  "entity":  "task:DEMO-42",
  "verb":    "status.transitioned",
  "actor":   "agent:release-bot",
  "from":    "in_progress",
  "to":      "done",
  "at":      "2026-06-28T09:14:22Z"
}
FIG 5.2
5.2.3It finds you

The right change reaches the right person. An inbox, notifications, and an outbox for webhooks.

Mentions and assignments raise notifications and fill an inbox. An outbox backbone delivers the same changes to your webhooks, reliably and in order, so the systems outside Elliptic stay in step too.

  • Notifications and an inbox that track what is yours
  • An outbox backbone for reliable webhook delivery
  • Favorites and full-text search across everything
event stream
event: task.updated
data: { "id": "DEMO-42", "status": "done" }

event: notification
data: { "to": "ada", "task": "DEMO-42",
        "reason": "mention" }
FIG 5.3
5.3Capabilities

The pulse of the company, recorded and delivered, not left to chance.

Live sync over SSE

Postgres LISTEN/NOTIFY pushed to clients, so the whole workspace moves in real time.

Activity log

An append-only trail on every entity, attributing each change to a person or an agent.

Notifications and inbox

Mentions and assignments surface in a notifications inbox that tracks what is yours.

Webhooks and outbox

An outbox backbone delivers events to your webhooks reliably, in order, with retries.

Full-text search

Search across tasks, notes, meetings, and people from one box.

Favorites and stickies

Pin the work you care about and keep quick notes close, per person.

5.4For agents

Activity is an agent's memory. It reads the log to know what changed since.

Between runs, an agent reads the activity log over MCP to catch up on everything that moved, then picks up exactly where the work left off.

company-brain MCP
brain_changes_since(cursor="2026-06-28T08:00Z")
# -> everything that moved across the org

get_entity_activity(entity="task:DEMO-42")
list_notifications(unread=true)

Built for the way your agents and team work. Available today.