fbpx

Automatiza tus chatbot en Webex Teams con Python – Webhook

Hola estimados, en nuestro anterior post hablamos sobre las API’s y un delicioso ejemplo. ¿Que tal si hablamos sobre otro termino muy relacionado a ella con un bot? Veremos en este post sobre crear tu propio bot en Cisco Webex Teams para que reciba ordenes y las ejecute por nosotros. Al final del post hay una demo para ello. Esto lo lograremos con algo llamado “Webhook”

1. ¿Qué es un webhook?

No alt text provided for this image

Un webhook es una devolución de llamada HTTP, o HTTP POST, a una URL específica que notifica a su aplicación cuando se ha producido una actividad o “evento” en particular en la plataforma que permite activarlo. Muchas veces se le llama “Reverse APIs”

2. Diferencias de API y Webhook

No alt text provided for this image

Las API’s debes solicitar y esperar una respuesta de ello, pero ¿que pasa si la información solicitada no está lista?

Deberás preguntar las veces necesarias hasta que obtengas tu respuesta deseada. Un ejemplo sobre un comportamiento similar sucede con Cisco DNA Center cuando envías CLI a través de API’s. Debes preguntar más tarde por la tarea a ver si ya ha finalizado*.

No alt text provided for this image

Webhook en cambio, envía la respuesta de manera asíncrona, solo si el evento es activado.

Nota: El detalle de como utilizar DNA Center se escapa sobre el concepto a explicar, pero si si tienes curiosidad, aquí un ejemplo cuando sucede link (necesitas una cuenta para ingresar, pero es gratis).

3. Bot en Webex Teams

No alt text provided for this image

Los bots son similares a los usuarios habituales de Webex Teams. Pueden participar en espacios grupales y 1 a 1. Los usuarios pueden enviarles mensajes directamente o agregarlos a un espacio grupal.

Su aplicación es de servir de puente con alguna aplicación externa. Cisco tiene el portal https://apphub.webex.com/ donde puedes buscar todo tipo de bots. Por ejemplo, puedes agregar el bot Covid19 que responderá interrogantes sobre este virus; o el bot Trello que te permite recibir notificaciones cuando detecte algún cambio. Básicamente un medio de interacción con una aplicación.

No alt text provided for this image

4. Demo

Para poder interactuar con este bot, deben tener una cuenta Cisco Webex Teams y agregar al usuario robot123@webex.bot. El mismo tiene el nombre SYNCORPBot creado para demostración. En caso que no tengas una cuenta, no te preocupes, aquí te lo muestro con gif.

Una respuesta similar de esta página podrás recibir:

No alt text provided for this image
  • Primero agregamos al bot a Cisco Webex Teams y comprobamos que no funciona.
No alt text provided for this image
  • Activamos nuestra aplicación en Python y probamos:
No alt text provided for this image
  • Veamos su comportamiento si agregamos una sala. Solo para que vean el uso de las APIs, se creará de esa manera:
No alt text provided for this image
  • Si agregamos el bot en la sala, debes llamarlo directamente para que conteste:
No alt text provided for this image

Conclusión

Hay una explicación muy buena en la página de Cisco de como hacer esto, y de hecho, esta prueba fue basada en ella. Aquí te comparto ambos códigos:

¿Dudas, opinión o sugerencias? Déjame tus comentarios.

Si te interesa alguno de nuestros servicios o leer todos nuestros posts, puedes localizarme por esta red social o en el portal SYNCORP.

Referencias:

https://developer.webex.com/docs/api/guides/webhooks

https://developer.cisco.com/learning/tracks/devnet-express-cloud-collab-it-pro/creating-spark-bots-itp/collab-spark-botl-itp/step/1

https://developer.cisco.com/learning/lab/collab-sparkwebhook/step/1