“Alexa, ask Zoom to start a meeting” – Skill Adaptor

November 29, 2017

In the first blog, we went through the basics of Alexa voice assistant. Let's take a deep dive into how to get your adaptor up and running in few simple steps:

  1. Create a Lambda function (for the adaptor) in AWS
  2. Add a new skill, configure and provision the interaction model in Alexa developers console
  3. Test your skill with the built in tools

 

Lambda Function

  • Sign into your AWS account  and select Lambda

 

  • Select Create Function -> Author from Scratch to create a new Lambda function
  • Fill in the function name, Role (select choose existing role) and pick "lambda_basic_execution" from the drop down list

 

  • You will see the following screen -  Lambda supports Node, C#, Java and Python at run time. Select Node.js.6.10 as your run tim engine, handler set to index.handler and code entry set to inline. (we will write a zoom adaptor in the next post). For now, this adaptor always returns the callback string - change the string to whatever you would like to hear on your echo. Do note down ARN that you see on the top - ARN is the equivalent of a resource id in AWS and is unique.

 

  • Replace the code with the following code snippet.

alexatest

 

  • Now that you have a basic adaptor, you need to define a trigger or it.

  • Select Alexa Skills Set as the trigger and submit it

You have successfully created your adaptor - it might feel that this is a lengthy process the very first time you try it but it will be pretty quick as you get used to it.

Let's now configure your Alexa skill to use the skill adaptor.

Configuring your Skill

  • Sign in to AWS developer portal and select Alexa
  • Go to Alexa Skills Kit -> Build. This will take you to skill creation interface

 

  • Enter the skill information (most of this is self-explanatory as the developer portal provides detailed examples and description) : Skill Type = custom interaction model, Enter a name for your skill, an invocation name

  • Build the interaction model. You can either take the following template and copy it or use the skill builder that comes with the developer interface
    • Your skill comes with 3 built-in intent (cancel/stop/help)
    • Create a new intent - provide the name of the intent and select create intent

  • Next, define the utterances. In our case, a user might say "Alexa, ask Zoom to start a meeting now"  - Zoom is the invocation word that we have defined earlier and "start a meeting" is the intent. In the example below, we have selected few sample utterances for the intent and also chose not to have confirmation prompt from Alexa.

 

  • Intent slots are used when receiving the inputs from the user. For instance, if the user wants to join an existing meeting, you might want to ask the user to say the meeting id ... that is a slot. Let's keep it simple for now
  • Select Build model (takes few minutes) and Save model
  • Select Configuration - enter the ARN from the previous steps (from your aws lambda function). Select "no" for account linking as we will not be connecting to external accounts for this tutorial.

  • You are now ready to test your skill with the built-in emulator.  Select Test and turn on the slider to "Enabled" (skill is enabled for testing on the account)

  • If you have your echo device ready and connected to your developer account, you can just say "Alexa, ask Zoom to start a meeting". The response will be "Hello, you need to write the code using Zoom Room API for me to start the meeting".  If you want to dig a bit deeper, take a look at the adaptor code and follow the logic.

 

  • Your skill adaptor logs are available in CloudWatch. If you need to check your logs, you can sign into your AWS account, go to Lambda and click on "View logs in CloudWatch"

 

Congratulations ! you have created a custom skill and tested it with the real device. In the next post, let's create an adaptor using alexa node SDK and call the ZR API to start a meeting in your room.

 

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.