Developers/Real-time events
Real-time events
Subscribe to live inbox and call events in real time.
Chatasist broadcasts conversation activity in real time over WebSockets. Your own clients can subscribe to the same events to build live experiences.
Channels#
Events are scoped to avoid cross-workspace collisions:
| Channel | Carries |
|---|---|
tenant.{companyId}.chat.{chatId} | Events for one conversation. |
tenant.{companyId}.customer.{customerId} | Events for one customer. |
App.Models.User.{id} | Per-agent notifications. |
These are private channels — clients authorize through a broadcasting auth endpoint before subscribing. Operators obtain a subscription token from the app; the widget has its own broadcasting auth route.
Events#
| Event name | Meaning |
|---|---|
new-chat-message | A new message, delivered to the agent's user channel. |
new-message-in-chat | A new message on a conversation/customer channel. |
chat.updated | A conversation changed (status, assignment, etc.). |
chat-message-edited | A message was edited. |
chat-message-deleted | A message was deleted. |
agent.typing-started / agent.typing-ended | Agent typing indicators. |
call.incoming / call.answered / call.ended | Call lifecycle. |
The website widget and Flutter SDK already consume these events — you only need to wire them yourself when building a custom client.
API tooling
Credentials, the mobile API, and machine-readable specs.

