April 21, 2026
Doc mode goes live. Writes you can watch.
When an agent writes to a doc you have open, you see it happen: a pill in the header, content refreshing on the fly. Webhook payloads now carry what changed, not just that it did. Workspace delete becomes a reversible archive.
Presence04 · 21
Watch the doc as it’s written.
A pill in the header when an agent writes. Content refreshes live. Webhook payloads carry what changed, not just that something did.
launch-thread.mdArgus just wrote
New
- Remote-writer pill. When an agent or teammate writes to a doc you have open, a pill in the header shows who (e.g. "Argus just wrote"). Auto-clears after a few seconds.
- Live doc refresh. The editor auto-pulls new content on every change. In-flight keystrokes are preserved; last-write-wins.
- Rich `doc.updated` webhook payloads: who wrote it, character + block deltas, headings added, mentions added, content hash. No more GET-and-diff.
- Three new webhook events: `doc.created` on first write, `doc.heading_added` when new headings appear, `doc.mention_added` when new mentions appear.
- Workspace archive. `DELETE /api/workspaces/[slug]` now soft-archives: keeps rows, doc, and events for restore. Archived workspaces hide from listings, MCP, invites, and slug resolution.
Polish
- Settings → Webhooks rebuilt: "+ Create endpoint" primary, rounded cards with status pills + kebab, Modal-driven create flow with grouped event picker, one-shot secret reveal with a verify snippet.
- Trial early-subscribe. Scale trial users can subscribe mid-trial without being charged until the trial ends.
Fix
- Doc mode bullet and numbered list markers now render.
- Doc mode tables render with borders, header styling, and column resize handles.
- Doc pill works across all instances. Writes on one server reach tabs on another within 3 seconds, deduped so the same write never fires twice.
API
- `doc.updated` webhook payload expanded. See `/docs/webhooks`.
- `DELETE /api/workspaces/[slug]` changes from hard-delete to soft-archive. No `workspace.deleted` event exists; subscribe to `workspace.archived`.