SDK for Cisco Webex

Usage no npm install needed!

<script type="module">
  import webex from 'https://cdn.skypack.dev/webex';



standard-readme compliant

The Cisco Webex JS SDK

Upgrading from CiscoSpark to Webex?


npm install --save webex


To use the SDK, you will need Cisco Webex credentials. If you do not already have a Cisco Webex account, visit Cisco Webex for Developers to create your account and retrieve your access token.

See the detailed docs for more usage examples.

const Webex = require(`webex`);
const webex = Webex.init({
  credentials: {
    access_token: <your webex access token>

// Create a room with the title "My First Room"
// Add Alice and Bob to the room
// Send a **Hi Everyone** message to the room
webex.rooms.create({ title: `My First Room` }).then(room => {
  return Promise.all([
      roomId: room.id,
      personEmail: `alice@example.com`
      roomId: room.id,
      personEmail: `bob@example.com`
  ]).then(() =>
      markdown: `**Hi Everyone**`,
      roomId: room.id

A note on browser usage

We provide a built, minified version of the SDK, that includes window.Webex. You can access it via unpkg, jsdelivr, or gitcdn.xyz.

<!-- unpkg -->
<script src="https://unpkg.com/webex/umd/webex.min.js"></script>
<!-- jsdelivr -->
<script src="https://cdn.jsdelivr.net/npm/webex/umd/webex.min.js"></script>
<!-- gitcdn -->
<script src="https://gitcdn.xyz/repo/webex/webex-js-sdk/master/packages/node_modules/webex/umd/webex.min.js"></script>

If you're already using a bundler (like Webpack) you can simply import/require the package and use the above snippet and assign the initialized webex variable to window.webex. For a quick example, we'll use Parcel to bundle the SDK for a website. For any more information and questions on how to use Parcel, please head to their website.

  1. Create index.js.
import { init as initWebex } from 'webex';

// Initialize the SDK and make it available to the window
const webex = (window.webex = initWebex({
  credentials: {
    access_token: <your webex access token>

// Create a room with the title "My First Room"
    title: 'My First Room!'
  .catch((error) => {

// Filter for "My First Room" from the last 10 rooms
    max: 10
  .then((rooms) => {
    // Destructure room properties for its id (aliased to roomId) and title
    const { id: roomId, title } = rooms.items.filter(
      room => room.title === 'My First Room!'

    // Post message "Hello World!" to "My First Room!"
      text: 'Hello World!'

    // Log the the room name and the message we created
    return webex.messages
      .list({ roomId, max: 1 })
      // Destructure promised value to get the text property from the first item in items array
      .then(({ items: [{ text }] }) =>
        console.log(`Last message sent to room "${title}": ${text}`)
  .catch((error) => {
  1. Create index.html.
    <title>Webex SDK for Browsers</title>
    <script src="./index.js"></script>
  1. Run parcel index.html in your terminal.
  2. Go to http://localhost:1234 and open the developer console to see the output.

Still using webex/env or ciscospark/env?


Full API docs are published at the docs site.


This package is maintained by Cisco Webex for Developers.


Pull requests welcome. Please see CONTRIBUTING.md for more details.


© 2016-2020 Cisco and/or its affiliates. All Rights Reserved.