En este articulo miramos como poder desencadenar un flujo en Power Automate cuando se crea una carpeta en una biblioteca de SharePoint.


Desencadenar Flujo cuando se crea una carpeta SharePoint | VideoTutorial

Leyenda Video

  • 00:00 – Intro
  • 01:45 – Tipo de Flujo
  • 03:13 – Saber si es una carpeta
  • 05:30 – Test primer caso
  • 06:40 – Intro de Niveles de carpeta
  • 11:30 – Practica
  • 19:30 – Test segundo caso

Expresión 1 Power Automate – Detectar si es una carpeta

Esta expresión la tienes que insertar en la configuración del desencadenador.

@equals(triggerOutputs()?['body/{IsFolder}'],true)

Expresiones 2 Power Automate

A continuación pongo la evolución de las expresiones que llevan a disparar solo el flujo si esta en un determinado nivel, en este caso la raíz de la biblioteca.

  1. Cortar url de biblioteca con ruta generada
split(triggerOutputs()?['body/{Link}'], 'MiBiblioteca')

2. Partir la ruta generada en un array para saber en que nivel se ha generado.

split(split(triggerOutputs()?['body/{Link}'],'MiBiblioteca')[1],'/')

3. Conocer el numero de caracteres niveles mediante un conteo y la expresión length.

length(split(split(triggerOutputs()?['body/{Link}'],'MiBiblioteca')[1],'/'))

4. Si me devuelve un true esta en la rama principal, mediante la expresión equals()

equals(length(split(split(triggerOutputs()?['body/{Link}'],'MiBilioteca')[1],'/')),2)

Esta expresión la tienes que insertar en la configuración del desencadenador.

Nota: si cambiamos el numero 2 por un 3, se lanza cuando se crea una subcarpeta.

Condiciones en el Trigger

Cuéntame tus dudas abajo en los comentarios.

Conclusiones

Juega y testea poco a poco con las expresiones y haz los test en el flujo para entenderlo.

Siempre que tengas la posibilidad de usar las condiciones en el Trigger (Desencadenador), úsalo y evita ejecuciones innecesarias. En el post de limites en Power Automate te explico el motivo.