img 60ab6d59b6f20

Crea la automatización de tareas en IFTTT y actívalas con Dialogflow.

Tabla de contenidos

1: Introducción

1keNZhm3pjEwGizCwiFAvNw

Este post está dirigido a perfiles no técnicos interesados/as en crear un Asistente Virtual (interactuando con voz) o un chatbot (mediante texto) de forma fácil y sencilla con el menor número de líneas de código.

El software que vamos a crear se podrá consumir / utilizar desde un Altavoz Inteligente (Google Home) utilizando la voz, o un chat integrado en un web mediante texto.

2: Objetivo

1TEn GslmW2SwCzU iKIZhA

En este post se pretende que el lector descubra y aprenda cómo puede crear un Asistente Virtual / Chatbot que realice tareas automáticas con muy pocas líneas de código.

La principal tarea es definir en IFTTT la acción que se quiere automatizar (no es necesario tener conocimientos en programación) y luego, conectarla con Dialogflow para activarla a partir de un “intent”.

Cualquier perfil no técnico podrá definir tareas automáticas en la plataforma IFTTT sin necesidad de tener conocimientos en programación.

IFTTT permite “conectar” diferentes plataformas o aplicaciones de forma automática en base a eventos y acciones.

3: Caso de Uso

11kCY5BanHyUM6nm248spng

Imaginemos que una empresa quiere desarrollar un Asistente Virtual para atender solicitudes de sus empleados/as para automatizar el desbloqueo de los usuarios (de un Sistema Operativo, de una Aplicación o de cualquier otro software) y dejar un registro en una Excel: (usuario que solicita el desbloqueo y la fecha y hora que lo solicita).

Para no complicar el código del ejemplo no se va a mostrar el código para desbloquear el usuario (del sistema operativo); de esta forma el lector podrá seguir más claramente la explicación.

4: Acciones a realizar

  • Crear un Agente en Dialogflow (en este post asumiremos que ya está creado).

1KvA iXIS tBlmGzrKSYwIA

  • Crear un Agente en Dialogflow (en este post asumiremos que ya está creado).
  • Crear en IFTTT un applet Webhook -> Google Sheets (GoogleDrive).
  • Obtener desde IFTTT el endpoint del Applet creado.
  • Configurar el “intent” mediante fulfillment realizando una invocación al endpoint anterior informando los parámetros recogidos del usuario.

15BHVh

4.1: Crear un “intent” para que el empleado/a solicite “desbloquear su usuario”

  • name: “desbloquearUsuario”
  • frases de entrenamiento:

____________________“Desbloquea mi usuario

____________________”Necesito desbloquear mi usuario”

  • definir tres parámetros obligatorios:

1UAX aDc5QQ2gLl5ywC7EkQ

_____________________value1: recoger el nombre completo del empleado/a

_____________________value2: recoger el usuario (id) del empleado/a

_____________________value3: recoger el motivo del bloqueo de usuario

1HC90C XmsWgj1370hIqt3A

  • definir como respuesta: “La respuesta se genera desde fulfillment
  • activar fulfilltime del “intent
  • guardar los cambios (save)

1ps3nzJgUmuGrwHfRzf5MfQ

4.2 Crear en IFTTT un applet Webhook -> Google Sheets (GoogleDrive)

  • Acceder a IFTTT (previamente es necesario estar registrado) y crear un nuevo Applet.
1VI6KnLl5iWEM gz2AwsQbw

1 1VI6KnLl5iWEM gz2AwsQbw

  • Clic en “+ this”. Se va a crear un Webhook para comunicar Dialogflow con IFTTT.

1LNsbfdqs0L6IL V9swAw7Q

  • Seleccionar el servicio Webhook:

1cZMzQ0qYdPr6dUo4S2qcPw

  • Seleccionar “Receive a web request

1DCh5s5X9qaBiuyCdAgRZIw

  • Informar el nombre del evento: “desbloquearUsuario” y pulsar “Create Trigger

1MP121j6knOeAYfZqWw1kDQ

  • Pulsar “+that”. Cuando se genere el evento que activa el Webhook que acabamos de crear, en esta opción “+that” se habilitará la acción a realizar.

1oyZ z6SQtC1 QgQKYZpzNQ

  • Buscar la opción: Google Sheets (Google Drive). En este punto se puede “elegir” cualquiera de las múltiples opciones que ofrece IFTTT para desencadenar la acción. Para este ejemplo, vamos a utilizar escribir en una hoja de cálculos (añadir una nueva fila cada vez que un empleado/a solicita desbloquear su usuario).

  • Seleccionar la acción: “Add row to spreadsheet

1NpKfI HZYF6A9yi59yeqtg

  • Definir la configuración de la hoja de cálculos:

_________Spreadsheet name: “Registro desbloqueo usuario

_________Formatted row: Define el orden de las columnas en cada fila de la excel. Se escriben 5 columnas y en este orden: timestamp, nombre del evento, valor 1 (nombre del empleado/a), valor 2 (usuario) y valor 3 (motivo) de la petición. Estos tres últimos valores son los que están definidos como obligatorios en el “intent” de dialogflow.

________ Drive folder path: Definir el path donde se almacenará la hoja de cálculos en Google Drive.

_________Pulsar Create action

1FH0ql3ScL08uYwpIZomimw

  • Finalizar la creación del Applet: Finish

1FIyshUBnQYS5UNI7a1TdPQ

  • Con esta acciones se habrá finalizado la creación del Applet:

4.3. Obtener desde IFTTT el endpoint del Applet creado

  • Seleccionar “My Applets” en IFTTT

1 Xqo4pqsrE9NVrHgF7KJ9g

  • Seleccionar el Applet que acabamos de crear:

1PYjyn88t8gRNjs2SbqInzQ

  • Pulsar la opción “Webhook” marcada en la imagen:

1RJpS fDSbw1km1pOLN5yZQ

  • Pulsar la opción “settings”

1oL1SnEtGv64GycPTDVeKqA

  • Seleccionar endpoint o URL que aparece:

1LVDZIa3NOu8CEByD2iy8bw

  • Cargar el endpoint (URL) en un navegador; IFTTT ofrece esta opción para hacer test sobre el Applet creado.

1JoPUZu6ZeT KOwOGiQH98w

  • Puedes hacer un test sobre el Applet que acabamos de crear informando los parámetros:

______________event: desbloquearUsuario

______________value1: Javier Porras Castaño

______________value2: U1234D (usuario)

______________value3: Se me olvidó cambiar la contraseña

1aHjoP3YEW1ydSafhZeYU7Q

  • Al pulsar “Test It” se desencadenará la acción definida en el Applet: es decir, insertar una fila en la hoja de cálculos:

1JsQQlKct8RHBLkdDi1SM8A

  • Copiar el endpoint del webhook del Applet (será el que utilicemos en Dialogflow asociado al “intent” a través de fulfillment

https://maker.ifttt.com/trigger/desbloquearUsuario/with/key/fRhDaDlbgzZcIjzhp03mAMrNVex76y0_z7XgWzBMeJG

1A8uC1Pp7kNIQ7TUEl68 CA

4.4 Configurar el “intent” mediante fulfillment realizando una invocación al endpoint del applet (IFTTT) informando los parámetros recogidos del usuario.

  • Acceder a Fulfillment de Dialogflow:

1obSXdBXZN5oHaoTJallPmw

  • Añadir una nueva función asociada el intent:

____________intent: “desbloquearUsuario

____________función: “metodoDesbloquearUsuario

incluir la línea: intentMap.set(‘desbloquearUsuario’, metodoDesbloquearUsuario);

  • Implementar la siguiente función: “metodoDesbloquearUsuario
1Z G2HPRuN2pSHHscVpo 4w

1 1Z G2HPRuN2pSHHscVpo 4w

  • Pulsar la opción DEPLOY. Tras la compilación y despliegue de la nueva función, ya tendremos conectado Dialogflow con IFTTT.
  • Con estas acciones se habrá finalizado el desarrollo del caso de uso.

5: Pruebas

Para probar la funcionalidad, utilizamos la opción de Web demo de Dialogflow (Integrations)

1AaH6OtsvOUS9G1K0N3hYlQ

En el siguiente vídeo podéis ver de forma más clara la funcionalidad del desarrollo realizada, en este vídeo se utiliza el Asistente Virtual mediante un chat (sólo texto) integrado en una Web.

En el siguiente vídeo se muestra cómo interactuar con el Asistente Virtual mediante el Altavoz Inteligente Google Home mini:

Javier Porras Castaño

Por Javier Porras Castaño

Nacido en Ronda (Málaga), hace 35 años, Data Science Doctorando, Inteligencia Artificial (Machine-Deep Learning), Chatbot, Blockchain y experto en Innovación, contratado por Unicaja Banco como Analista y es experto en Nuevas Tecnologías, Innovación y TIC para la Junta de Andalucía. Cuenta con tres másteres oficiales en Sistemas Inteligentes y Big Data Analytics. Desarrolla su tesis doctoral "Integración de MicroServicios y Análisis de Datos on Cloud para el Sector Financiero" y participa en congresos internacionales. Concibe innovación y transformación digital como una actitud, la tecnología es secundaria.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *