Ejercicio: Archivar una lista de SharePoint en una programación
En el ejercicio anterior, creó un flujo de nube automatizado desencadenado por una acción en otro sistema: la creación de un nuevo elemento en una lista de SharePoint. Sin embargo, hay otras formas de iniciar flujos en Power Automate. En este ejercicio, aprenderá a crear un flujo de nube programado para automatizar el archivado de datos en SharePoint de forma periódica.
Como utiliza la misma lista "Rastreador de incidencias" de la unidad Ejercicio: Enviar un mensaje de Teams cuando se añade un elemento a SharePoint anterior, deberá haber completado ya los primeros pasos de esa unidad para configurar la lista de origen. Después de crear una lista de origen, podrá crear la lista de destino, que servirá como el archivo.
Crear una lista de archivo en blanco
Para crear una lista de archivo en blanco, siga estos pasos:
- Desde el sitio de SharePoint, seleccione Nueva > Lista.
- Seleccione De la lista existente, ya que lo que quiere es que esta nueva lista de archivo coincida exactamente con el esquema de la lista anterior.
- Busque y seleccione Rastreador de incidencias en las opciones y seleccione Siguiente.
- Póngale a la lista el nombre Archivo de rastreador de incidencias y seleccione Crear.
Estos son los únicos pasos que hay que completar en SharePoint. El resto del ejercicio se hace en Power Automate.
Crear un flujo
Para crear un flujo, siga estos pasos:
Vaya a https://make.powerautomate.com y seleccione Crear > Flujo de nube programado.
Póngale al flujo un nombre significativo, como Archivar datos del rastreador de incidencias.
Seleccione una fecha de inicio para que el flujo comience a ejecutarse y configúrela en una hora que tenga sentido para actualizar el archivo. Tiene la opción de seleccionar un tiempo de inactividad cuando no haya mucha actividad en la lista, por ejemplo, durante la noche. Para este ejercicio, la fecha y la hora no importan, así que elija una fecha en el futuro y una hora de 01:00.
Sugerencia
Los flujos programados no pueden repetirse más de una vez por minuto. Sin embargo, el menú desplegable de incremento de tiempo proporciona Segundo como opción, así que la interfaz no le impedirá crear un flujo programado que se repita, por ejemplo, cada segundo o cada diez segundos. Se dará cuenta de que hay un problema al intentar guardar el flujo: es ahí cuando el sistema mostrará el error. Debe actualizar el desencadenador Periodicidad a 60 segundos o más antes de poder guardar. La opción Segundo está disponible para hacer una programación más específica, como ejecutar cada 90 segundos, cada 318 segundos o cada cualquier otro periodo de tiempo que necesite en su aplicación. Si programa una periodicidad de flujo mediante la opción Segundo, el número de segundos debe ser, como mínimo, de 60.
Elija un programa de periodicidad que le vaya bien, en función de lo activa que sea la lista. En muchas aplicaciones, es probable que una vez al día sea una buena opción, así que seleccione esa opción y, luego, Crear.
Antes de añadir acciones, revise la estrategia general para este flujo. Puede usar un flujo de archivo para lo siguiente:
- Añadir nuevos elementos de la lista de origen al destino.
- Añadir nuevos elementos y buscar actualizaciones en la lista de origen, lo que actualiza el elemento correspondiente en el archivo.
- Añadir nuevos elementos y una nueva copia de los elementos actualizados; esto mantendrá intacto el original y guardará un registro de los cambios.
Para este ejercicio, empleará la tercera opción.
Añadir la acción Obtener elementos
Con la acción Obtener elementos, puede buscar el elemento más reciente en la lista de archivo. La fecha de creación de ese elemento muestra la última vez que el flujo haya añadido algo al archivo. Esta fecha es el punto de partida para encontrar nuevos elementos en la lista de origen que se va a archivar. Si la lista de archivo está vacía cuando ejecuta el flujo por primera vez, tiene opciones para solucionar el problema; hablaremos de ello más adelante en este módulo.
En Periodicidad, seleccione el signo de suma (+) y Agregar una acción.
En el cuadro de búsqueda, busque y seleccione la acción Obtener elementos bajo el encabezado SharePoint.
Seleccione Dirección del sitio y busque el sitio de SharePoint.
Seleccione Nombre de lista y busque el nombre de la lista de Archivo, no la de orígenes.
Seleccione Mostrar todo, junto al menú desplegable Parámetros avanzados, a fin de mostrar los parámetros adicionales para esta acción.
Está utilizando esta acción para capturar la fecha y hora de creación del elemento más reciente de su lista de archivo. Por lo tanto, solo necesita obtener un elemento, pero debe ser el más nuevo. Para ello, utilice una consulta ODATA sencilla introduciendo la siguiente información:
En el campo Ordenar por, introduzca Creado desc.
Nota
Esta consulta ODATA le dice a la acción que ordene por el campo Creado, que es un datetime en SharePoint. Desc es el código para descendente, lo que significa que los elementos más nuevos aparecerán primero. Para revertir ese orden, use la abreviatura asc (ascendente).
En el campo Recuento principal, introduzca 1.
Nota
Recuento principal indica el número máximo de registros que se devolverán. Solo necesita el registro más reciente, así que introduzca 1 en el campo.
Inicializar una variable para almacenar la fecha y hora de creación
En un momento posterior del flujo, hay otra acción Obtener elementos que obtiene todos los elementos de la lista de origen con una fecha de creación o modificación posterior al elemento más reciente de la lista de archivo. Para determinar cuál es este punto de partida, use la variable varCreatedDatetime. Sin embargo, si la lista de archivo está vacía (por ejemplo, si es la primera vez que ejecuta el flujo), no hay ningún elemento presente que proporcione un datetime de inicio. En ese caso, establezca la variable en una fecha muy antigua, como el 1 de enero de 1900, a fin de que se incluyan todos los elementos de la lista de origen. El sistema aplica a esta fecha el formato ISO 8601 UTC, que es el estándar que SharePoint usa para almacenar valores de datetime.
En Obtener elementos, seleccione el signo de suma (+) y Agregar una acción.
En el cuadro de búsqueda, busque y seleccione Inicializar variable, bajo el encabezado Variable.
Seleccione Nombre e introduzca varCreatedDatetime.
Seleccione el menú desplegable Tipo y, luego, cadena.
Seleccione Valor y pegue el valor 1900-01-01T00:00:00Z
Configure la variable varCreatedDatetime si los elementos están en la lista de archivo
Para configurar la variable varCreatedDatetime si los elementos están en la lista de archivo, siga estos pasos:
- En Initialize variable, seleccione el signo de suma (+) y Agregar una acción.
- En el cuadro de búsqueda, busque y seleccione la opción Establecer variable en la lista.
- Seleccione el menú desplegable Nombre y, a continuación, varCreatedDatetime.
- Seleccione Valor y, a continuación, el icono de rayo.
- En el cuadro Buscar, introduzca Creado.
- Hay varios campos de la acción Obtener elementos que aparecen con la palabra Creado. Seleccione el único que aparezca solo como Creado, no como Creado por.
En este punto, Power Automate crea automáticamente un bucle For Each y coloca la acción Establecer variable dentro de este. Esto puede resultar inesperado si es usted nuevo en Power Automate, pero ocurre porque la acción Obtener elementos devuelve una lista de elementos (denominada matriz). Al aplicar otra acción a una matriz, Power Automate crea un bucle para procesar cada elemento de la matriz. Si no ha limitado el Recuento principal a 1, la acción Obtener elementos devolvería todos los elementos de la lista de archivo y Power Automate recorrería cada uno de ellos, lo que actualizaría la variable varCreatedDatetime con la fecha de creación de cada elemento de la lista. En este caso, como ha limitado los resultados a 1, el bucle se ejecuta solo una vez (y establece varCreatedDatetime en la fecha de creación del elemento más reciente), o no se ejecuta si la lista de archivo está vacía. Si el bucle no se ejecuta, la variable permanece en su valor predeterminado (1 de enero de 1900).
Añadir otra acción Obtener elementos
Ahora necesita obtener los elementos de la lista de origen que tengan un datetime de creación o modificación más reciente que varCreatedDatetime.
En lugar de volver a añadir la acción Obtener elementos, puede utilizar la funcionalidad copiar/pegar en Power Automate. Para ello, haga clic con el botón derecho en la tarjeta Obtener elementos y seleccione Copiar acción.
Seleccione el icono de suma (+) situado bajo el bucle For each (no bajo Establecer variable, sino bajo el cuadro de límite alrededor del bucle For each). Seleccione Pegar acción. Ahora, aparecerá en pantalla una acción Obtener elemento-copia. Siempre que el flujo tenga numerosas variantes de la misma acción, es recomendable cambiar el nombre de estas acciones para que se diferencien claramente. Este método es especialmente útil cuando necesita saber qué campos van con qué acción mientras selecciona datos dinámicos para otras acciones. Por lo tanto, antes de continuar, actualice los nombres de la siguiente manera:
- Seleccione la primera tarjeta Obtener elementos. En la hoja de parámetros que se abrirá a la izquierda, seleccione el título Obtener elementos hacia la parte superior de la pantalla. El texto sin formato se convierte en una entrada de texto a la que se le puede cambiar el nombre. No cambie el nombre de la acción, pero añada un guion y un título descriptivo para obtener otro título, como Obtener elementos - Último registro de archivo.
- Seleccione la tarjeta Obtener elementos-copia y actualícela cambiando el nombre a Obtener elementos - Elementos de origen para archivar.
Permanezca en la acción Obtener elementos - Elementos de origen para archivar y cambie el Nombre de la lista a la lista de origen, Rastreador de incidencias.
Seleccione Mostrar todo a la derecha de Parámetros avanzados.
Elimine los parámetros Ordenar por y Recuento principal, no los necesitará para esta acción. Para ello, seleccione la X a la derecha del campo de entrada o seleccione el texto en cada campo y elimínelo.
Para recuperar solo aquellos elementos que son más nuevos que el elemento más reciente de la lista de archivo, debe crear una consulta OData. La consulta debe filtrar según los criterios de creación y modificación, ya que el flujo captura los elementos que se crearon desde la copia de seguridad anterior y los elementos que se modificaron desde la última copia de seguridad.
Seleccione el campo de entrada Consulta de filtro.
Escriba Creado gt '' o Modificado gt ''
Nota
La instrucción indica que hay que poner dos comillas simples después de gt, no comillas dobles. En caso de duda, copie y pegue estas instrucciones.
Coloque el cursor entre el primer conjunto de comillas simples y seleccione el icono de rayo.
Seleccione varCreatedDatetime en el encabezado Variables.
Repita los mismos pasos colocando el cursor entre las comillas simples después de Modificado gt y seleccionando varCreatedDatetime.
Añadir la acción Crear elemento
Ahora ha llegado el momento de recorrer en bucle todos los elementos recopilados por la acción Obtener elementos - Elementos de origen para archivar y de copiar cada elemento a la lista de archivo mediante la acción Crear elemento. La acción Crear elemento debe parecerse a lo que se ve en la siguiente captura de pantalla.
En Obtener elementos - Elementos de origen para archivar, seleccione el signo de suma (+) y Agregar una acción.
En el cuadro de búsqueda, busque y seleccione la acción Crear elemento bajo el encabezado de SharePoint.
Seleccione Dirección del sitio y busque el sitio de SharePoint.
Seleccione Nombre de lista y busque el nombre de la lista de Archivo, no la de orígenes.
Seleccione Mostrar todo, junto al menú desplegable Parámetros avanzados, a fin de mostrar los parámetros adicionales para esta acción.
Seleccione el campo Título y el icono de rayo; luego, en el cuadro Buscar, escriba Título.
En la lista bajo el encabezado Obtener elementos - Elementos de origen para archivar, seleccione Título.
Como el sistema aplica esta acción a todos los elementos devueltos por la acción Obtener elementos - Elementos de origen para archivar, Power Automate crea automáticamente un bucle For Each y coloca la acción Crear elemento dentro de este. Esta es la respuesta esperada. Puede completar manualmente esta acción creando primero su propia acción Aplicar a cada uno y poniendo dentro de esta la acción Crear elemento, pero el método más fácil en este caso es dejar que Power Automate lo haga automáticamente.
El siguiente campo bajo Título en la acción Crear elemento es Descripción del problema; las columnas restantes continúan debajo. Lleve a cabo las siguientes acciones para cada columna:
Seleccione el campo, seleccione el icono de rayo y busque el nombre de la columna en el cuadro Buscar.
Busque la coincidencia en el encabezado Obtener elementos - Elementos de origen para archivar y selecciónelo.
Algunas columnas son columnas de opción o búsqueda y debe administrarlas de manera diferente. Por ejemplo, Valor de prioridad y Valor de estado son columnas de opción, mientras que Asignado a reclamaciones es una columna de búsqueda.
Para cada columna, seleccione el menú desplegable debajo del encabezado del campo; luego, desplácese, si es necesario, hasta el final de la lista y seleccione Escribir un valor personalizado. A continuación, seleccione el icono de rayo y proceda como de costumbre a seleccionar el elemento correspondiente en Obtener elementos - Elementos de origen para archivar.
Cuando trabaje con columnas de opción, debe seleccionar la versión Valor del campo (por ejemplo, Valor de prioridad, no Prioridad). Es importante conocer esta información, debido a cómo se almacenan las columnas de opción en SharePoint.
Después de asignar todas las columnas de la acción Crear elemento a la columna correcta en la lista de origen, podrá guardar y probar el flujo. Antes de la prueba, compruebe que la lista de archivo está vacía y que hay, al menos, una o dos filas de datos en la lista de origen. Luego, siga estos pasos para probar el flujo:
- Seleccione Guardar.
- Seleccione Probar.
- Seleccione Manualmente.
- Seleccione Probar.
- Seleccione Ejecutar flujo.
- Seleccione Listo.
Tras unos segundos, el flujo debería ejecutarse y debería aparecer un banner verde en la parte superior de este con el mensaje El flujo se ejecutó correctamente. Antes de continuar, recuerde que la información del historial de ejecución de un flujo es muy extensa; puede aprender mucho sobre cómo funciona el flujo revisando cuándo se ha ejecutado de forma correcta y, sobre todo, cuándo no ha sido así.
Dado que es la primera vez que se ejecuta el flujo y que la lista de archivo estaba vacía, la variable varCreatedDatetime permanece en la fecha predeterminada (1 de enero de 1900). Este resultado es evidente en el primer bucle For each, donde el icono omitido aparece en la esquina superior derecha de la acción Establecer variable, lo que indica que la acción se ha omitido.
Para observar los cambios al completar la lista de Archivo, siga estos pasos:
- Vaya a la lista de SharePoint de Archivo y actualícela. Debería haber copias de todo lo que hay en la lista de origen.
- Vaya a la lista de origen y añada otro elemento.
- Vuelva al flujo y seleccione Editar.
- Seleccione Probar > Manualmente > Probar > Ejecutar flujo > Listo.
- En esta ocasión, aparece un indicador 1 de 1 debajo del primer bucle For each y una marca de verificación verde en la esquina superior derecha de Establecer variable. La apariencia de estos componentes indica que la acción For Each tenía un elemento con el que trabajar en la acción Obtener elementos - Último registro de archivo y que establecía varCreatedDatetime en el datetime de creación.
- Actualice la lista de Archivo. El nuevo elemento deberá mostrarse como añadido a la lista. Asegúrese de que no haya duplicados de elementos. Si aparecen duplicados, es posible que haya habido un problema con Consulta de filtro en Obtener elementos - Elementos de origen para archivar.
- Como última prueba, modifique uno de los registros existentes en la lista de origen, lo que debería obligar al sistema a agregar una copia nueva al archivo; esto dejará el original sin modificaciones.
- Vuelva a la lista de origen, seleccione uno de los registros y cambie algo, como la descripción del problema o la prioridad. Asegúrese de confirmar el cambio antes de volver al flujo.
- Vuelva al flujo y seleccione Editar.
- Seleccione Probar > Manualmente > Probar > Ejecutar flujo > Listo.
- Revise la lista de Archivo. Debería aparecer una copia nueva del elemento modificado, con el original intacto y sin otros duplicados.
En este ejercicio, ha completado un flujo de ejemplo que puede usar en un escenario del mundo real cuando esté automatizando el proceso de archivado de datos en SharePoint. Si configura la Periodicidad del flujo para que se ejecute en algún momento de las próximas 24 horas, añada algunos elementos a la lista de origen y vuelva al día siguiente para ver si el flujo se ha ejecutado según lo programado y el archivo se ha actualizado. Enhorabuena, ya está automatizando como un profesional.