“Alexa, ask Zoom to start a meeting” – Alexa for Developers

November 28, 2017

We have been working closely with our friends at Amazon Alexa team over the last few months and it’s just incredible what they have built so far with Alexa voice. We want to show you how simple and easy it is to create an Alexa integration with Zoom using both the stacks. We are going to get into some technical details in this blog and hope this is going to be helpful in general for building Alexa connectors.   This will be a three part blog and we will cover the basics of Alexa voice in the first part and go through developing and running an adaptor with ZR API in the second and third parts.

Alexa Basics

Alexa is the voice engine and service behind devices like Echo, Dot, Tap and other 3rd party Alexa enabled devices.  Alexa skills are apps that extends Alexa capabilities. If you want to voice enable (with Alexa) your app or platform, you will write an Alexa skill adaptor (Node.js, Java, c# to name a few) and run it as a lambda (a service that let’s you run your code in AWS without using EC2 instances or your own servers) function in AWS or host it on your server in your cloud.

As you see here, the skill adaptor is the connector that tightly integrates these two platforms. More on this later in the blog.

Alexa Skills

Alexa exposes different skill frameworks and we are going to focus on the custom skill.  An Alexa skill has two parts: Skill service which is the adaptor or container that receives the commands/responses and the skills interface which is the voice user interface that runs between the end device and Alexa voice engine.  The interaction model defines the request the skill adaptor can handle (intent), the words the user says (utterances) to invoke the request and interaction between the utterances and the response back from the adaptor.  Building the interaction model (what the user says and what the response should be in all possible scenarios) is an important first step before you start writing the adaptor code.

The intent is defined by an intent schema which is a JSON structure.  The structure defines the intent strings and slot types which we will cover below.

Pre-Requisites

Few housekeeping to take care of:

  • create an AWS account if you don’t have one
  • create a Zoom account if you don’t have one and sign up for a free developer trial – if you already have a paid zoom account, all the developer platform tools comes with it
  • create a free account in Amazon developer portal

We will go into the skill adaptor development in the next blog.

Thiya Ramalingam
Thiya heads the platforms, integrations, product partnerships and private cloud engineering @ Zoom. Thiya is a published author, speaker and has several issued patents in the collaboration space.