Buscar

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Continuando con nuestra serie de posts sobre Power Automate (aka Flow).

Hoy vamos a explicar una solución muy interesante: Power Automate: Generar notificaciones de correo desde un fichero de Excel.

Power Automate es una herramienta tan poderosa como desconocida en el mundo de IT. Se incluye en todas las licencias de M365 de modo que si tienes contratada una licencia de M365 puedes dar por hecho que puedes usar Power Automate.

Imaginemos que tenemos un .xlsx (también podría ser una tabla de SharePoint) con algunos datos para tener controladas las fechas de expiración de licencias, de certificados digitales, de pagos a proveedores, pólizas de seguros... y queremos que se notifique a un correo electrónico con cierto tiempo de antelación para tener tiempo suficiente para actuar (renegociación, baja, modificación...)

En nuestro caso usaremos una tabla en la que hay unas renovaciones de productos Veeam de clientes:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Debemos satisfacer algunas necesidades:

- Mandar una notificación por correo electrónico al responsable de renovaciones.
- Decidir con cuanta antelación notificar (meses).
- En el mensaje deben de constar Cliente, Fabricante, Producto, FechaExpiración e idUltimaFactura.
- Todo el proceso debe ser automatizado.
- Si el proceso falla debe recibirse un correo avisando del fallo.

Paso 1: Preparar la tabla y datos necesarios.

El primer paso será acondicionar los datos del fichero Excel, tendremos que definir la tabla en la que constarán los datos y tendremos que añadir una columna en la que apuntaremos los MesesAntesDeNotificacion y calcular la FechaNotificacion.

PowerAutomate: Generar correo desde fichero Excel (Parte 1)
 
La fórmula para calcular la fecha con meses de antelación sería: =SI(E6="";"";FECHA.MES(E6;-G6))
 
El formato de las casillas con fechas (FechaExpiracion y FechaNotificacion) tiene que estar establecido en formato de “Fecha”:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Definimos los datos como tabla de Excel:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

De tal forma que si seleccionamos cualquier casilla debe aparecer:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Finalmente un paso importante: Establecemos que la fecha de notificación de alguna de las filas sea para hoy (para poder testar la rutina).

Nota: Este archivo debe almacenarse en la nube de M365 (One Drive o SharePoint).

Ya tenemos el fichero de Excel listo para empezar con la parte divertida: La automatización con Power Automate.

Paso 2: Crear el Flow de Power Automate

Entramos en https://emea.flow.microsoft.com/ entramos en “+ Create” y “Scheduled cloud flow”

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Con esto vamos a crear un flujo de ejecución programada, lo que sería una “tarea programada” de las de antes.

Establecemos el nombre del flujo y hora y frecuencia de ejecución:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Nos creará el flujo. Pulsamos sobre “+ New step”:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Escribimos “list row” y selecionamos “List rows present in a table”.

Rellenamos los campos con la ruta y la tabla de nuestro Excel:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Estos datos cambiarán según la ruta de tu entorno.

Pulsamos sobre “Show advanced options” para establecer un filtro que nos servirá para ver si hay notificaciones para hoy. Esta parte es la más complicada de todo el proceso intentaremos explicar un poco (sin entrar con mucho detalle) cómo filtrar por fecha:

FechaNotificacion eq '@{div(sub(ticks(utcNow('yyyy-MM-dd')),ticks('1899-12-30T00:00:00')),864000000000)}'

de forma que os quede así:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Mucho cuidado de no olvidarse las comillas simples.

Establecemos “DateTime” Format a “ISO 8601”

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Así se tratarán las fechas en formato tradicional.

Ya podemos guardar y verificar.

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Y confirmamos que queremos lanzar el flujo:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Debe aparecer el mensaje de que no ha habido errores y si le damos en “Click to download” debería aparecer contenido del estilo:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Tip: Es muy importante ir testando cada pocos cambios para ver que todo funciona bien, no es buena idea añadir muchos pasos o cambios y esperar al final para testar. Si vamos testando frecuentemente cada pocos cambios es mucho más fácil progresar:

Si no hay errores continuamos editando:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Añadimos una nueva Etapa:

PowerAutomate: Generar correo desde fichero Excel (Parte 1)

Con esto añadiremos un control clásico de programación: “ForEach”

Continua en el siguiente post:


2 comentarios:

  1. Hola,
    me resulto muy util tu articulo sobre power automate y sus flujos.
    probe el flujo en mi power automate y me funciono perfecto, aunque tuve algunos problemas con el filtro, sin embargo lo que me sorprendio fue que al editar el flujo varias "opciones" me aparecen ocultas siendo imposible modificarlas.

    Gracias, saludos

    ResponderEliminar
  2. Hola, gracias por tu comentario. A veces después de realizar un test los campos aparecen como bloqueados. No sé si este era tu caso, normalmente esperando unas horas acaba desbloqueándose. Espero te sirva de ayuda.

    ResponderEliminar