Skip to main content
Quick Reference for AI Agents & Developers
  • What this page covers: Advanced JavaScript controls for the CometChat Widget — open specific chats, listen for events, manage users/groups, control auth sessions, and change localization.
  • Prerequisites: The standard widget snippet from the Integration guide must already be on your page.
  • Key action: Add a <script type="module"> block after the widget snippet and use the CometChatApp global helper to control the widget programmatically.

Advanced JavaScript Controls

The embed works out of the box. Use the helpers below only if you need to open a specific chat, listen for widget events, or change settings on the fly.

Before you follow advanced setup steps

  1. Keep the standard widget snippet (from the Integration guide) on your page.
  2. Add another <script type="module"> right after it or inside your site builder’s “custom code” area.
  3. Wrap your code in window.addEventListener("DOMContentLoaded", () => { ... }) so it runs after the widget loads.
  4. Replace placeholder text such as UID, GUID, and LANGUAGE_CODE with your real values.
When the widget is ready, it exposes a global helper named CometChatApp. Every example below shows a tiny recipe you can paste inside the script mentioned above.

Open a chat or start a call

Use these helpers when you want the widget to jump straight to a person/group or begin a call. Drop the snippet inside your custom script and replace UID/GUID with real IDs from your CometChat app.

Listen for widget events

Run your own code when something happens inside the widget—new message, docked bubble opened, or someone switching chats. Keep the event names as shown; just change what happens inside each arrow function.

Create/Update users on the fly

  • This will only work with authKey
If you collect names, avatars, or profile links on your site, you can push them straight into CometChat. Replace the placeholders and run the snippet after the widget loads.

Create/Update groups on the fly

If you want to create groups directly from your page, use this snippet. Replace the placeholders and run the snippet after the widget loads.

Log users in or out with code

Use an auth token if you have a backend, or fall back to a plain UID for quick tests. Run these helpers after the widget loads.
login() does nothing while someone is signed in. It returns the current user and ignores the uid you pass, because the SDK keeps its session across reloads. To change users, sign the previous one out first:

Control where data is stored

Pick whether the widget should remember login info in the browser tab only (SESSION) or across visits (LOCAL). Update the placeholders, then drop this script right after the default widget embed.
init() takes appRegion; CometChatAuth.start() takes region. They are the same value under different names, and each call rejects the other’s spelling.

Change the widget language

The widget starts in the locale you set with the language launch option, and falls back to en-US when you do not set one. You can switch locale at any time after load — run the helper and swap in the language code you need.
Popular codes Need another locale? Use the same pattern with its code (for example CometChatApp.localize("ko") for Korean).

Next Steps

HTML Integration

Go back to the basic integration guide to set up the widget snippet.

Legacy Widget

Using the older CometChat Widget? See the legacy integration guide.

Widget Overview

Return to the Widget Builder overview for a high-level walkthrough.