Desencadenar flujos cuando se agrega, modifica o elimina una fila

El desencadenador Cuando se agrega, modifica o elimina una fila ejecuta un flujo cada vez que cambia o se crea una fila de una tabla y un ámbito seleccionados.

Requisitos previos

  • Para crear un flujo que se desencadene al crear, modificar o eliminar una fila, es necesario disponer de permisos de nivel de usuario que permitan realizar operaciones de creación, lectura, escritura y eliminación en la tabla Registro de devolución de llamada.

  • En función de los ámbitos definidos en el flujo, es posible que se necesite, como mínimo, ese nivel de lectura en la misma tabla. Más información en Seguridad de entorno.

Establecer los parámetros de su desencadenador

La siguiente información es necesaria para utilizar el desencadenador Cuando se agrega, modifica o elimina una fila.

  • Condición desencadenadora
  • Nombre de la tabla
  • Scope

Power Automate permite usar el new designer o el classic designer para configurar tu flujo en la nube. Los pasos son similares en los dos diseñadores. Obtenga más información (con ejemplos) en Identificar las diferencias entre el nuevo diseñador y el diseñador clásico.

En su flujo, seleccione la tarjeta para el desencadenador Cuando se agrega, modifica o elimina una fila. Se abre un panel a la izquierda con la pestaña Parámetros seleccionada.

Captura de pantalla de la pestaña

Condición desencadenadora

La condición desencadenante, Tipo de cambio, define la combinación de cambios en una fila que ejecute el flujo.

Cuando el flujo se desencadena por la creación, actualización o eliminación de una fila, el valor de triggerOutputs()['body/SdkMessage'] será Create, Update o Delete, respectivamente.

Cuando se producen varias actualizaciones en una sola fila de una tabla, Power Automate evalúa el desencadenador para cada actualización, incluso si los valores actualizados son los mismos que los anteriores. Estas actualizaciones podrían dar lugar a varias ejecuciones de flujo.

Nombre de la tabla

La lista Nombre de la tabla filtra las filas para ver cuáles cambian antes de la activación del flujo. Más información: Tablas en Dataverse.

El desencadenador Cuando se agrega, modifica o elimina una fila no admite la activación de flujos en relaciones de tipo 1:N o N:N.

Scope

La lista Ámbito indica qué filas se deben supervisar para determinar si se debe ejecutar el flujo.

Esto es lo que significa cada ámbito:

Scope Nivel de control de fila
Unidad de negocio Las acciones se llevan a cabo en las filas que pertenecen a alguno de los miembros de su unidad de negocio.
Organización Las acciones las realiza cualquier persona del entorno.
Unidades de negocio principal/secundaria Las acciones se efectúan en las filas que pertenecen a alguna persona de su unidad de negocio o de una unidad de negocio secundaria.
Usuario Las acciones se efectúan en las filas de su propiedad.

Condiciones de filtro

Utilice las condiciones del filtro para establecer las condiciones sobre cuándo desencadenar los flujos.

Columnas de filtro

Utilice el cuadro Seleccionar columnas para definir las columnas específicas de la fila que deben hacer que se ejecute el flujo cuando se incluyan en la solicitud, como una lista separada por comas de nombres de columna únicos. Incluya solo columnas con valores modificados en las solicitudes de actualización. El flujo se ejecuta cuando los valores incluidos son los mismos que los valores existentes.

Esta propiedad solo se aplica a la condición Actualizar. Crear y Eliminar se aplica a todas las columnas de una fila.

Esta propiedad no se admite en tablas virtuales.

Importante

Las columnas de búsqueda (columnas que almacenan referencias a otras filas de tabla) no se admiten en el filtro Seleccionar columnas . Si especifica una columna de búsqueda, los cambios en esa columna no desencadenan el flujo. Use solo tipos de columna escalares, como texto, número, fecha y hora y columnas de elección.

Expresión de filtro

La expresión de filtro proporciona una forma de definir una expresión de filtro de estilo OData para ayudarlo a definir las condiciones de desencadenamiento con mayor precisión. El flujo se ejecuta solo cuando la expresión se evalúa como true después de que el cambio se guarde en Dataverse. En los siguientes ejemplos, el flujo se desencadena cuando firstname se actualiza a John.

Ejemplos de Filtrar filas:

firstname eq 'John'

contains(firstname,'John')

Obtenga más información sobre los operadores de filtro estándar y las funciones de consulta.

Opciones avanzadas

Puede establecer propiedades adicionales para definir de manera más precisa cuándo se ejecuta el flujo y el perfil de usuario que usa.

Para acceder a los parámetros avanzados, seleccione Mostrar todo en el campo Parámetros avanzados.

Captura de pantalla de los Parámetros avanzados.

Condición de espera usando retraso hasta

Utilice una marca de tiempo de estilo OData en la propiedad Retrasar hasta para retrasar el activador de flujo hasta una hora UTC específica.

La ventaja principal de usar la propiedad Retrasar hasta de Dataverse en lugar de la acción estándar Retrasar hasta es que la propiedad Retrasar hasta de Dataverse nunca vence, lo que permite poner en espera la ejecución del flujo durante largos periodos de tiempo.

Suplantación de usuario utilizando "Run As"

El propietario del flujo debe tener el privilegio Microsoft Dataverse Actuar en nombre de otro usuario (prvActOnBehalfOfAnotherUser). El rol de seguridad Delegar incluye este privilegio de forma predeterminada. Puede habilitarlo en cualquier rol de seguridad. Obtenga más información en Suplantar a otro usuario.

Al crear flujos con el desencadenador Cuando se añade, modifica o elimina una fila, puedes configurar cada acción de Microsoft Dataverse en el flujo para que se ejecute utilizando el contexto de un usuario, distinto del propietario del flujo.

Para suplantar a un usuario, siga estos pasos. Para cada acción de Dataverse que desee ejecutar como un usuario diferente, seleccione una opción en el menú desplegable Ejecutar como.

Para los pasos en los que no está seleccionado, se asume el usuario predeterminado. Esto llama a las API subyacentes en función del usuario seleccionado, no del propietario del flujo. Si no se especifica nada, el valor predeterminado es el propietario del flujo que creó el flujo, esencialmente el autor.

Estas son las otras opciones:

  • Propietario del flujo: el usuario que creó el flujo.

  • Propietario de fila: el usuario que posee la fila Microsoft Dataverse que cambia y desencadena el flujo. Si un equipo es propietario de una fila, esta opción se ejecuta de forma predeterminada como la propietaria del flujo.

  • Modificar usuario: el usuario que actuó en la fila de Microsoft Dataverse, desencadenando o modificando el flujo.

Además, los flujos instantáneos permiten ejecutar los pasos de cualquier otro connector como Microsoft Teams, Microsoft 365 Outlook o SharePoint en el mismo flujo mediante la conexión del invocador. Para ello, siga estos pasos:

  1. Vaya a la página de información general sobre flujos.

  2. Seleccione Editar en la configuración de Ejecutar solo usuarios.

  3. En el panel Administrar permisos de solo ejecución, vaya a la pestaña Usuario y grupos y luego seleccione Proporcionado por el usuario de solo ejecución, en la lista Conexiones utilizadas.