How to Access File Uploads in WPForms with Power Automate
Hi team,
Our plan: Users fill a WPforms form incl. file uploads. Then when submitted trough reenhanced a power automate job runs and uses the fields and ALSO the files get downloaded to SharePoint. You have documentation for non-file stuff. Do you have any hints or documentation for file stuff? Do we need a for each loop?
Thank you for description.
– A Support Ticket from a WP Forms connector user
We received the support ticket above and thought the best way to solve this is to build a flow! Here’s what it looks like:
Impatient? Just want the answer? Download the solution file for this flow here:
Handling file upload fields in WP Forms can be done with Power Automate using the HTTP connector, but there are some things to note! Let’s walk through this flow together step by step.
Trigger: When a new WPForms entry is submitted

This trigger uses our WPForms Power Automate connector to bring form submissions from WPForms into Power Automate. Once you import the solution file above and get it connected you will be able to use your form in Power Automate.
Action: Initialize Variable – Newline
When WPForms receives multiple files in a single file upload field, it will simply join all of the filenames together using a “\n” (newline) character:

In the next step, we will be splitting the value we receive from WPForms into multiple entries in an array, but the flow editor doesn’t give us an easy way to split up strings by newline. By using a variable with the value of the newline character we can explain our work clearly enough that we can remember how this works in the future.
This step is here just so we can make sense of how this works later on.
Action: Initialize variable – Filenames

In this step, we create a new variable called Filenames that is an Array. The array will allow us to access each filename contained the form field. The value is split(triggerOutputs()?['body/fields/1/value'], variables('NEWLINE')) where the triggerOutputs() section is defined by the Dynamic Value of the form field.
In other words, to implement this, you’ll do the following:
- Click into the Value area
- Click
to bring up the expression editor. - Enter
split(into the text box. - Click on
and then select the file upload field. - Enter a comma
, - Click on
and select the NEWLINE variable - Finish the expression by closing the parentheses
)and clicking on Save
If you’re able to follow the steps above you’ll end up with an expression that looks like the value described above, but uses your file upload field instead.
Action: Apply to Each

In order to access the filenames inside our array, we need an Apply to each step. Inside of the scope of this action we can use Current Item to refer to the each filename.
Action: HTTP

We use the HTTP connector to fetch the content of each uploaded file. The output of this step will give you a Dynamic Value called Body that you can use to create the file in SharePoint, Dataverse, etc.
Further Reading
The above steps will provide you with the building blocks of a flow that can handle one or more file uploads from WPForms. We have written about this topic for Gravity Forms as well, with the Trigger being the only difference. You can read more about that here:
How to move file uploads from WordPress to SharePoint with Power Automate
You can download a solution file containing the flow above here:
Once you download the solution file above, you can import it into a Power Automate environment of your choosing.