Activity Feed
Real-time event stream showing pipeline runs, cron jobs, and system events across your agency.
Activity Feed
The activity feed is the central timeline on the Mission Control page. It shows a merged stream of events from pipelines, cron jobs, integrations, and manual entries — giving you a single place to see what happened and when.
What the Feed Shows
Each activity item represents a discrete event in your agency operations:
- Pipeline completions — when a pipeline job finishes (success or failure)
- Cron job results — scheduled task outcomes from the 12 built-in cron jobs
- Integration events — GitHub commits, deployments, Notion updates
- Manual entries — activity you log yourself through the API
Activity Item Structure
Every item in the feed contains:
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier |
timestamp | string | ISO 8601 timestamp of the event |
type | string | Event category (pipeline, cron, integration, manual) |
message | string | Human-readable description of the event |
metadata | object | Additional context (pipeline name, job ID, duration, etc.) |
isDemo | boolean | Whether this is a seeded demo record |
Real-Time Updates via SSE
The activity feed auto-refreshes using Server-Sent Events (SSE) from the pipeline server. When a pipeline completes or a cron job runs, the event appears in the feed without requiring a page reload.
The SSE connection is established when Mission Control loads and reconnects automatically if interrupted. The pipeline server rate-limits SSE connections to 20 per minute per IP address to prevent abuse.
Filtering and Search
You can narrow the feed by:
- Event type — filter to only pipeline, cron, integration, or manual events
- Date range — show events from a specific time window
- Search — free-text search across event messages and metadata
Filters combine with AND logic, so selecting "pipeline" type and searching for "audit" shows only pipeline events whose message or metadata contains "audit."
Demo Mode Behavior
When demo data is loaded via the WelcomeBanner, the feed is populated with 10 sample activity items. These records have isDemo: true set in the database so they can be cleanly removed with the Clear Demo Data action.
See Demo Mode for full details on how demo data works across the dashboard.