Business Problem:
The current read/unread logic is global: the moment any single user opens a conversation, it is marked as read for the entire workspace. In a multi-role team this breaks the core purpose of the unread indicator. The highlight no longer means "you have not seen this yet"; it only means "nobody has clicked this yet." As a result, new inquiries silently disappear from the Sales Team's view, responses are delayed or never sent, and we are consistently breaching our response-time SLAs. For a sales-driven business where first response speed directly determines conversion, every hidden message is a lost lead.
Use Case:
  1. A new inbound message arrives from a prospective patient.
  2. A Manager or QA Specialist opens the conversation for a few seconds to monitor or audit it. They have no intention of replying; that is the assigned agent's job.
  3. The unread highlight is instantly removed for every user in the workspace, including the assigned Sales agent.
  4. The Sales agent scans their inbox, sees no unread conversations, and reasonably concludes there is nothing new.
  5. The customer receives no reply. The lead goes cold, and in many cases contacts a competitor.
This is not an edge case. Supervisory review is a routine, daily part of our workflow, which means the problem repeats constantly and scales with every manager, QA reviewer, and team lead we add. The more oversight we apply, the more messages we miss, which is the opposite of how the platform should behave.
Expected Outcome:
Read/unread status must be tracked independently for each user, not shared at the workspace level.
  • A conversation must remain highlighted as unread for every user until that specific user opens it.
  • Opening a conversation must affect only the read state of the user who opened it.
  • Unread counters, inbox filters, and notifications must reflect each user's own read state.
Optional but strongly preferred:
  • A "view without marking as read" option for Managers and QA roles, or a role-level setting that prevents supervisory views from changing read status.
  • Visibility into which users have and have not read a conversation, so managers can confirm the assigned agent has actually seen it.
Impact:
Without per-user read tracking, the unread indicator cannot be trusted, and our team is forced to manually re-check every conversation to avoid missing customers. This removes the value of the inbox as a triage tool and makes it impossible to scale supervision without harming response times.