Using widget events

Last updated August 28, 2019

The Conversations widget will emit various events throughout its lifecycle to which you can listen and respond.

Supported events

conversationStarted - Emitted when a new conversation has been successfully started. The event payload will include a Conversations object, which will contain details about the conversation that was started. See below for details about the data in this object.

conversationClosed - Emitted when a new conversation has been successfully closed. The event payload will include a Conversations object, which will contain details about the conversation that was started. See below for details about the data in this object.

unreadConversationCountChanged - Emitted when the number of conversations in the widget with any unread messages changes (increase or decrease). The event payload will include an unreadCount field, indicating the number of conversations in the widget with any unread messages.


Registering event listeners.

Event listeners are registered using the HubSpotConversations.on() function:

window.HubSpotConversations.on('conversationStarted', payload => {
console.log(payload);
});

Event listeners can be removed by using the HubSpotConversations.off() function:

const handleEvent = eventPayload => console.log(eventPayload);

// Register an event listener
window.HubSpotConversations.on('conversationStarted', handleEvent);

/* ... */

// Remove the event listener
window.HubSpotConversations.off('conversationStarted', handleEvent);
Data types:

The conversationStarted and conversationClosed events will include a Conversations object in the payload. This object contains the following data:

Field name Data type Description
conversationId Number The id of the conversation