Power Automate: Subir archivo desde Microsoft Forms

Hoy vamos a aprender a crear un flujo de Power Automate para subir un archivo a una carpeta específica usando como modelo una respuesta de archivo realizada en Microsoft Forms.

El botón en Forms para subir archivos.

Cuando creamos un ‘Upload file question’ hay una nueva carpeta que es añadida en nuestro OneDrive, llamada Apps. Si estamos usando una forma de grupo en SharePoint, entonces la carpeta se encontrará en ese sitio.

Tengo esta pregunta en mi forma:

Power Automate subir archivo

La ubicación en OneDrive es /Apps/Microsoft Forms/FormName/Question.

Flujo de subida en Power Automate.

Aquí tenemos la vista alta del flujo de Power Automate que estaremos creando:

Primero crearemos un nuevo flujo de nube automatizado en blanco.

Seleccionaremos «Cuando una nueva respuesta sea presentada» y daremos click en Crear.

Power Automate subir archivo inicio

Ahora daremos click en «Nuevo Paso» y buscaremos «Get response details».

Crearemos un nuevo paso y buscaremos Parse JSON. Para el esquema copiaremos esta información y la pegaremos en la ubicación del esquema.

{ "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "link": { "type": "string" }, "id": { "type": "string" }, "type": {}, "size": { "type": "integer" }, "referenceId": { "type": "string" }, "driveId": { "type": "string" }, "status": { "type": "integer" }, "uploadSessionUrl": {} }, "required": [ "name", "link", "id", "type", "size", "referenceId", "driveId", "status", "uploadSessionUrl" ] } }
Power Automate subir archivo 4

Crearemos otro nuevo paso y buscaremos «Get file content using path». Vamos a usar el siguiente código de expresión al final.

first(body(‘Parse_JSON’))?[‘name’]
Power Automate subir archivo 2

Una vez más crearemos un nuevo paso y seleccionaremos «Create file». El nombre del archivo será el que queramos, y podremos usar contenido dinámico para manipular esto de diferentes maneras.

Para el campo de contenido de campo seleccionaremos «File Content» bajo «Get file content using path».

El siguiente paso es opcional. Como yo no quiero el archivo viejo en mi OneDrive he añadido un paso para borrar el archivo. Para ello introduce el siguiente código (recuerda asegurarte de incluir los puntos «.» entre las expresiones).

Expresión para el paso 1:

first(body(‘Parse_JSON’))?[‘driveId’]

Expresión para el paso 3:

first(body(‘Parse_JSON’))?[‘id’]

La expresión completa debe verse así:

first(body(‘Parse_JSON’))?[‘driveId’].first(body(‘Parse_JSON’))?[‘id’]

Recuerda guardar tu trabajo a la hora de intentarlo.

Power Automate subir archivo 3

Si bien el archivo ya se encontraba en una carpeta específica, tener la habilidad con Power Automate de subir el archivo a otra locación te da la facilidad de manipularlo dentro de tu flujo de trabajo de forma más sencílla.

Cualquier duda nos leemos abajo.

Power Automate: Subir archivo desde Microsoft Forms
Scroll hacia arriba