A workstream is a named slice of your project tracked as a single unit. You pick the topics and prompt attributes that define the slice, set a target visibility (and optionally a deadline), and OpenLens computes the metrics for that slice on its own clock.Documentation Index
Fetch the complete documentation index at: https://docs.openlens.com/llms.txt
Use this file to discover all available pages before exploring further.
What goes in one
- Name. 1 to 120 characters.
- Topics. A subset of the project’s topics. Empty means all topics in the project, resolved at query time.
- Prompt attributes. A subset of the project’s attributes. Attribute filtering uses AND logic: a prompt must carry every selected attribute to be included.
- Goal. Up to 300 characters of free text plus an optional target visibility (0 to 100) and an optional deadline (
YYYY-MM-DD). - Goal history. Goal updates append. Past goals stay in the record with their from-date. Mid-quarter edits don’t retroactively reinterpret the chart.
The dashboard’s attribute filter supports any-of, all-of, and hide modes. Workstreams support only all-of (AND). If you want to slice with OR or NOT, use the dashboard filter for that ad hoc.
What you get out
Header (always rendered)
- Current visibility for the slice. Computed live from raw platform responses.
- Delta in points over the last 30 days (configurable per request).
- Progress toward target as a percentage. Null if no target visibility is set.
- Days to deadline. Null if no deadline.
- 30-day sparkline for the card.
Trend view
- 90-day visibility series (configurable per request).
- Content-update pins on the timeline at each ship date.
- Per-content-update attribution. Citation-appearance-lag per platform and prompt-coverage-shift.
Breakdown view
- Prompt movers. The slice’s individual prompts ranked by absolute change in visibility over the configured window (7 to 90 days, default 30). Each row shows the prompt text, its topic, visibility at start, visibility now, and the delta in points.
- Competitor share. Per-brand visibility for the slice, your brand plus competitors.
asOfRunId. The specific run the breakdown was computed against. The numbers are auditable.
Content updates
Tag a content update (your own blog post, a press release, a partner mention) against a workstream and OpenLens computes:- Citation-appearance-lag per platform. When each AI platform first cited your URL (or its domain) after the ship date. Null if it hasn’t been seen yet.
- Prompt-coverage shift. How many of the workstream’s prompts mentioned your brand at ship vs now.
Defaults
- Header delta window: 30 days.
- Trend series window: 90 days.
- Breakdown window: 30 days, clamped to 7 to 90 per request.
- Default attribute filter on create:
non-branded. You can clear or extend it.
How outputs are produced
- Current visibility, delta, and trend series are computed live from raw platform responses for prompts matching the workstream’s topic and attribute filters.
- Empty
topicIdsat create time is materialised at query time to all current topics in the project. Adding a topic to the project later automatically widens existing all-topics workstreams. - Content updates are user-supplied. Citation lag and coverage shift are computed from existing platform responses against the update’s ship date.
How to use it
- One workstream per real-world initiative.
- Pick a target visibility you actually want to hit.
- Tag content updates as you ship them.
- Check the sparkline weekly. Run the deep view monthly.
MCP and API
MCP tools:manage_workstream, update_workstream_goal, get_workstream, get_workstream_breakdown, list_workstreams.
REST endpoints:
GET /api/workstreams?projectId=...— list (returns headers).POST /api/workstreams— create.GET /api/workstreams/[id]— get one (resolved).PATCH /api/workstreams/[id]— update name, topics, attributes.PATCH /api/workstreams/[id]/goal— set a new current goal (appends to history).GET /api/workstreams/[id]/breakdown?days=N— prompt movers + competitor share.POST /api/workstreams/[id]/archive— archive.POST /api/workstreams/[id]/unarchive— restore.
workstreams, workstream_topics, workstream_attributes, workstream_goal_history), not text arrays. Deleting a topic or attribute keeps referential integrity through the FKs.