Desk / JavaScript

About Desk SDK

Sendbird Desk enables strong customer engagement through live, in-app support. The Desk SDK lets you easily initialize, configure, and build the customer support-related functionality into your JavaScript applications. This page shows requirements and a brief overview of the Desk SDK.


The requirements of Desk SDK for JavaScript are:

  • NodeJS 10.13.x+ along with npm
  • Sendbird JavaScript SDK 3.0.55 or later

Supported browsers

  • All modern versions of Chrome, FireFox, Edge, Safari, and etc. supporting ES6+
  • IE 11+
  • Mobile browsers (Android/iOS)

Try the sample app

Our sample app demonstrates the core features of Sendbird Desk SDK. Download the app from our GitHub repository to get an idea of what you can do with the actual SDK and to get started building your own project.

Download sample app

Note: The fastest way to see our Desk SDK in action is to build your app on top of our sample app. Make sure to change the application ID of the sample app to your own when initializing the Desk SDK. Go to Create a Sendbird application from your dashboard section to learn more.

How Sendbird Desk SDK works with your app

Sendbird Desk works based on Sendbird Chat platform, which means the interactions between users are built and provided by Sendbird Chat. Your customers can request support through various ways, such as in-app chats from different OS platforms or social media like Facebook and Instagram, and we call them channels. When a customer requests support from a channel, it is delivered to an agent by admins or internal rules, and agents can handle the conversation in the Sendbird Dashboard.

In Sendbird Desk, Ticket is a unit of customer’s inquiry. In other words, when a customer or agent starts a conversation, the corresponding ticket is also created. There are 5 types of ticket status that are changed according to the conversation progress. For example, when a conversation between customer and agent ends, the ticket status is also changed to closed. Admins who are an agent with additional privileges to manage overall dashboard settings can manage tickets by their status, creation date, assignees, and more.

Desk related events are delivered to event handlers in the Chat SDK. While the SendBird instance in your client app is connected to Sendbird server, the event handlers receive callbacks from the server through onMessageDelivered(), onUserJoined(), and other event callback methods. By using event callback methods of the handlers, your app can implement appropriate responses and actions correspondingly such as updating a ticket closure request on the UI level.