---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/chat/javascript/quickstart#article
headline: "Programmable Chat Quickstart: Javascript"
description: Get a Programmable Chat client running quickly using Twilio's Chat Javascript API
url: https://www.twilio.com/docs/chat/javascript/quickstart
inLanguage: en
dateModified: 2026-06-25T22:35:25.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Programmable Chat Quickstart: Javascript

> \[!CAUTION]
>
> Programmable Chat has been deprecated and receives no support. Twilio has turned its focus to the next generation of chat: [Twilio Conversations][]. Find out more about the [EOL process][].
>
> * To start a project, see [Conversations][].
> * To switch from Programmable Chat, see the [Migration Guide][] to learn about how to switch.

[Twilio Conversations]: /docs/conversations

[EOL process]: https://www.twilio.com/en-us/changelog/programmable-chat-end-of-life-notice

[Conversations]: /docs/conversations-classic

[Migration Guide]: /docs/conversations-classic/migrating-chat-conversations

This quickstart gets you up and running with a sample chat application you can build on as you learn more about Programmable Chat.

## Gather account information

To set up your back-end for Chat, you need four values from your Twilio account:

| Config Values        | Description                                                                                                                                                                     |
| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Service Instance SID | A [service](/docs/chat/rest/service-resource) instance where all the data for our application is stored and scoped. [Generate one in the console here](/console/chat/services). |
| Account SID          | Your primary Twilio account identifier - find this [in the console here](/console).                                                                                             |
| API Key              | Used to authenticate - [generate one here](/console/chat/dev-tools/api-keys).                                                                                                   |
| API Secret           | Used to authenticate - [just like the above, you'll get one here](/console/chat/dev-tools/api-keys).                                                                            |

## Download, configure, and run the starter app

Choose a download package for your server-side language of choice. If you're
primarily a front-end developer and don't have a strong preference,
Node.js will probably get you up and running the fastest.

* [Download for C# .NET](https://github.com/TwilioDevEd/sdk-starter-csharp/archive/master.zip)
* [Download for Java](https://github.com/TwilioDevEd/sdk-starter-java/archive/master.zip)
* [Download for Node.js](https://github.com/TwilioDevEd/sdk-starter-node/archive/master.zip)
* [Download for PHP](https://github.com/TwilioDevEd/sdk-starter-php/archive/master.zip)
* [Download for Python](https://github.com/TwilioDevEd/sdk-starter-python/archive/master.zip)
* [Download for Ruby](https://github.com/TwilioDevEd/sdk-starter-ruby/archive/master.zip)

Follow the instructions in the README for each starter application to configure
and run it on your machine, using the four values we created above:

* [Instructions for C# .NET](https://github.com/TwilioDevEd/sdk-starter-csharp)
* [Instructions for Java](https://github.com/TwilioDevEd/sdk-starter-java)
* [Instructions for Node.js](https://github.com/TwilioDevEd/sdk-starter-node)
* [Instructions for PHP](https://github.com/TwilioDevEd/sdk-starter-php)
* [Instructions for Python](https://github.com/TwilioDevEd/sdk-starter-python)
* [Instructions for Ruby](https://github.com/TwilioDevEd/sdk-starter-ruby)

## Explore the starter app

When you visit the homepage of the starter application, verify that everything looks good with your settings, and then click the green chat button at the bottom.

You have been assigned a random [user identity](/docs/chat/identity) and have
[joined a channel](/docs/chat/channels) called `general`. If you open this page in another
browser window or tab, you should be able to have a rousing conversation with
yourself!

The HTML and CSS in the starter application aren't terribly interesting, but the
JavaScript code driving this application has a few very important jobs:

1. Fetch an `AccessToken` from the server via Ajax
2. Initialize the Chat JavaScript SDK
3. Join a [channel](/docs/chat/channels) called "general"
4. Handle UI events to send messages or display new incoming messages

We explore how to manage your users in our [user identity guide](/docs/chat/identity), how to [generate an access token](/docs/chat/create-tokens), and cover everything you can do with a channel object in the [channels and messages guide](/docs/chat/channels).

## Next steps

Now that you have completed the Chat quickstart, you can continue building your application. To learn how Programmable Chat works, see the [user identity guide](/docs/chat/identity) and the [channels and messages guide](/docs/chat/channels).
