Prerequisites:CometChat.init() + CometChat.login() completed, AI features enabled in DashboardEvent flow: Run Start → Tool Call(s) → Text Message Stream → Run Finished
AI Agents enable intelligent, automated interactions within your application. They process user messages, trigger tools, and respond with contextually relevant information. For a broader introduction, see the AI Agents section.
After the run completes, these messages arrive via MessageListener:
Message Type
Description
AIAssistantMessage
The full assistant reply
AIToolResultMessage
The final output of a tool call
AIToolArgumentMessage
The arguments passed to a tool
TypeScript
JavaScript
const listnerId: string = "unique_listener_id";// Adding the MessageListenerCometChat.addMessageListener(listnerId, { onAIAssistantMessageReceived: (message: CometChat.AIAssistantMessage) => { console.log("AI Assistant message received successfully", message); }, onAIToolResultReceived: (message: CometChat.AIToolResultMessage) => { console.log("AI Tool result message received successfully", message); }, onAIToolArgumentsReceived: (message: CometChat.AIToolArgumentMessage) => { console.log("AI Tool argument message received successfully", message); },});// Removing the MessageListenerCometChat.removeMessageListener(listnerId);
const listnerId = "unique_listener_id";// Adding the MessageListenerCometChat.addMessageListener(listnerId, { onAIAssistantMessageReceived: (message) => { console.log("AI Assistant message received successfully", message); }, onAIToolResultReceived: (message) => { console.log("AI Tool result message received successfully", message); }, onAIToolArgumentsReceived: (message) => { console.log("AI Tool argument message received successfully", message); },});// Removing the MessageListenerCometChat.removeMessageListener(listnerId);
Always remove listeners when they’re no longer needed (e.g., on component unmount or page navigation). Failing to remove listeners can cause memory leaks and duplicate event handling.