Escenario: Automatizar una tarea para que al recibir un email extraiga los datos relevantes del cuerpo del mensaje y los envíe a otra aplicación (Pushover) para que  nos llegue en forma de notificación móvil.

Nivel de dificultad: Bajo

Tiempo de implementación: 20 minutos.


Extraer datos estructurados del cuerpo de un email automáticamente es una tarea que puede ahorrarnos tiempo y trabajo.

Aunque digan que el email ha muerto, sigue presente en nuestras vidas y continúa siendo uno de los canales de comunicación más utilizados, tanto en el ámbito empresarial como por muchos de los servicios que utilizamos a diario.

No habría ningún problema si no fuera porque muchos de estos emails pueden requerir de nuestro tiempo para que llevemos a cabo todo tipo de tareas con ellos.

Desde extraer los datos que nos llegan a través de un formulario para darlos de alta en nuestro CRM, hasta tener que añadir determinados datos contenidos en el cuerpo del mensaje dentro de una hoja de cálculo. Cada nuevo email que llega a la bandeja de entrada es una pequeña tarea que espera por nosotros.

En mi caso la necesidad de automatizar tareas relacionadas con emails me llegó al cambiar de banco. Ese día descubrí que cada vez que hacía una compra recibía a los pocos minutos un email como el siguiente.

Me pareció interesante la idea de recibir algo así a modo de confirmación por cada compra que iba a realizar en adelante, con su fecha, importe y el nombre del establecimiento, pero ¿por email?, ¿no hubiera sido mejor una notificación push en mi teléfono y no tener que abrir correos?, y si quiero guardar estos datos en una App para controlar mis gastos, ¿cómo lo hago?

Por suerte hay una solución y pasa por utilizar parsers o analizadores de texto, con los que es posible extraer datos estructurados (en este caso del cuerpo de un email), de acuerdo a un conjunto de reglas que podemos establecer.

De este modo es posible delegar la lectura de nuestro correo a un bot o reenviarle los emails que deban ser analizados para que nos extraiga los datos, los transfiera a cualquier otra aplicación o los exporte a otros formatos como CSV, JSON, XML o Excel.

Para implementar esta automatización usaremos una cuenta gratuita de Botize y la aplicación Pushover para el envío de notificaciones Push. En tu caso particular puedes reemplazar Pushover por cualquier otra acción que necesites: guardar los datos en una base de datos, en una hoja de cálculo, enviarlos a un chat de Slack, de Telegram, enviarlos a un Webhook, etc.

En primer lugar, accede a Botize y crea una nueva tarea haciendo clic en el botón «Nueva tarea» de tu panel.

Como primer paso Botize te muestra algunas de las aplicaciones y servicios que puedes automatizar.

Haz un clic en el icono de «Botize Mail» como se muestra en la siguiente imagen.

Botize Mail es un servicio que nos permite ejecutar distintas acciones automáticas con cada uno de los emails que le enviemos a la cuenta bot@botize.com.

Nuestra tarea va a revisar cada vez que se ejecute si se ha enviado algún nuevo email y en tal caso extraer los datos y enviar la notificación push, por lo que de entre las distintas operaciones que nos permite automatizar, haz un clic en «Si envío un email a bot@botize.com«.

Indica ahora en campo «Cuenta de correo del remitente» la cuenta desde la que enviarás los emails a bot@botize.com.

Pulsa siguiente y aparecerá un mensaje diciendo que para continuar debes validar tu cuenta de correo, enviando para ello un email a bot@botize.com con el asunto BOTIZE.

Una vez enviado pulsa el botón Verificar.

Si todo ha ido bien habrás terminado con este primer paso y Botize te mostrará de nuevo algunos de los servicios que puedes incorporar a tu tarea automática.

En esta ocasión haz un clic en el icono del servicio «Analizador de texto«, como se muestra en la siguiente imagen.

Selecciona ahora la opción «Extraer datos de un texto«.

Deberemos indicar ahora un texto de ejemplo y los distintos datos que queremos extraer de él. Para ello es suficiente con indicar el nombre que queremos atribuirle a cada dato y el valor que toma en el texto de ejemplo que hemos indicado.

En mi caso he pegado uno de los mails que recibo cada vez realizo una compra y extraído el importe y el nombre del establecimiento en el que he comprado.

Una vez indiques tu texto de ejemplo y los datos que quieres extraer de él, solo queda por indicar el lugar donde estará el texto real de donde debe extraer los datos cada vez.

En nuestro caso se trata del cuerpo del email, por lo que lo especificamos seleccionando la etiqueta Cuerpo dentro del campo «Texto desde el que extraer los datos«.

Pulsa el botón de Siguiente para continuar.

Haz un clic en el icono «+» que hay situado a la derecha de «Extrae datos de un texto» para añadir una nueva acción a la tarea.

Haz un clic ahora en el icono de Pushover.

Y elige la opción «Enviar a Pushover«.

En el campo Mensaje definite el texto de la notificación push que quieres recibir.

En mi caso la notificación quedará de este modo.

Por último pulsa el botón «Guardar cambios» y tu tarea estará terminada.

Cada vez que envíes un email a bot@botize.com se ejecutará la tarea y recibirás la notificación móvil correspondiente al contenido del email.

En tu servidor o cliente de correo puedes programar una redirección de los correos que vengan de un determinado remitente o contengan un determinado asunto para automatizar también esta parte.

Próximamente espero publicar una entrada en la que explicaré como puedes conectar directamente tu cuenta de correo a Botize y eliminar así toda la parte de envío de emails a bot@botize.com.

Si tienes problemas con algún paso o cualquier duda con esta automatización puedes dejarlo en los comentarios de esta entrada. 

Dejar un comentario

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