Quick Reference for AI Agents & Developers
- The parent
Viewmust be sized (flex: 1) — an unsized parent renders the call invisibly CometChatCallsis a singleton: one active session, one mountedComponent, and actions take no session id- The
Componentalready renders mute / video / camera / layout / leave — do not add your own controls - Related → Session Settings · Events · Actions
Generate Token
Before joining a call, you need to generate a call token. The token authenticates the user for the specific call session.The
sessionId should be unique for each call. You can use a UUID, a combination of user IDs, or any unique string that identifies the call session.Join Session with Component
TheCometChatCalls.Component renders the call UI. Pass the generated token and a plain sessionSettings object to join the session. Subscribe to call events with CometChatCalls.addEventListener and unsubscribe on cleanup.
Two equivalent ways to remove a listener. Call the returned function, or pass
addEventListener returns an unsubscribe function and
also accepts an optional AbortSignal:{ signal } and abort() the controller — one AbortController
removes every listener registered with its signal, which is why the examples here use it. Neither
supersedes the other; other pages show the unsubscribe form.Component Props
Complete Example
One Session at a Time
CometChatCalls is a singleton that holds a single active session. Render one CometChatCalls.Component at a time - joining a second session while one is in progress is not supported. Leave the current session first, wait for onSessionLeft, then join the next one.
leaveSession() and the other actions take no session ID - they always apply to the session that is currently active. See Single Active Session for the full behavior.
Error Handling
Common errors when joining a session:Related Documentation
- Session Settings - Configure call settings
- Actions - Control the call programmatically
- Events - Handle call events