Compartir a través de


Optimizar desencadenadores de Power Automate

Un desencadenador es un evento que inicia un flujo de nube en Power Automate. Por ejemplo, para recibir una notificación de Microsoft Teams cada vez que reciba un correo electrónico, puede configurar un desencadenador que inicie un flujo cuando un correo electrónico llegue a su bandeja de entrada. Los desencadenadores son los puntos de partida de un flujo y pueden basarse en varios eventos.

Tipos de desencadenadores

Existen dos tipos principales de desencadenadores en Power Automate. Una vez que crea un flujo, el desencadenador se registra para sondear el servicio al que se conecta o para escuchar eventos del servicio. Después, el desencadenador activa el flujo cuando se produce el evento especificado.

  • Desencadenador de sondeo: comprueba (o sondea) periódicamente un servicio para ver si se ha producido un evento específico.

    • Ejemplo: Un desencadenador SQL puede sondear un servidor SQL a intervalos regulares para comprobar si hay registros nuevos o actualizados o algún otro cambio que cumpla las condiciones especificadas.

    • Comportamiento de flujo desactivado: Cuando el flujo se activa de nuevo, se procesan todos los eventos sin procesar o pendientes. Si no desea procesar elementos pendientes cuando vuelva a activarlo, elimine y vuelva a crear su flujo..

  • Desencadenador de webhook: escucha eventos específicos en tiempo real. Cuando se produce el evento, el servicio envía una notificación a Power Automate para iniciar el flujo.

    • Ejemplo: un disparador de Outlook escucha los correos electrónicos entrantes y dispara el flujo en cuanto llega un nuevo correo electrónico. En este caso, el disparador escucha el servicio de Outlook y dispara el flujo inmediatamente después de recibir un correo electrónico.

    • Comportamiento de flujo desactivado: Cuando el flujo se activa de nuevo, solo procesa nuevos eventos que se generan después de activar el flujo.

Desencadenadores de sondeo

Una vez que se registra un desencadenador de sondeo, comprueba periódicamente el servicio cada X minutos para recuperar detalles de cualquier registro/evento nuevo o modificado en función de los filtros aplicados al disparador. La frecuencia de estas comprobaciones depende de la licencia del usuario y de la marca de tiempo del último sondeo. Cada X minutos, vuelve a sondear el servicio en función de esta marca de tiempo.

Tenga en cuenta este contexto:

  • Se establece un desencadenador para que se active cuando se crea un nuevo registro SQL y sondea el servicio SQL cada minuto (o en el intervalo especificado). El flujo está diseñado para recuperar información sobre los registros creados desde el último sondeo.
  • Si se encuentran nuevos registros, se desencadena el flujo. Si no se encuentran nuevos registros, se omite la ejecución.
  • Cuando se detiene un flujo (por ejemplo, el 13 de septiembre a las 12:30 p. m.), el desencadenador anota esta marca de tiempo.
  • Cuando se reinicia el flujo (por ejemplo, el 14 de septiembre a la 1:30 p. m. PT), el desencadenador sondea el servicio para todos los eventos creados entre la última hora de sondeo (13 de septiembre a las 12:30 p. m.) y la hora actual (14 de septiembre a la 1:30 p. m.).

Este comportamiento garantiza que no se pierda ningún dato, incluso si el flujo se detiene temporalmente debido a errores o limitaciones.

No olvide que:

  • Al desactivar el flujo, no se anula el registro del desencadenador. Solo pausa el sondeo. Este diseño garantiza que no se pierdan datos cuando se reinicie el flujo.
  • Para restablecer completamente el comportamiento de sondeo, debe crear una nueva copia del flujo. Esto vuelve a registrar el desencadenador cuando el flujo se activa por primera vez, y debe eliminar el flujo existente para evitar conflictos.

Desencadenadores de webhook

Los desencadenadores de webhook funcionan de forma diferente a los desencadenadores de sondeo. En lugar de comprobar periódicamente un servicio, los desencadenadores de webhook se registran en el servicio para recibir notificaciones cuando se producen eventos específicos. Así es como funcionan los desencadenadores de webhook:

  • Registro: cuando se crea un desencadenador de webhook, se registra en el servicio para indicar que desea recibir notificaciones de determinados eventos.
  • Notificaciones de eventos: Webhooks son devoluciones de llamada HTTP simples que se utilizan para proporcionar notificaciones de eventos. Cuando se produce el evento especificado, el servicio envía una notificación de evento al desencadenador de webhook con todos los detalles de ese evento.
  • Activación de flujo: Power Automate permite utilizar webhooks como disparadores. Cuando el desencadenador de webhook recibe la notificación del evento, activa el flujo, que luego realiza las acciones especificadas.

Más enformación: Mi desencadenador se activa por eventos antiguos

Establecer condiciones de desencadenamiento

Muchos usuarios de Power Automate se encuentran con el problema de que sus flujos se ejecutan cada vez que se agrega una nueva fila o se modifica una fila existente en el origen de datos. Sin embargo, a menudo hay escenarios en los que solo desea que el flujo se ejecute cuando se cumpla una condición específica. Para lograr este comportamiento, debe configurar los desencadenadores correctamente. Al configurar las condiciones adecuadas para los desencadenadores, se asegura de que el flujo se ejecute solo cuando sea necesario, lo que mejora la eficiencia y reduce las ejecuciones innecesarias.

Piense en un escenario en el que cualquier usuario que envíe un gasto superior a $100 necesita obtener la aprobación del administrador. Si no se especifican las condiciones del desencadenador, el flujo se ejecuta para cada gasto que se envía y el autor del flujo tiene que especificar condiciones adicionales para filtrar los gastos mayores que $100. Al implementar condiciones de desencadenador, se asegura de que el flujo solo se desencadene cuando el gasto sea superior a $100.

En el ejemplo mostrado, un flujo se activa cuando se añade, modifica o elimina una fila. Una condición comprueba si la cantidad es superior a 100 e inicia la aprobación si se cumple la condición. Este flujo se inicia cada vez que se agregan, modifican o eliminan datos de la tabla.

Captura de pantalla de un flujo que usa una condición en lugar de una condición de desencadenador

En este ejemplo, el flujo incluye una condición de desencadenador en la acción Cuando se agrega, modifica o elimina una fila que comprueba si la cantidad es superior a 100 y , a continuación , inicia la aprobación. Este flujo solo se inicia cuando el valor del campo de importe es mayor que 100.

Captura de pantalla de un flujo que usa una condición de desencadenador

Propina

La propiedad de filtro OData en Power Automate es una característica potente que le permite definir las condiciones precisas para determinar cuándo se debe desencadenar un flujo en función de los cambios en los datos de Dataverse. Puede especificar una condición y los nombres de las columnas en las que se puede desencadenar el flujo. Este enfoque ayuda a optimizar el rendimiento del flujo y a garantizar que los flujos se ejecuten solo cuando sea necesario.

Configurar el control de simultaneidad

En algunos escenarios, el flujo puede interactuar con orígenes de datos que tienen un rendimiento limitado. En tales casos, configurar el control de simultaneidad del desencadenador puede ayudar a administrar la ejecución del flujo de manera más eficaz.

De forma predeterminada, un desencadenador de flujo de nube ejecuta tantas ejecuciones como sea posible simultáneamente cuando se cumplen sus condiciones. Sin embargo, puede cambiar este comportamiento ajustando la configuración del Control de simultaneidad, que le permite limitar el número de ejecuciones simultáneas de un mínimo de 1 a 100. Cualquier otra ejecución se pone en cola automáticamente.

Para usar el control de simultaneidad:

  • Recursos de rendimiento limitados: si la automatización depende de un recurso local que no admite ejecuciones en paralelo, configurar el control de simultaneidad puede evitar la sobrecarga del recurso.

  • Prevención de condiciones de carrera: la limitación de la simultaneidad garantiza que solo se ejecute una instancia del flujo a la vez y evita las condiciones de carrera en las que podría producirse una lectura desfasada debido a ejecuciones paralelas.

Para configurar el control de simultaneidad:

  1. En el portal de Power Automate, abra el flujo que desea configurar.
  2. Seleccione el desencadenador.
  3. En Configuración, habilite la opción de control de simultaneidad.
  4. Especifique el número máximo de ejecuciones simultáneas que quiere permitir. Puede establecer el número entre 1 y 100.
  5. Guarde los cambios para aplicar la configuración de control de simultaneidad al flujo.

Captura de pantalla de la configuración del desencadenador del control de Simultaneidad.

Consideraciones importantes

  • Acción irreversible: una vez aplicada, la configuración del control de simultaneidad no se puede deshacer. Para quitar el control de simultaneidad, debe crear un nuevo flujo. Por lo tanto, tenga cuidado.
  • Prácticas recomendadas: es mejor dejar el control de simultaneidad en su configuración predeterminada. Si necesita aplicar el control de simultaneidad, plantéese hacerlo en un flujo con el menor número de acciones. Por ejemplo, puede organizar acciones que requieran dicho control en un flujo secundario dedicado, aplicando el control solo al flujo secundario.