Skip to main content

Activity log

Every campaign carries a per-campaign activity feed — who edited what, who reviewed an AI diff, who left a comment. It’s the audit trail for collaborative campaign work, distinct from the per-user notification delivery channel.

TL;DR

  • One activity log per campaign, accessible from the campaign detail “Activity” tab.
  • Records edits, status promotions, AI proposals, comments, implementation-task resolutions.
  • Updates in real-time so multiple reviewers see each other’s actions live.
  • Distinct from the Notification Center widget — the activity log is a dashboard-side feed, not a user-facing channel.

What gets recorded

Per the spec: Each entry carries:
  • Actor — the user (dashboard team member) who performed the action.
  • Timestamp — when it happened.
  • Type — one of the categories above.
  • Payload — type-specific detail (the diff, the comment text, the status transition, …).

How to use it

Real-time updates

The activity tab streams updates as they happen — multiple reviewers see each other’s edits and comments live without refreshing. The mechanism is server-side; the dashboard subscribes once when the tab opens. The streaming channel is dedicated to collaborative team feeds — flat per-campaign updates, one or a few reviewers at a time. The Notification Center widget streams over a different channel optimised for per-user notification inboxes; don’t conflate the two. The activity log isn’t exposed to your customer’s widget: it’s a team-collaboration surface inside the dashboard, not a delivery channel and not part of the public SDK.

Retention

Activity entries have no retention window: the whole timeline of a campaign is kept, and nothing is archived or purged. It does not follow the per-message delivery retention — messages are emptied and deleted on their own schedule, the record of the team’s work is not.

Distinct from the Notification Center channel

A common mistake: thinking the activity log and the user-facing Notification Center are the same thing. They’re not: The naming overlap (“activity”) is unfortunate; treat them as separate domains.

FAQ

The real-time stream may have disconnected briefly (laptop sleep, flaky wifi). Refreshing the activity tab re-syncs from the last entry you saw and pulls anything missed. If the comment still doesn’t appear, check the timestamp filter — a “last hour” filter hides older entries.
There is no window: entries are kept, with nothing archived or purged. The per-message delivery retention does not apply to them.
Not as a file: the activity log has no export today. Every entry stays readable in the campaign’s Activity tab, which only members of your organisation can open.
Long-lived connections occasionally drop (load balancer timeouts, idle disconnects). The dashboard auto-reconnects on visibility change and re-syncs from the last entry you saw to fill any gap. If you see persistent stalls, refresh the tab.
Not today — the activity log is a dashboard-side surface. If you have an audit pipeline that needs activity events, the right surface is a future webhook (on the roadmap); meanwhile, the periodic export covers most needs.
Plain text + emoji today. Markdown-flavored rendering is on the roadmap. The text is stored verbatim, so future Markdown support will retroactively render existing comments.

See also

Campaigns

Campaign lifecycle and versioning.

Orchestrator

AI proposals and the implementation-task system.

Observability

Tracing actions across the platform.

Notification Center overview

The user-facing channel — distinct from the activity log.