Cómo programar bots en Slack que te ayuden en el trabajo

Slack no es simplemente un Whatsapp corporativo en esteroides. Quizás, una de las razones por las que las empresas tecnológicas prefieren Slack, es porque entrega muchas herramientas para automatizar tareas. Desde aplicaciones propias como el comando /remind –que se usa para recordatorios– hasta integraciones hechas con código y conectadas a través de su interfaz de programación de aplicaciones (API).

Sobre eso último es lo que les vengo a contar: cómo usamos Slack para nuestro propio bot del Fintualist.

Primero, un poco de contexto: en Fintual tenemos distintos bots que automatizan tareas: Watson en la contabilidad de fondos (bueno, hoy en día ya es harto más que un bot), Remy en los almuerzos y Alfred para pedir las vacaciones o enviar feedback. Estos bots entregan eficiencia, estandarizan procesos, eliminan los errores de las manualidades, recolectan datos y nos entregan muchos otros beneficios.

En Fintual tenemos 7 semanas de vacaciones, todas se piden por Slack al bot Alfred.
El mismísimo chef de Ratatouille nos toma el pedido.

Quizás estas automatizaciones suenan como una extravagancia inútil, pero la verdad es que siempre dejan algo valioso para ser explotado a futuro.

Por ejemplo, podríamos pensar que tenemos a Remy porque es cool pedirle almuerzo al chef de Ratatouille, pero en realidad entrega información de cuánta gente está yendo presencial a la oficina, qué días de la semana son los con mayor asistencia o el porcentaje de personas que prefiere el menú vegano. Algo similar pasa con Alfred y las vacaciones. Además, permiten liberar tiempo de las tareas manuales para dedicarte a cosas más productivas.

Pero volvamos a nuestro bot del Fintualist.

Después de enviar la newsletter cada semana, nos poníamos a revisar cómo le había ido: veíamos el desempeño general, el Open Rate de cada subject (el asunto del correo) o qué artículos habían tenido más éxito, entre varias otras cosas. Pero el proceso no era simple ni eficiente.

Ni siquiera sabíamos qué subject era el que había tenido el mayor éxito, para eso había que entrar a cada reporte.

Por eso quisimos tener nuestro propio bot: para saber en cualquier momento cómo iba nuestra newsletter. Queríamos saber de manera simple y rápida cómo se desempeñaba cada subject, y generar conversación en torno a esto; aprender algo de cada edición y así mejorar el contenido para nuestra audiencia.

El bot que nos armamos funciona así en el front end (de cara hacia nosotros): cada vez que preguntas en el canal de nuestro equipo “cómo le fue a fintualist” + cl/mx +  el número de edición de la newsletter, te contesta con cuántos la abrieron (Open Rate) y cuántos hicieron click (el Click Rate) y qué subject llevaba cada una.

Nuestro bot no tiene nombre todavía, pero le pusimos un pulpo bailarín porque la plataforma que usamos para enviar la newsletter se llama EmailOctopus.

A simple vista parece un proceso complejo: conectar diferentes aplicaciones y automatizar tareas. Pero es menos complicado de lo que parece. Aquí abajo te muestro un pequeño diagrama de nuestro bot:

Como ves, no es tan complicado. Eso sí, si te interesa entender más en detalle cómo se arma, hicimos este videotutorial con herramientas gratis, para que puedas crear tu propio bot de Slack.

En el video, conectamos Slack con dos herramientas OpenAI:

1) Dall-E, que sirve para hacer imágenes a partir de cualquier texto. Nosotros lo usamos para crear las imágenes de nuestros posts en Fintualist.

2) Y ChatGPT, que puede conversar contigo de lo que sea: puede escribir guiones, convertir lenguaje natural en código (aunque se equivoca harto), contestar problemas matemáticos, jugar ajedrez... Sirve mucho para crear pies forzados de textos que ayuden a inspirarse.

Es completamente replicable, hasta una compañera licenciada en literatura pudo hacerlo.

Tal vez con el video se te ocurran tareas para automatizar que nosotros todavía no hemos pensado, o por ahí logras armar un bot que lleve el servicio al cliente de tu empresa. Las opciones son muchísimas. Cuéntanos qué se te ocurre hacer a cartas@fintual.com

Algunas indicaciones:

Los tokens, API keys, canales y aplicaciones de Slack fueron eliminados por seguridad y se usan solo a modo de ejemplo para el video. Para seguir el tutorial es muy importante que crees las tuyas en: https://openai.com/api/ y https://api.slack.com/apps  

El código del bot lo puedes encontrar acá.  En esta misma página, en el archivo readme.md está todo lo que necesitas tener instalado para que el bot ande.

Eso sí, el código es un poco distinto al del video, cambian los nombres de algunas clases. Por eso, si quieres seguir el tutorial conmigo, te recomiendo hacerlo paso a paso basado en el video y no en el código de GitHub. O si no tienes tiempo, puedes simplemente instalar tu bot con el código en GitHub sin seguir el tutorial.

El editor de código que usamos fue VScode, que puedes bajarlo acá.