Seguimos con el ciclo de automatización del inbox cero. Hoy vemos cómo funciona Pub/Sub y qué ocurre cuando lo combinamos con filtros y etiquetas de Gmail. Pero antes, recordemos que en Boluda.com tenéis cursos para emprendedores, marketing online, desarrollo web, y todo lo que necesitáis para vuestro negocio online. Ayer empezamos el curso de Cloudflare, en el que aprenderemos a usar todos los servicios gratuitos de esta estupenda plataforma, para sacarle el máximo partido. ¡A por él! Ahora sí, vamos al lío. Hoy continúo con el ciclo dedicado a conseguir el inbox cero con ayuda de la inteligencia artificial. En esta ocasión os explico cómo funcionan los sistemas de avisos del correo electrónico y cómo podemos utilizarlos para activar automatizaciones. Disparar la automatización Para automatizar el correo necesitamos algún mecanismo que avise a nuestro código cuando sucede algo dentro del buzón. En Gmail podemos hacerlo mediante Pub/Sub. Es un sistema que permite publicar avisos y suscribirse a ellos. Gmail mantiene un proceso llamado "watch" que observa los cambios que se producen dentro de la cuenta. Ese proceso puede detectar que ha llegado un correo, que hemos eliminado un mensaje, que hemos añadido una etiqueta, que algo se ha enviado a spam o que hemos contestado una conversación. Cuando ocurre uno de esos cambios, Gmail no envía necesariamente toda la información del mensaje. Simplemente avisa a nuestra automatización de que ha pasado algo. A partir de ahí, nuestro código consulta el historial, identifica el cambio y decide si debe ejecutar alguna acción. La automatización puede estar alojada en Google Apps Script, en un servidor de Hetzner o en cualquier otro entorno capaz de recibir ese aviso y consultar la API de Gmail. Si usamos Pub/Sub, hay dos posibles estrategias a valorar. La primera posibilidad consiste en activar el watch para todo lo que ocurre dentro de Gmail. Cada cambio despierta la automatización. El código consulta qué ha sucedido y decide si tiene que hacer algo. El sistema funciona, pero puede generar bastante ruido. También se activa cuando llega spam, cuando borramos un mensaje o cuando realizamos cualquier acción que quizá no tenga ninguna importancia para nuestra automatización. Esto provoca ejecuciones innecesarias. Nuestro servidor tiene que despertarse, consultar Gmail, analizar el cambio y descubrir que en realidad no había nada que hacer. Ojo, no significa que esta arquitectura sea incorrecta. Puede ser útil cuando queremos observar muchos tipos de eventos distintos. Sin embargo, para automatizaciones muy concretas existe una opción bastante más limpia. La segunda opción, que es lo que hago yo, es aprovechar los filtros y las etiquetas de Gmail, y ejecutar solo las automatizaciones en esas. Por ejemplo, imaginad que quiero detectar facturas, como os comentaba ayer. Puedo crear un filtro para que Gmail etiquete automáticamente los mensajes enviados por Telefónica, Endesa o cualquier otro proveedor cuando el asunto contiene la palabra factura. A partir de ese momento no necesito que mi automatización vigile todo el buzón. Puedo pedirle que observe únicamente la etiqueta Facturas. Gmail se encarga de hacer el primer filtrado. Cuando llega un mensaje que cumple las condiciones, le asigna la etiqueta correspondiente. El Watch detecta el cambio y avisa a la automatización. El código ya no tiene que analizar todos los mensajes para descubrir cuáles son facturas. Solo se ejecuta cuando ocurre algo dentro de una categoría que me interesa. Así reducimos ejecuciones, llamadas a la API y ruido operativo. También disminuye el riesgo de que una avalancha de mensajes irrelevantes esté activando continuamente nuestro servidor. Los filtros de Gmail permiten utilizar muchas condiciones. Podemos filtrar por remitente, destinatario, palabras del asunto, contenido del mensaje, tamaño, fecha, carpeta o presencia de archivos adjuntos. Cuando combinamos esa flexibilidad con etiquetas y automatizaciones, el correo se convierte en una especie de panel de control. Automatizaciones automáticas y semiautomáticas Las etiquetas no tienen que asignarse siempre mediante filtros. También puedo utilizarlas manualmente como disparadores. Cuando recibo un correo nuevo que todavía no forma parte de ningún sistema automático, pulso la tecla L en Gmail y le asigno una etiqueta. Ese gesto puede iniciar una automatización completa. Por ejemplo, recibo una invitación para participar en un podcast. Le asigno la etiqueta Invitaciones. La automatización consulta mi calendario, busca los horarios que he reservado para entrevistas y prepara una respuesta con las opciones disponibles. Incluso podría crear el evento, añadir al invitado y generar el enlace de Google Meet. También puedo utilizar una etiqueta para pedir que se redacte una respuesta. Si recibo un mensaje técnico en inglés de un proveedor, asigno la etiqueta Responder y dejo que la inteligencia artificial prepare un borrador con la contestación. De esta forma mantengo el control de la decisión inicial, pero automatizo todo el trabajo posterior. Es una automatización semiautomática. Yo decido qué mensajes entran en el proceso y la máquina se ocupa del resto. Cualquier acción puede convertirse en un disparador Finalmente, debemos pensar que no estamos limitados a los mensajes recibidos. En Gmail, muchas carpetas funcionan internamente como etiquetas. Spam, enviados y otras categorías pueden servir como disparadores. Podría crear una automatización que revise con inteligencia artificial los mensajes enviados a spam y valore si alguno ha sido clasificado incorrectamente. También podría detectar los correos que contesto, comprobar si el destinatario es un cliente y registrar automáticamente la conversación en el CRM. Otro ejemplo sería vigilar los pedidos de WooCommerce. Cuando llega una venta superior a cierta cantidad, la automatización podría avisarme por Telegram, actualizar el CRM y guardar la información en una carpeta de clientes importantes. Alternativas a Pub/Sub Pub/Sub es la solución de Gmail, pero otros proveedores ofrecen mecanismos parecidos. Por ejemplo, Fastmail utiliza JMAP y permite recibir notificaciones mediante EventSource. La tecnología cambia, pero el concepto es el mismo. El proveedor avisa cuando ocurre algo y nuestra automatización reacciona. Lo importante es comprobar si nuestro servicio de correo ofrece notificaciones push, webhooks o algún sistema equivalente. Cuando no existe esta posibilidad, queda la alternativa del polling. Consiste en programar una tarea para que consulte el correo cada cierto tiempo y compruebe si hay novedades. Podemos hacerlo mediante cron o mediante temporizadores de systemd. Cada minuto, cada hora o con la frecuencia que decidamos, el servidor entra en el buzón y busca cambios. Funciona, pero es menos elegante y menos fiable. La automatización no recibe el evento exacto, sino que visita periódicamente el buzón intentando averiguar qué ha ocurrido desde la última consulta. Siempre es preferible que el proveedor nos avise de forma inmediata. El correo como punto de entrada La idea con la que quiero que os quedéis es que el correo electrónico puede convertirse en el punto de entrada de muchas automatizaciones. Los filtros clasifican los mensajes. Las etiquetas indican qué proceso debe ejecutarse. Los sistemas de avisos despiertan la automatización. Y nuestro código, con o sin inteligencia artificial, realiza el trabajo. Podemos automatizar facturas, mensajes del colegio, respuestas a proveedores, invitaciones, ventas, registros en el CRM o cualquier otro proceso que empiece con un correo. Una vez entendemos cómo funcionan Pub/Sub, EventSource, los filtros y las etiquetas, dejamos de correr detrás del inbox y empezamos a construir caminos para que cada mensaje vaya directamente al lugar que le corresponde. :) Como siempre, muchas gracias a todos por vuestras valoraciones de cinco estrellas en Apple Podcasts y Spotify, suscribiros a los cursos para emprendedores y por estar ahí, al otro lado. Como siempre digo, sin vosotros, esto no sería lo que es. Sin vosotros esto simplemente, no sería. Nos escuchamos mañana con más marketing online. Como siempre, a las 07:07. Hasta entonces… ¡Muy buenos lunes, y mejor semana!