Note: As Sendbird Desk works based on Sendbird Chat, the interaction between users is built and provided by Sendbird Chat.
NodeJS 10.13.x+ along with npm
Before installing Sendbird Desk SDK, contact our Sales team to enable Sendbird Desk on your dashboard. If you don't have an account for the Sendbird Dashboard, sign up to create a Sendbird application first.
Note: A Sendbird application gets paired up with one client app. Agents can support customers from different platforms but can't support customers from different Sendbird applications because all data is limited to the scope of a single application.
Or you can use the
npm install command to automatically download the Desk SDK. Add the
sendbird-desk dependency to the
package.json file of your project.
- Copy the
APP_IDof your Sendbird application from the dashboard. The same
APP_IDmust be used for both Chat and Desk SDKs.
- Initialize the
SendBirdinstance with the copied
- Pass the initialized
SendBirdinstance as an argument to the parameter in the
- Implement the following command in your project path.
Note: If you initiate the
SendBirdDeskagain with a
SendBirdinstance initiated by a different
APP_ID, all existing Desk-related data in the client app is deleted.
Every ticket in Sendbird Desk is mapped to a group channel in Sendbird Chat because the Desk SDK handles messages within a ticket based on Sendbird Chat. Therefore, to receive a message sent by a customer from Sendbird Chat, you need to authenticate the user using the
sb.connect() and the
SendBirdDesk.authenticate() methods with their user ID used in Sendbird Chat.
Ticket.create() method to create a new ticket either before or after the customer’s initial message. Once a ticket is successfully created in the Desk server, you can access the ticket and its channel through the callback from the server. Until a customer sends the first message, agents can’t see the ticket in the dashboard. When a conversation starts, the ticket is assigned to an available agent by the Desk server while messages are sent and received through the Chat SDK.
Note: Because the
SendBirdinstance in a client app is connected to Sendbird server, Desk related events are delivered to the Chat SDK's event handlers. The event handlers receive callbacks from the server through the
onUserJoined(), and other event callback methods.