3 agosto, 2026

CONSTRUIR FLUJO PARA ENVIAR RECORDATORIO DE CUMPLEAÑOS

Hola a todos,

Me han pedido un flujo muestre las personas que van a cumplir años el día siguiente, mañana. Dado que es muy habitual este tipo de informaciones para felicitar a los compañeros, os voy a mostrar una forma de hacerlo, eficiente y muy rápida.

En primer lugar vamos a ver que utilizamos como fuente de datos, podemos usar Excel, SharePoint, Dataverse, etc. En este caso voy a utilizar Dataverse, un tabla con los siguientes datos, Nombre, Departamento, Fecha de Nacimiento y Dia Mes:

En cuanto a esta última columna auxiliar, es necesario utilizar para poder utilizar los filtros OData en las acciones de Automate. Para obtener el campo DiaMesCumple, antes de subir los datos a Dataverse, aplicaremos esta fórmula sobre la fecha de nacimiento:

=TEXTO(F5;"dd-MM")

Y ahora que ya tenemos la tabla en Dataverse, ya podemos iniciar el flujo:

El primer paso usar un desencadenador, yo he elegido el del flujo programado:

En el siguiente paso vamos a declarar una variable «tablaCumples», tipo Cadena para crear los encabezados de la tabla en la que vamos a meter los datos de las personas, es decir, el nombre, el departamento (y si queréis, la edad):

Este es el código:

<table border='1' style='border-collapse:collapse;'>
  <tr>
    <th>Nombre</th>
    <th>Departamento</th>
    <th>Edad</th>
  </tr>

En el siguiente paso, vamos a añadir la acción de Enumerar filas de Dataverse, especificando la tabla y filtrando por el día y mes del campo:

La función para filtrar las filas con oData es indicando el campo de la tabla (en Dataverse, el nombre está en inglés, tenéis que verificar el nombre del campo), en este caso es: cr8d5_birthdaydaymonth y le ponemos la función igual eq y ahora tenemos que añadir una expresión para filtrar por mañana (si quisiéramos en el día actual, eliminamos la función addDays y sus argumentos):

formatDateTime(addDays(utcNow(),1), 'dd-MM')

Para que se entienda:

Y una vez que tenemos la la información filtrada, debemos verificar con una condición si tenemos datos (cumpleaños) que mostrar. Y lo vamos a hacer con otra expresión dentro de ese campo, donde vamos a contar los registros que ha devuelto. Debemos hacer referencia al paso anterior e indicar el nombre, en nuestro caso es Enumerar_filas e indicar que sea mayor que 0:

length(outputs('Enumerar_filas')?['body/value'])

Si se cumple la condición, vamos a empezar a trabajar en los datos para visualizarlos y enviarlos correctamente. Para ello, el siguiente paso es añadir la acción Seleccionar, para transformar cada registro para que solo conserve tres campos con nombres personalizados:

Obteniendo una lista simplificada de objetos. Desde lo obtendréis de la acción Enumerar filas al igual que el resto de elementos de Mapa. Los nombres de la izquierda se los he puesto yo, si los modificáis luego más adelante tendréis que poner el nombre que hayáis indicado.

El siguiente paso es crear un loop para meter a cada uno dentro de la tabla que vamos a enviar

Para ello vamos a añadir un bucle «Aplicar a cada uno», con la salida del paso anterior y anexando la variable que habíamos creado al principio «tablaCumples» y vamos a añadir cada elemento de la tabla, es decir, el Nombre, el Departamento y un campo que vamos a calcular y que será la edad (y nos aseguramos que si la fecha de nacimiento está vacía deje el campo vacío.

Observad aquí como los nombres de los campos son los que había indicado en la acción Seleccionar en «Mapa»:

<tr>
  <td>@{items('Aplicar_a_cada_uno')?['Nombre']}</td>
  <td>@{items('Aplicar_a_cada_uno')?['Departamento']}</td>
 <td>@{if(
  not(empty(item()?['FechaNacimiento'])),
  sub(int(formatDateTime(utcNow(), 'yyyy')), int(formatDateTime(item()?['FechaNacimiento'], 'yyyy'))),
  ''
)}</td>

</tr>

Y ya finalmente, pasamos la información a la acción de «Enviar correo electrónico (V2)

Aquí os dejo el html para pegar en el cuerpo del correo como html (ojo).

<p>Hola,</p>

<p><strong>Estas personas cumplen años mañana:</strong></p>

@{variables('tablaCumples')}

<p>¡No olvides felicitarlas!</p>

El resultado es este:

Comparte este post

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies