> ## Documentation Index
> Fetch the complete documentation index at: https://www.text.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

**Customer SDK** is a set of tools that helps you build a custom chat widget. Under the hood, it makes use of the [Customer Chat API](/api/customer-chat/). Customer SDK lets you communicate with Text services directly from the browser environment using JavaScript without the need to develop your backend.

## Is it for me?

If you need a fully customizable chat widget, using the Customer SDK is
one of the options to do this. If you need a fully customizable solution and you feel
brave, dive into the Customer SDK. We provide [methods](#methods) and
[events](#events) for deep integration with the Text platform.

Keep in mind that interacting with this API requires **some development skills**.

Customer SDK allows you to create frontend apps, so if you're looking for server-side solutions, you should explore the [Customer Chat API](/api/customer-chat/) instead.
If you want to dive deeper into Text, you might find the [overview](/getting-started) article handy.

### Limitations

If a customer is chatting from a custom widget, private messages will not be available for agents.

## About the Customer SDK

We provide an asynchronous API. Most methods return a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise). You can subscribe to the emitted events with the `on` and `off` methods.
Not familiar with promises? Read <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">this article</a> to learn more.

We authenticate your sessions with the use of
[customer-auth package](https://www.npmjs.com/package/@livechat/customer-auth)
and expose the created `auth` object to the returned SDK instance. In general,
you don't have to worry about it or use the exposed object. If you need to
get the authentication token, you can get it through the SDK like this:

```js theme={null}
customerSDK.auth.getToken().then((token) => {
  console.log(token);
});
```

## Questions

If you have any questions, you can start a chat with our [24/7 Support](https://direct.lc.chat/19196658/11).
