Widget Control
Programmatically open, close, hide, and show the chat widget.
Event Handling
Listen to user interactions and create custom integrations.
Customizing your user experience with the Remark SDK
The Remark SDK can also be used to control the state of the chat widget. You may wish, for example, to temporarily close the chat widget when displaying full-screen promotions or open the chat widget when a customer clicks on a certain call-to-action on your site. You can open, close, hide, and show the chat widget using the following code.Opening the widget with options
In addition to simply opening the widget, you can pass options to control its initial state and behavior.This is helpful when you want to start the chat from a specific context, prefill a message, or automatically send a greeting.
Available options
- from – A string identifier for where or why the widget was opened (for example,
homepage,checkout, orcategory-page). Useful for analytics, tracking, or routing the conversation. - message – A string to prefill in the chat input. When paired with
mode: 'send', this message will be sent automatically. - mode – Controls message handling. Use
'send'to send immediately or omit to just prefill the input.
Listening for Remark Events
The remark-chat-widget element fires a number of “remark” namespaced events. To listen to any of them, place an event listener on the remark-chat-widget element, or anywhere higher on the DOM. On the element directlyListen to all Remark Events
To listen to all the events, you can use thewindow.remark.events.listenAll function. It takes a callback, called with every remark event. The payload received by the callback is an object:
- with an
event__typekey, one of the remark events listed below - any other details payload the event has with it
listenAll returns an object with an unsubscribe function. Calling that unsubscribe function will stop the callback from being called again.
List of Remark Events
| Event | Description |
|---|---|
remark:open-widget | Remark chat widget has opened |
remark:mute-chat | Fires when chat mutes or unmutes |
remark:finding-expert | Customer is waiting to be paired with an expert |
remark:close-activator-explainer | Customer has closed the explainer card on our floating activator |
remark:send-message | Customer has sent a message |
remark:close-chat-from-header | Customer has closed the chat window via the chat header button |
remark:view-expert-profile | Customer is viewing the expert profile |
remark:close-expert-profile | Customer has closed the expert profile |
remark:view-expert-gallery | Customer is viewing the expert’s gallery |
remark:click-expert-social | Customer has clicked on an expert’s social link |
remark:support-link-button | Customer has clicked the support button |
remark:continue-after-additional-prompting | Customer opted to initiate a chat after Remark suggested alternative customer support resources |
remark:send-email | When the customer has submitted their email |
remark:send-expert-intro-message | Remark widget is sending the customer’s first message to an expert |
remark:skip-name | Customer has chosen to skip inputting their name |
remark:submit-name | Customer has chosen to input their name |
remark:click-chat-with-expert | Customer has entered the introduction flow |
remark:additional-prompt-required | The customer’s initial inquiry appears to be related to post-purchase / warranty / replacement parts / etc. Remark will suggest visiting your brand’s support page. Alternatively, customer is given the option to proceed to chat |
remark:support-link | Customer clicked the support link |
remark:skip-nps-from-activator | Skipping a Customer Feedback Survey because customer has asked a new question from the activator |
remark:edit-nps | Customer has edited a Customer Feedback Survey |
remark:skip-nps | Customer has chosen to skip Customer Feedback Survey |
remark:cancel-nps | Customer has canceled editing a Customer Feedback Survey |
remark:submit-nps | Customer has submitted a Customer Feedback Survey |