Run a Cisco Spark Integration locally


You will need a Cisco Spark user account to complete this lab. If you're not a Cisco Spark user yet, click to sign up.

If you're using your own computer, make sure it meets the requirements listed at the top of this lab.


As introduced in previous labs, Cisco Spark Integrations and Bots concretize Cisco Spark’s extensibility.

Cisco Spark Integrations let your applications request permission to invoke the Cisco Spark API on behalf of other users. The process used to request permissions is called "OAuth Grant Flow": it is documented in the Integrations guide, and can be experimented in the Learning Lab Understand the OAuth Grant flow for Cisco Spark Integrations.

In this lab, you will run an existing nodejs code sample on your local machine, and register it as a Cisco Spark Integration to experiment Cisco Spark's OAuth scopes.

Step 1: Clone the Cisco Spark Integration example

For the sake of this lab, we will leverage a ready-to-run Cisco Spark Integration.

This integration example consists in a NodeJS server that serves an HTML page which initiates a Cisco Spark OAuth Grant flow, and drives the end-user to a consent form. This integration also listens on a “redirect URL” that is invoked by Cisco Spark as the end-user accepts or declines to grant permissions.

OAuth flow in practice

Run the commands below to clone the github project, get a local copy of the provided example, install the project dependencies and launch your integration.

Make sure your local environment meet all the pre-requisities. The git, nodejs and npm commands are required to copy and launch the example on your local machine. If your environment does not provide the "make" command, you can paste the run section of the Makefile as an alternative.

> git clone
> cd spark-integration-sample
> npm install
> make
oauth Cisco Spark OAuth Integration started on port: 8080 +0ms

Check your integration's home page is now live at http://localhost:8080.

Click on the "Start OAuth flow" button, and go through the OAuth Grant flow as described on the picture above.

At the end of the flow, check your Cisco Spark full name is successfully displayed.