Called for all trackable user interactions (widget open/close, messages, errors, etc.)
docs.callbacks.example
ChaskWidget.init({
apiKey: 'your-api-key',
organizationId: 'your-org-id',
callbacks: {
// Called when widget is ready
onReady: () => {
console.log('Widget is ready!');
},
// Called when chat opens
onOpen: () => {
console.log('Chat window opened');
analytics.track('chat_opened');
},
// Called when chat closes
onClose: () => {
console.log('Chat window closed');
},
// Called when user sends a message
onMessageSent: (message) => {
console.log('Message sent:', message.content);
},
// Called when a message is received
onMessageReceived: (message) => {
console.log('New message from:', message.sender);
if (!document.hasFocus()) {
new Notification('New message', {
body: message.content
});
}
},
// Called on errors
onError: (error) => {
console.error('Widget error:', error.message);
errorTracker.capture(error);
},
// Called when user info is updated
onUserUpdated: (user) => {
console.log('User updated:', user.name);
}
}
});
The onAnalyticsEvent callback provides a unified way to track all user interactions with the widget. This is useful for integrating with analytics platforms like Google Analytics, Mixpanel, or custom tracking systems.