What is Flask-Ask?
With the Amazon Echo, you ask "Alexa" to play songs, get the weather, and report scores. Those "skills", as they're called, have an open API for building conversational apps. Flask-Ask is an Alexa Skills Kit for Python that makes programming the Amazon Echo super easy.

Alexa Skills Kit / Request Handling with John Wheeler


Request Handling Details
  • 3m 17s
  • Appropriate for all
  • 06-21-2016
  • Updated 06-21-2016

Key Concepts: Launch Requests, Intent Requests, Session Ended Requests

The Alexa Skills Kit is built on its own request and response model on top of HTTP's. In this video you'll use Flask-Ask to map out the three request types: Launch, Intent, and Session Ended. This video also provides exposure to the Alexa Service's built-in intents (e.g. AMAZON.StopIntent).

About the author

John Wheeler is the creator of Flask-Ask He's been developing for two decades in Java, JavaScript, Python, C# and Ruby. He lives in San Diego with his wife, daughter, and twin boys. Follow him on Twitter.

Subject: Alexa Skills Kit
Author: John Wheeler
intent_schema.json
{
    "intents": [{
        "intent": "HelloIntent"
    }, {
        "intent": "AMAZON.StopIntent"
    }]
}

sample_utterances.txt
HelloIntent hello

demo.py
import logging

from flask import Flask
from flask_ask import Ask, statement, question


app = Flask(__name__)
ask = Ask(app, "/")
log = logging.getLogger()
log.addHandler(logging.StreamHandler())
log.setLevel(logging.DEBUG)
logging.getLogger("flask_ask").setLevel(logging.DEBUG)


@ask.launch
def launch():
    return statement("Welcome to the requests demo")


@ask.intent("HelloIntent")
def hello():
    return question("Who do you want me to say hello to?")


@ask.intent("AMAZON.StopIntent")
def stop():
    return statement("Stopping")
Request Handling Discussion
Tutorial Playlist
Flask-Ask Quickstart
Project Bootstrap, Alexa Skills Kit, Flask-Ask, ngrok

4m 48s

Request Handling
Launch Requests, Intent Requests, Session Ended Requests

3m 17s

Building Responses
Statements, Questions, Cards, Reprompts

3m 50s

Intent Slots
Slots, Null Values, Default Values

3m 37s

Slot Conversions
Using Built-ins, Custom Callables, Error Handling

5m 40s

Conversion Helpers
Amazon Data Types, Python datetime Package

4m 27s

With more on the way!