¿Cómo lo hicimos? Descubre cómo conectar Azure Bot Framework y Alexa

  1. Creación del chatbot en Azure Bot Framework 

Vamos a necesitar tener configurado una cuenta valida de Azure. Una vez todo preparado vamos a crear un recurso de Webb App Bot y utilizaremos el template de Echo base.

Una vez que hayamos creado el proyecto descargamos el código fuente desde el recurso Web App Bot, vamos a Build y desde allí encontraremos la opción para descargar el código fuente.

Para añadir a Alexa como un canal más, solo tenemos que ir al apartado de canales y añadirlo. Aquí nos pedirá el identificador de nuestra skill que creamos a continuación y además nos mostrara el endpoint que Alexa va a utilizar.

Una vez que nuestro proyecto Echo Bot esta creado habrá que hacer unas pequeñas modificaciones para añadir nuestro nuevo canal.

En este pequeño tutorial utilizaremos el nugget que ha creado Gary Pretty para la conectar el canal de Alexa. 

Lo único que habría que hacer es descargar e instalar el nugget: Bot.Builder.Community.Adapters.Alexa.

Y mediante este nugget podremos diferentes tarjetas que se visualizaran en Alexa. Añadiremos un pequeño código de prueba para probar algunas tarjetas que nos brinda este Nugget.

2. Creacion de nuestra skill en Alexa

Desde la ventana de creación de skill vamos a crear una skill siguiendo estos pasos.

Con la skill creada vamos a configurar el Endpoint al que va a llamar la skill.

Este endpoint será el que habremos creado en pasos anteriores.

Adeas utilizaremos la opción de “My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority” para configurar la autorización.

El identificador de la skill de Alexa podemos encontrarlo en la url y empezara por las palabras

amzn1.ask.skill.”.

Vamos a configurar la skill para que funcione como enrutador entre lo que dice el usuario por medio de Alexa y el Bot Framework. Para esto tenemos que crear una skill que pueda abarcar todas las intenciones o fucionalidades que queramos hacer.

Dentro del GitHub de la publicación dejare un JSON de ejemplo.

Copiamos dicho JSON en el apartado de JSON editor, guardamos el endpoint y hacemos una build de nuestra skill y ya estaría creada y configurada.

3. Probando nuestra skill

Una vez que tengamos todo arrancado y listo tendremos que probar nuestra skill.

Desde el apartado de Test, tendremos que habilitar la skill en Development y ya podríamos probar nuestro chatbot.

En nuestro caso la invocación seria “ask test bot”

Para probar las tarjetas basta por decir nuestra frase de invocación y además del tipo de tarjeta que queramos visualizar.

4. Conclusion

Este conector que nos presenta Gary Pretty es una buena solución para empezar a trabajar en dispositivos que tengan disponible a Alexa tanto con pantalla como por voz.

Un buen punto para tener en cuenta con este conector es que la creación de tarjetas no es la misma que se utiliza en el Bot Framework si no es una propia del Nugget, esto nos obligaría a tener que realizar una clase que transforme las típicas tarjetas del Bot Framework en las específicas para Alexa.

Podréis encontrar de ejemplos de esta desde el link del proyecto del conector.

En conclusión, este conector nos permite hacer una integración bastante rápida, pero si buscamos una solución más compleja habría que hacer algunas otras configuraciones previas.

¡No os perdáis la segunda parte de este post donde hablaremos y mostraremos más sobre este conector!