Los propietarios de listas de SharePoint a menudo necesitan rastrear quién cambió qué y cuándo en una lista. El historial de versiones integrado almacena estos datos, pero no facilita la revisión de cambios en varios elementos ni el envío de alertas para ediciones específicas. Es posible que desee registrar todos los cambios en una lista separada para poder ejecutar informes o configurar flujos de Power Automate en el registro de auditoría. Este artículo explica cómo usar Power Automate para registrar automáticamente los cambios de una lista en otra lista y proporciona una lista de verificación práctica para configurar el sistema correctamente.
Puntos clave: Registrar cambios de una lista de SharePoint en otra lista
- Power Automate > Cuando se crea o modifica un elemento: Activa el flujo para cada elemento nuevo o editado de la lista.
- Power Automate > Obtener cambios de un elemento o un archivo (solo propiedades): Recupera la propiedad específica que se cambió y los valores antiguo y nuevo.
- Columnas de la lista de registro de auditoría: Use columnas para Id. de elemento, Tipo de cambio, Campo cambiado, Valor anterior, Valor nuevo, Modificado por y Marca de tiempo para almacenar un registro de auditoría completo.
Cómo funciona el sistema de registro de cambios
SharePoint no tiene una característica nativa que registre los cambios de una lista en una lista separada automáticamente. El historial de versiones de cada elemento registra los cambios, pero no se puede consultar el historial de versiones de varios elementos en una sola vista ni activar flujos de trabajo basados en cambios específicos de campos. Power Automate resuelve esta limitación al supervisar la lista de origen y escribir un registro en una lista de auditoría de destino cada vez que se crea o modifica un elemento.
El desencadenador principal es el desencadenador Cuando se crea o modifica un elemento en Power Automate. Después de que se activa el desencadenador, debe usar la acción Obtener cambios de un elemento o un archivo (solo propiedades) para identificar qué campo cambió y capturar los valores antiguo y nuevo. Esta acción devuelve un objeto JSON que enumera todas las propiedades cambiadas. Luego, analice este JSON y escriba los datos relevantes en la lista de auditoría.
Antes de crear el flujo, debe crear la lista de auditoría de destino. Esta lista necesita columnas para almacenar cada pieza de información de auditoría. Una lista de auditoría típica incluye las siguientes columnas:
- ItemID (Número) – el Id. del elemento en la lista de origen
- ChangeType (Opción) – valores: Created, Modified
- ChangedField (Una línea de texto) – el nombre para mostrar del campo que cambió
- OldValue (Varias líneas de texto) – el valor anterior
- NewValue (Varias líneas de texto) – el valor actual
- ChangedBy (Una línea de texto) – el usuario que realizó el cambio
- Timestamp (Fecha y hora) – cuándo ocurrió el cambio
Pasos para configurar el flujo de registro de cambios
- Crear la lista de auditoría
Vaya al sitio de SharePoint donde desea almacenar el registro de auditoría. Cree una nueva lista personalizada llamada AuditLog. Agregue las columnas enumeradas anteriormente. Establezca ItemID como número, ChangeType como opción con Created y Modified, y el resto como se especifica. - Abrir Power Automate y crear un flujo automatizado
Vaya a make.powerautomate.com. Seleccione Crear y luego Flujo de nube automatizado. Asigne al flujo un nombre como Log List Changes to Audit. - Agregar el desencadenador de SharePoint
Busque el conector de SharePoint y seleccione el desencadenador Cuando se crea o modifica un elemento. Proporcione la dirección del sitio y el nombre de la lista de origen que desea supervisar. - Inicializar una variable para almacenar los datos de cambios
Agregue una acción Inicializar variable. Asígnele el nombre ChangesJSON, establezca Tipo en String y deje el Valor vacío. Esta variable contendrá el JSON sin procesar de la acción de obtener cambios. - Obtener cambios del elemento
Agregue la acción de SharePoint Obtener cambios de un elemento o un archivo (solo propiedades). Proporcione la dirección del sitio y el nombre de la lista. En el campo Id, seleccione ID de la lista de contenido dinámico. Establezca Since en @addHours(utcNow(), -24) para capturar los cambios de las últimas 24 horas. Establezca ItemDeleted en No. - Analizar la respuesta JSON
Agregue una acción Parse JSON. En el campo Content, seleccione la salida Value de la acción Obtener cambios. Use el siguiente esquema para analizar la matriz de cambios:{ "type": "array", "items": { "type": "object", "properties": { "PropertyName": {"type": "string"}, "OldValue": {"type": "string"}, "NewValue": {"type": "string"} }, "required": ["PropertyName"] } } - Aplicar a cada cambio
Agregue una acción Aplicar a cada uno. En el campo Seleccione una salida de los pasos anteriores, seleccione la salida Body de la acción Parse JSON. Dentro del bucle, agregue una acción Crear elemento para el conector de SharePoint. Diríjala al sitio y al nombre de la lista de auditoría. - Asignar las columnas de auditoría
En la acción Crear elemento, asigne el contenido dinámico de la siguiente manera:- Title – déjelo en blanco o use una concatenación de ChangeType e ItemID
- ItemID – seleccione ID de las salidas del desencadenador
- ChangeType – use una condición: si la salida del desencadenador Modified es igual al elemento actual, use Modified; de lo contrario, use Created
- ChangedField – seleccione PropertyName de la salida de Parse JSON
- OldValue – seleccione OldValue de la salida de Parse JSON
- NewValue – seleccione NewValue de la salida de Parse JSON
- ChangedBy – seleccione Modified By DisplayName de las salidas del desencadenador
- Timestamp – seleccione Modified de las salidas del desencadenador
- Guardar y probar el flujo
Guarde el flujo. Agregue o modifique un elemento en la lista de origen. Espere unos minutos y verifique la lista AuditLog para ver si hay una nueva entrada. Si no aparece ninguna entrada, revise el historial de ejecución del flujo yendo a la página de detalles del flujo y seleccionando la ejecución fallida.
Problemas comunes al registrar cambios de listas
El flujo no se activa para ediciones masivas
El desencadenador Cuando se crea o modifica un elemento se activa una vez por elemento, no una vez por cambio. Cuando se editan varios elementos a la vez con Edición rápida o un formulario de Power Apps, es posible que el desencadenador omita algunas actualizaciones. Para capturar todos los cambios, asegúrese de que el flujo se ejecute para cada elemento individual. Si usa una edición masiva, considere usar un flujo programado que busque cambios periódicamente en lugar de depender del desencadenador en tiempo real.
La acción Obtener cambios no devuelve datos
La acción Obtener cambios de un elemento o un archivo (solo propiedades) requiere que el parámetro Since se establezca correctamente. Si lo establece en un momento anterior a la creación del elemento, es posible que devuelva todas las propiedades. Si lo establece en un momento demasiado lejano en el pasado, la acción puede agotar el tiempo de espera. Establezca Since en @addHours(utcNow(), -24) para capturar los cambios de las últimas 24 horas. Para elementos nuevos, la acción devuelve todas las propiedades como cambios.
La lista de auditoría crece demasiado rápido
Si la lista de origen es grande o se edita con frecuencia, la lista de auditoría puede acumular miles de filas rápidamente. Para gestionar el crecimiento, agregue un flujo de limpieza que elimine los registros con más de 90 días de antigüedad. Como alternativa, use una directiva de retención en la configuración de la lista de SharePoint para eliminar elementos automáticamente después de un período establecido.
Desencadenador de Power Automate vs registro de cambios de SharePoint: diferencias clave
| Elemento | Flujo de Power Automate | Historial de versiones de SharePoint |
|---|---|---|
| Ubicación de almacenamiento | Lista de auditoría separada que usted controla | Almacenado por elemento en la misma lista |
| Consulta entre elementos | Sí – ver todos los cambios en una lista | No – debe abrir cada elemento individualmente |
| Detalle a nivel de campo | Captura los valores antiguos y nuevos por campo | Muestra las diferencias de versión por campo |
| Desencadenador de automatización | Puede iniciar otros flujos o enviar correos electrónicos | No hay desencadenador integrado en la creación de versiones |
| Control de retención | Limpieza manual o basada en flujos | Establecer el límite de número de versiones en la configuración de la lista |
Ahora puede configurar un flujo de Power Automate para registrar cada cambio de una lista de SharePoint en una lista de auditoría dedicada. Esto le brinda una vista única de todas las ediciones en los elementos y le permite crear informes o alertas sobre los datos de auditoría. Comience creando la lista de auditoría con las columnas requeridas, luego cree el flujo usando el desencadenador y la acción Obtener cambios. Para listas grandes, agregue un flujo de limpieza programado para mantener la lista de auditoría manejable. Pruebe el flujo con un solo elemento antes de habilitarlo en una lista de producción.