Introduction to Cisco Spark Apps


In this lab, we will take a few steps back to present Cisco Spark's extensibility "Big Picture",

As we introduce Cisco Spark API, you will use the interactive documentation to experience Cisco Spark programmability. We’ll then go through a few use-cases, and drill into the fundamentals of Cisco Spark Apps.

After this lab, you should have enough knowledge to easilly navigate among Cisco Spark Learning Labs, as well as broader technical resources such as “Spark For Developers” and DevNet’s “Cisco Spark Community of Interest”.


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.

Step 1: about Cisco Spark's extensibility

Extending Cisco Spark lets you create applications that:

  • automate tasks: such as creating rooms, posting messages, adding participants to an existing room,
  • take actions as events happen in Cisco Spark: such as participants being added to rooms, or new messages being created.

Big picture

In order to automate tasks, custom applications leverage the Cisco Spark REST API.

The API lets you interact with Cisco Spark's main concepts:

  • Rooms: create, update or delete Rooms,
  • Teams: create, update or delete Teams,
  • People: look for Cisco Spark users,
  • Messages: create or delete Messages.
  • Memberships & Team Memberships: add, remove participants in Rooms & Teams, and promote participants as moderators,

Moreover, your application can register Webhooks to be notified of various events, such as new messages being posted, or users joining or leaving rooms...

Note that the documentation pointed above lets you interact with the Cisco Spark API straight from your Web browser. As we leverage the interactive documentation extensively along these labs, we will give it a try right now. Moreover, it will be a great opportunity to make these extensibility concepts very concrete to you !