Event model
Theevents channel is your realtime stream for call state updates.
Core events:
incoming_callcall_answeredcall_endedcall_participant_joinedcall_participant_leftcall_transcript_deltacall_transcript_completedcall_ai_audit_event
Authentication model
Use short-livedsession_token values minted by your backend.
Do not connect browser sockets with publishable keys.
Recommended state shape
UsecallUuid as your primary key in client state.
Bootstrap + realtime merge
- Load initial call rows from your backend.
- Subscribe to realtime events with
joinEventsChannel(). - Apply event deltas to local cache by
callUuid. - Re-fetch on important transitions.
Minimal reducer pattern
Practical tips
- Keep event handlers idempotent.
- Re-mint session tokens on reconnect failures.
- Handle socket setup failures gracefully and keep UI usable.
Related pages
- Session token flow:
/guides/realtime-session-tokens - Getting started flow:
/guides/getting-started-classic - RPC action details:
/sdk-js/rpc-actions

