Skip to main content
APIs involved: Customer Chat API, Customer Accounts API, Chat Widget JS API Suppose the standard Text widget doesn’t fit your product — you’re building a mobile app, a native desktop client, or a customer portal with its own design system. The Customer Chat API covers everything needed: starting chats, sending messages, receiving replies, and reading history. The Web API handles one-off requests; the RTM API gives you a persistent WebSocket connection so messages appear the instant they arrive.
1

Authenticate the customer

Get a customer_access_token from the Customer Accounts API. Which grant type you use depends on your architecture:
2

Start or resume a chat

Call start-chat to open a new conversation, or resume-chat if the customer has an existing thread. Both return a chat_id you’ll use for all subsequent calls in that conversation.
3

Send and receive messages

Call send-event to deliver customer messages to agents. To receive agent replies in real time, connect to the RTM API and subscribe to the incoming_event push — each agent message arrives as a push event with the message content and chat_id.
If you’re building a hybrid — a custom interface that supplements rather than replaces the widget — the Chat Widget JS API lets you control widget visibility and pass data from your custom UI to the widget without the two conflicting.