Deploy a Cisco Spark Integration

Pre-requisites

In this learning lab, you will deploy an example application on Heroku, and register it as a Cisco Spark Integration.

You will need:

  • a Cisco Spark Developer account: if you're not a Cisco Spark User yet, you can sign up here,
  • a Github account: sign up here if you are not already a Github user,
  • an Heroku Account: click here to signup at Heroku.

Note that for the purpose of this lab, we’ll stick to Heroku free dynos so that the deployment detailed hereafter won’t cost you any money.

Objectives

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

By creating custom applications, developers can tie together Cisco Spark with existing enterprise processes and data. For example, you may add the Jira Integration to an existing Room and get the participants notified as Jira issues (EPIC, Story, Task or Bugs) are created or updated.

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, we’ll go through an existing nodejs example that displays the name of Cisco Spark users. We will deploy it on Heroku, and register it as a Cisco Spark Integration.

Step 1: Fork a Cisco Spark Integration

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

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

OAuth


Open the Cisco Spark Integration example provided for this lab. Make sure you're signed in on Github.

Click "Fork" to start working on your own copy of this integration.