Twilio Sync JavaScript client library

Twilio Sync is Twilio's state synchronization service, offering two-way real-time communication between browsers, mobiles, and the cloud. Visit our official site for more details:



npm install --save twilio-sync

Using this method, you can require twilio-sync.js like so:

var SyncClient = require('twilio-sync');
var syncClient = new SyncClient(token);


Releases of twilio-sync.js are hosted on a CDN, and you can include these directly in your web app using a <script> tag.

<script type="text/javascript" src="//"></script>

Using this method, twilio-sync.js will set a browser global:

var syncClient = new Twilio.Sync.Client(token);


To use the library, you need to generate an Access Token and pass it to the Sync Client constructor. The Twilio SDK Starter applications for Node.js, Java, PHP, Ruby, Python, C# provide an easy way to set up a token generator locally. Alternatively, you can set up a Twilio Function based on the Sync Access Token template.

// Obtain a JWT access token:
var token = '<your-access-token-here>';
var syncClient = new Twilio.Sync.Client(token);

// Open a Document by unique name and update its value
  .then(function(document) {
    // Listen to updates on the Document
    document.on('updated', function(event) {
      console.log('Received Document update event. New value:', event.value);

    // Update the Document value
    var newValue = { temperature: 23 };
    return document.set(newValue);
  .then(function(updateResult) {
    console.log('The Document was successfully updated', updateResult)
  .catch(function(error) {
    console.error('Unexpected error', error)

For more code examples for Documents and other Sync objects, refer to the SDK API Docs:


See this link.