Hi,
We’re currently evaluating Sendbird as a potential chat provider for a healthcare platform.
One of our requirements is the ability to audit when an agent accesses or views a conversation, even if they don’t send a message or perform any other action.
Does Sendbird expose an event, webhook or API that allows us to track when an agent opens or views a conversation?
I couldn’t find anything in the documentation covering this.
Thanks!
Hi Chris,
Sendbird does not have an event or webhook that fires when a user simply opens or views a conversation without doing anything else.
If you need to know when an agent read messages that were unread for them, read receipts cover that:
- Call markAsRead() when the agent opens the conversation, as our docs recommend.
- Sendbird then sends the group_channel:message_read webhook to your server. Enable this event under Settings > Chat > Webhooks in the Dashboard.
- The event fires once per channel, when the agent’s unread count drops to zero. It records that the agent had read everything up to that time, not which individual message they read. If you need per-message records, compare each message’s created_at with the time of the read event. If new messages arrive while the agent has the conversation open and the console marks them as read, the event fires again. Storing each event on your server gives you a read history.
Please keep in mind:
- The event reflects the read status your app reports through markAsRead(). It is not a server-side record of what was shown on screen.
- An agent reopening a conversation they have already read produces no event.
- Read receipts are not supported in Supergroup channels.
For a full audit of every time an agent opens a conversation, we recommend logging it in your own agent console or backend at the moment the conversation is opened, and using the read-receipt webhook as a secondary signal.
Webhook events: Overview | Chat Platform API | Sendbird Docs
Please let me know if you have any further questions.
Hi Chris,
I just noticed you posted this under Sendbird Desk, so here is a follow-up for the case where your agents work in Sendbird Desk.
Sendbird Desk also has no event, webhook or API that records an agent opening or viewing a ticket. The Sendbird Desk webhook events cover ticket creation, status changes, closing, transfers, CSAT updates and agent connection status, but not views.
What Sendbird Desk does record, which you can use as part of an audit trail:
- Assignment history per ticket. GET /tickets/{ticket_id}/assignments returns every assignment on a ticket, newest first, with the agent, when the ticket was assigned (assignedAt), when the agent first responded (respondedAt) and when the assignment ended (endedAt).
- Transfers. The TRANSFER.CREATED webhook fires each time a ticket is transferred.
- Agent connection logs. GET /agent_connection_logs, or the AGENT_CONNECTION_LOG.CREATED webhook, records each time an agent’s status changes between ONLINE, AWAY and OFFLINE, with the time and reason.
Together these show which agent had access to a ticket and when, and when they acted on it. They do not show an agent opening a ticket without responding.
If you need that level of detail, it has to be logged at the point where the agent opens the ticket. That is only possible if your agents use an agent interface you build yourself. The Sendbird Desk agent view in the Sendbird Dashboard cannot be extended to add your own logging.
Please disregard the Supergroup note in my earlier reply. Sendbird Desk tickets are regular group channels.
References:
Please let me know if you have any further questions.