Power Automate te enseña a Extraer Archivos Adjuntos de un Formulario en 5 Simples Pasos

Power Automate te enseña a Extraer Archivos Adjuntos de un Formulario en 5 Simples Pasos

¿Te has encontrado dedicando más tiempo del necesario a gestionar archivos adjuntos en formularios? Sabemos lo frustrante que puede ser. Nosotros también lo vivíamos día a día, hasta que decidimos automatizar todo el proceso con Power Automate. Aquí te mostramos cómo puedes hacerlo también, en solo 5 simples pasos. 

¿Por qué automatizar este proceso? 

Imagina que trabajas en recursos humanos y cada día recibes formularios con decenas de archivos adjuntos. Tener que revisarlos manualmente consume mucho tiempo, ¿verdad? Con Power Automate, ese proceso tedioso desaparece. Al automatizar tareas repetitivas, no solo optimizas el tiempo, sino que también reduces errores, permitiéndote centrarte en aspectos más tácticos y humanos. 

 

 

 

Tabla de contenidos  

 

Flujo de Extracción de Archivos Adjuntos de un Formulario 

Prerrequisitos para comenzar el flujo de trabajo para la extracción de archivos de un formulario: 

  • Formulario de Solicitud de requerimientos, puede ser: formularia de solicitud de permisos, formulario de solicitud de Vacaciones, formulario de solicitud de horas extras, etc. 

En este flujo, lo que se busca es extraer los elementos adjuntos que se envían en un formulario de Windows Forms. Como se puede ver, la primera parte del flujo tiene 5 acciones. Para la implementación de este flujo, usaremos el flujo que realizamos en nuestro anterior artículo “Solicitud y Aprobación de Permisos.” 

 

Paso #1: Inicialización de Variables 

Recuerda que, como se mencionó anteriormente, vamos a utilizar el flujo de Solicitud y Aprobación de Permisos. Para incorporarlo al nuevo flujo, es necesario usar el desencadenante “When a new response is submitted”. Además, para obtener las respuestas del formulario, debemos añadir el desencadenante “Get response details”

 

Las acciones más relevantes en esta primera parte del flujo son Initialize Variable y Check Attachments

Initialize Variable es una acción que permite declarar una variable global. En este caso, es necesario usar esta acción porque la respuesta del formulario contiene un array de archivos adjuntos. Para poder manipular esa información, es fundamental inicializar esta variable. Además, iniciar esta variable será clave para la construcción del bucle que realizaremos en el Paso 3 

La acción Check Attachments es un compose que almacena los archivos adjuntos. En este caso, el compose se nombró como Check Attachments, ya que revisa si es necesario crear una condición para verificar si el formulario tiene archivos adjuntos o si no se han enviado archivos adjuntos.

Para poder añadir los archivos adjuntos del formulario al compose, es necesario buscar el nombre de la pregunta del formulario que se utiliza para subir los archivos adjuntos. 

Paso #2: Condición para revisar si en el formulario se enviaron archivos adjuntos 

En la siguiente parte del flujo, hay una condición que está utilizando el compose llamado Check Attachments para verificar si el formulario enviado por el usuario contiene archivos adjuntos. En esta condición se revisa si el compose contiene archivos adjuntos. En caso de que el compose no tenga ningún archivo, la condición será falsa. 

En la siguiente imagen podemos ver como debería construirse la condición 

Paso #3: Bucle para insertar todos los archivos adjuntos del formulario en un array 

Este bucle revisa uno por uno los archivos adjuntos que se han enviado en el formulario. Si añadimos alguna acción dentro del bucle, el resultado de esa acción no podrá utilizarse fuera del mismo. Por eso, desde el principio del flujo, creamos una variable que nos permite acceder a la información de los archivos adjuntos en cualquier parte del proceso, de manera sencilla y eficiente. 

El bucle Apply to each se está utilizando para recorrer la lista de archivos adjuntos y poder manipular cada una de sus propiedades de forma individual. En este Apply to each, se utiliza una expresión que convierte la lista de archivos adjuntos del formulario en un objeto JSON. 

La siguiente acción que se utiliza es Get File Metadata, la cual se encarga de obtener los metadatos de los archivos adjuntos para que luego se puedan manipular en el flujo. En este caso, esta acción obtiene las propiedades del archivo, como el nombre, la fecha de modificación, el autor del archivo, etc. 

En este flujo, esta acción se está utilizando únicamente para obtener el ID del archivo.  

Para que esta acción pueda obtener los metadatos del archivo, es necesario colocar el ID del archivo actual que está recorriendo el Apply to each. En este caso, es necesario usar la expresión que se muestra en la siguiente imagen para ingresar el ID en el campo de entrada de la acción. 

Obteniendo como resultado la siguiente imagen: 

La siguiente acción es Get file content, la cual sirve para obtener el contenido del archivo: 
Esta acción requiere el Id del archivo, por lo que en el campo de input de esta acción es necesario insertar el id que se obtiene de la acción Get Metadata file. 

El resultado debe ser el siguiente 

La siguiente acción es Append to array variable, que se utiliza para añadir contenido a algún array variable vacío que se haya inicializado previamente en el flujo.  

En este caso esta acción sirve para añadir la lista de archivos a la variable File que se había inicializado al inicio del flujo.  paso #1

En el campo value de Append to Array variable, se deben añadir los outputs de las acciones Get Metadata File y Get File Content. 

Paso #4: Añadir Compose para almacenar y manipular los archivos del array 

En la siguiente parte del flujo, debe añadirse un Compose llamado Attachments Json, que servirá para manipular la variable File que se declaró al inicio del flujo. En este caso, esta variable debe almacenarse en un Compose

Paso #5: Empezar y esperar una aprobación 

La última acción es Start and Wait for an Approval. Para que los archivos adjuntos se vean en la solicitud de aprobación, necesitamos añadir el resultado de la acción Attachments Json. Esto permitirá que la persona que revise la solicitud pueda ver los archivos que el usuario envió en el formulario. 

En el campo donde dice attachments, simplemente debes hacer clic en el botón Switch to input entire array, ya que los archivos se manejan como un conjunto (array) y de esta forma se adjuntarán todos correctamente. 

Al correr el flujo como indicador de que esta funcionando y esta bien implementado Cuando el formulario tiene archivos adjuntos, el output del compose será un array de archivos, como se muestra en la siguiente imagen. (Paso# 2 ) 

En caso contrario el output estará vacío: 

 

Cuando se corre el flujo, el input del foreach debería mostrar un objeto de tipo JSON cómo se muestra en la siguiente imagen:  (paso #3) 

¿Te imaginas el tiempo que podrías ahorrar y lo sencillo que se volvería tu trabajo diario? ¡Es hora de dejar las tareas repetitivas atrás! Empieza ahora a automatizar con Power Automate y libera tiempo para enfocarte en lo que realmente importa: las personas. 

Compartir este artículo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *