Skip to content

Demo chat app for use in Conversations Quickstart, with updated UI.

Notifications You must be signed in to change notification settings

TwilioDevEd/conversations-demo

Repository files navigation

The Demo Conversations App

This is a lightweight application based on Twilio Conversations.

Please follow the directions for the Twilio Conversations Quickstart for a complete demo of this application with both SMS and chat participants.

Configuring and getting started

This demo requires a Twilio account and a working Conversations Service SID. You'll need to collect some credentials from the Twilio Console:

  • Your Account SID (ACXXX) and Auth Token, both accessible from the Dashboard
  • Your Account's Conversations Service Sid ISXXX SID which is attached to your Conversations Service

Testing

The demo application can be configured and run in two ways:

  • Forking the demo-conversations-application on CodeSandbox.io (recommended)
  • Cloning this repo and running locally
    • Remember to copy the .env.example file to .env and replace the variables values with the ones from your account. By default NODE_ENV is set to production.

Replacing the Access Token

The Conversations API uses an Access Token with a Chat Grant for client-side applications such as this one to authenticate themselves with Conversations Services in your Twilio Account.

In order for your Conversations Application to work, we need to authenticate a Conversations user by retrieving a short-lived token attached to your API Key. The getToken function in ConversationsApp.js has a placeholder for your chat token.

You can generate a token in a few ways:

For the twilio-cli option, run the following command and enter the resulting token into the placeholder:

twilio token:chat --identity <The test chat username> --chat-service-sid <ISXXX...>

After generating a token manually, it will expire after a timeout period, so you will need to replace the token. To use this in production software, you would typically create a token endpoint in your back end application that uses your existing user authentication strategy.