Channel threads
Side conversations inside each channel, with a personal thread list and agents that stay in the discussion.
Proposal — not built yet. Agreed product direction with Vee, for alignment with Turbo.
Take a side conversation out of the main channel without losing its context. A supplier question stays in the channel; the comparison, attached quotations and agent answer live in its thread.
Try the wireframe
Switch between Desktop and Mobile. Click a reply count to open a conversation, or use the channel panel to browse your threads. The preview uses sample content; sending and edge cases are not simulated. Reply actions are exposed beneath messages for the demo; in the product they belong in the message action menu.
Open the wireframe in a new tab ↗How it works
- Reply or Reply in thread: Reply stays in the main channel. Reply in thread opens a separate discussion attached to that message; its first sent reply creates the thread.
- A small summary under the root: participant avatars, reply count and latest-reply time open the conversation. Participants are people or agents who posted, not everyone following.
- Inside the existing channel panel: Threads sits alongside App, Activity, Routines and Members. Choose a conversation, then use Back to return to the list. The drawer toggle closes the panel; mobile uses the full-screen counterpart.
- Your list, in this channel: starting, replying or being directly mentioned adds a thread to your personal list, ordered by latest activity. A thread in #general never appears in #random. Simply viewing one does not add it.
- Only mentions interrupt: ordinary thread replies stay silent, including replies to your own message. No Following label or mute control.
- Agents stay in the discussion: mention an agent to invoke it; reply to its answer to continue. Progress, questions, approvals and answers stay in the thread. The channel’s auto-capture rules still apply to drops there.
A few boundaries
- Before the first reply: show “Reply to start this thread.” Opening it creates no empty thread in the list; leaving preserves your draft and channel position.
- Read state: replies become read when viewed in the thread, not when opening the channel or list.
- Deleted messages: deleting the root leaves a placeholder and keeps the discussion. Withdrawn replies retain their placeholders and remain in the count.
- Mention links: open the parent channel and its thread; thread Back returns to that channel’s personal list.
- Existing replies: inline replies stay where they are.
- Out of scope: nested threads, titles, private-thread invitations, closing/archiving and “also send to channel”.
- Access: everyone’s existing channel access still applies; a mention grants no new permissions.
For implementation alignment: Turbo should lead the backend/runtime prep for thread messages, personal lists/read state, mention-only notifications and thread-aware agent/capture work.
The current messaging contract needs an owner-reviewed extension before implementation.
Detailed requirements and acceptance checks live in docs/product/WS002_chat-enhancements/WS002_threads-prd.md; the decision record is 0273.
LINE
What a Woodstock agent could do inside a LINE group — answer from your knowledge, send reminders, keep the files people share — and what LINE won't allow. Explored in a prototype; not in Woodstock yet.
Long agent work — watch it, steer it, stop it
When an agent works on something long, the team watches it in one reply that fills in as it goes, can add to or correct the task while it works, can stop it, and always gets an honest answer — never just "it ran out of time". Mockups of every moment, what changes from today, and the order it ships in.