Saltar al contenido principal

Mi primera habilidad

Para iniciarnos en el mundo de las habilidades en Ainhoa vamos a crear un sencillo ejemplo de habilidad de diálogo para hacernos una idea del potencial que nos ofrece esta herramienta.

La idea principal de la habilidad que vamos a implementar es identificar una intención por parte del usuario y realizarle una sencilla pregunta para posteriormente actuar en consecuencia según su respuesta.

Para usar un ejemplo un poco friki 😉, identificaremos si el usuario esta preguntando por Matrix, y si es así, le proponemos que escoga entre la pastilla roja 🔴 o azul 🔵.

Matrix skillMatrix skill

Crear la habilidad

Lo primero que debemos hacer es crear la habilidad. Proporcionaremos los siguientes datos en la ventana de creación:

CampoDescripciónValor
TítuloNombre de la habilidad. Preferiblemente en minúsculas y sin espacios.matrix_pills
DescripciónBreve descripción de la habilidad. Debe ser proporcionada en cada uno de los idiomas soportados.Usa esta función cuando el usuario quiera saber que es Matrix o quiera entrar en Matrix.
TipoTipo de habilidad. Búsqueda o diálogo.Diálogo
IdiomasLista de idiomas soportados por la habilidad.Inglés y español
EtiquetasLista de etiquetas relacionadas con la habilidad.
Modo de accesoSelecciona el modo de acceso a la habilidad. Acceso público o lo miembros.Acceso público
MiembrosLista de miembros que tienen acceso a la habilidad y sus privilegios asociados.
info

Podemos ver mas información de como crear una habilidad en éste enlace: Como crear una habilidad.

Configurar las intenciones

Ahora que tenemos creada nuestra habilidad debemos indicar como identificar la intención del usuario. En este caso, la intención es Matrix y la indentificaremos si el usuario pregunta qué es Matrix o quiere entrar en Matrix.

Para ello iremos a la tarjeta de Intenciones de arranque en la barra lateral y agregaremos algunas frases que pueda escribir el usuario y que podremos asociar con nuestra intención. Cuantas mas frases diferentes agregemos mejor podrá nuestro bot identificar la intención. Debemos proporcionar frases en todos los idiomas que tengamos habilitados.

En nuestro caso hemos agregado las siguientes intenciones:

Matrix skill bootstrap intentsMatrix skill bootstrap intents

info

Tienes más información sobre la barra lateral en el siguiente enlace: Barra lateral.

También vamos a agregar como intenciones las posibles respuestas que pueda darnos el usuario. En este caso las opciones son Rojo y Azul. Vamos a la pestaña Intenciones y agregamos dos nuevas intenciones con valores en los diferentes idiomas soportados, como podemos ver a continuación:

Matrix skill intentsMatrix skill intents

info

Tienes mas información sobre la pestaña de intenciones en el siguiente enlace: Intenciones.

Definir los pasos

Ahora que tenemos creadas las intenciones podemos empezar a definir nuestra conversación agregando los pasos que necesitemos. En este ejemplo, lo que queremos hacer es, una vez identificada la intención de saber más sobre Matrix por parte del usuario, hacerle una pregunta para que escoga qué pastilla quiere y luego mostrar un mensaje según la que haya elegido.

Por tanto necesitaremos los siguientes pasos:

  1. Enviar un mensaje de bienvenida al usuario para que sepa que hemos detectado sus ganas de saber más sobre Matrix.
  2. Preguntar que pastilla quiere elegir.
  3. Proporcionar una respuesta según su elección.
info

Toda la información sobre como crear los diferentes pasos está en el siguiente enlace: Pasos.

Agregaremos dichos pasos en la pestaña Conversación de la siguiente manera:

1. Mensaje de bienvenida

Creamos un paso de tipo Decir con nuestro mensaje de bienvenida, no proporcionaremos ninguna condición para que se ejecute siempre y seleccionaremos que el siguiente paso es Continuar. Esto permitirá al flujo pasar al siguiente paso.

Matrix skill step 1Matrix skill step 1

2. Hacer la pregunta

A continuación le hacemos la pregunta al usuario para que escoga la opción que quiera. Esto lo haremos con un paso Preguntar, no establecemos ninguna condición para que se ejecute siempre.

Proporcionaremos el texto de la pregunta en los diferentes idiomas y seleccionamos como posibles opciones de respuesta las dos intenciones que agregamos, Roja o Azul.

Asignamos la respuesta en una entidad que llamaremos pill. Y por último estableceremos como siguiente paso en Continuar para seguir con el flujo.

Matrix skill step 2Matrix skill step 2

El usuario podrá seleccionar una de las dos repuestas posibles, Roja o Azul, pero también podrá escribir la respuesta directamente en el chat. Si la respuesta que proporciona el usuario no coincide con ninguna de las intenciones que hemos definido (#red o #blue), la habilidad mostrará un mensaje diciendo que no ha entendido la respuesta del usuario.

3. Mensaje de respuesta

Por último, debemos comprobar la respuesta del usuario y mostraremos un mensaje diferente según la respuesta elegida. Para hacer esto podemos crear dos pasos diferentes, uno para la respuesta si la elección es Roja y otro para Azul.

Utilizaremos el campo condición para identificar la opción seleccionada y mostrar un mensaje u otro. En este caso, como previamente agregamos intenciones para las posibles respuestas del usuario, crearemos un paso con la condición #red, el cual mostrará el mensaje que queramos cuando el usuario haga seleccionado la opcion Roja. Y utilizaremos la condición not #red para responder cuando el usuario haya seleccionado la opción de Azul.

Escribimos el texto que deseamos mostrar en cada una de las opciones y marcamos como siguiente paso Finalizar para acabar el flujo.

Matrix skill step 3 and 4Matrix skill step 3 and 4

info

Si te fijaste bien, no hemos usado la entidad pill en la que guardamos la respuesta del usuario. Esto es debido a que hemos utilizado intenciones para proporcionarle posibles respuestas al usuario. Pero podemos utilizar el valor proporcionado por el usuario igualmente en nuestra condición como el siguiente ejemplo: @pill.value = "red".

tip

No olvides proporcionar los textos en los diferentes idiomas soportados en tu habilidad para asegurarte que funcione correctamente para todos los idiomas.

Probar habilidad

Ya tenemos todo listo para probar nuestra habilidad y revisar si se comporta como esperamos. Antes de continuar, asegúrate que has guardado los cambios haciendo click en el botón Guardar.

Hacemos click en la pestaña Probar habilidad en la que disponemos de un chat en el que interactuar directamente con nuestra habilidad recien creada. Puedes cambiar diferentes parámetros como los idiomas para realizar pruebas.

info

Toda la información sobre la pestaña de Probar habilidad está en el siguiente enlace: Probar habilidad.

Para iniciar nuestra habilidad simplemente debemos escribir en el chat y podemos comprobar como el flujo de pasos que hemos definido se ejecuta. También puedes hacer click en los mensajes del chat para ver información de depuración asociada que te puede resultar muy útil en tus pruebas.

Podrás realizar cambios en tu habilidad y probar los resultados rápidamente y en diferentes condiciones antes de publicar tu nueva versión.

Matrix skill testMatrix skill test

Enhorabuena 🎉, ya tienes tu primera habilidad lista para ser utilizada en tus bots. Puedes seguir revisando el resto de ejemplos para seguir aprendiendo como aprovechar todo el potencial de las habilidades de diálogo en tus bots.