How to Create a WordPress Upload Form to Amazon S3

Editorial Note: We may earn a commission when you visit links on our website.

Do you want to send a user submitted files to your Amazon S3 account from WordPress? With WPForms, you can allow users to submit files through your WordPress forms, and automatically send it to your Amazon S3 account. Let’s take a look at the how to create a WordPress upload form to Amazon S3.

Before we begin, keep in mind that this tutorial helps you to store a copy of your files in S3. It doesn’t move or offload your files to S3. So, you can still find your original file on your WordPress site.

How to Create a WordPress Upload Form to Amazon S3

File these step-by-step instructions to easy add a WordPress upload form that sends files to Amazon S3 automatically.

Install WPForms and the Zapier Addon

The first thing you need to do is to install and activate the WPForms plugin. Here’s a step by step guide on how to install a WordPress plugin.

After the installation, you’ll need to create a form. You can see our tutorial on creating a file upload form in WordPress, or watch this video for instructions:

Depending on your needs, you may edit other form fields with our drag and drop builder. In this example, we’ll be naming our form as Amazon S3.

In order to copy the files to Amazon S3 that your users submit through your form, you’ll need to install and activate the Zapier addon on your site.

The Zapier addon lets you connect your WordPress forms to over 7,000+ web apps, including Amazon S3.

For more help with this step, you can check out our tutorial on how to install and use the Zapier addon.

Now let’s take a look at how to connect WordPress forms to your Amazon S3 account.

Log into your Zapier account and click the Make a Zap button in the top navigation.

Then, follow Zapier’s step by step guide to create a Zap. To see screenshots of every step, you can refer to our tutorial on using Zapier with WPForms.

Make sure to choose the Amazon S3 form you just created, in the Edit Options step. You must have at least one test entry on your form before fetching existing entries.

WordPress s3 upload form

You should then see a successful confirmation message.

Connecting Your WordPress Forms to Amazon S3

Now that you’ve connected Zapier to the WPForms plugin, it’s the time to connect WPForms to Amazon S3.

The first step is to choose Amazon S3 as the action app. Use the search bar to find Amazon S3 app.

choose amazon s3 as action app

Then, you’ll be asked to select Amazon S3 action. As we’re looking to upload a file to S3, let’s choose Upload File and click Continue.

select amazon s3 action

Now you need to connect your Amazon S3 account to Zapier. To do this, you’ll need to authorize Zapier to access your Amazon S3 data.

allow zapier to access amazon s3

To get your access keys, log in to your Amazon S3 account, click My Security Credentials under your profile name.

click security credentials

In the Security Credentials page, click Create New Access Key.

click create new access key

Find your Access Key ID and Secret Access Key in the popup that appears. Copy them into your Zapier account and click Yes, Continue.

access key amazon s3

After authorizing the account, click Save + Continue.

In the next step, you’ll be asked to set up Amazon S3 upload file.

In the Key field, you may select a field that lets you identify the user who submits the form. This can be name or email address. In the File field in Zapier, choose the file upload field you created in your form.

edit template step

Then, click Continue.

Now you can test your Amazon S3 integration. If everything works fine, you’ll see a success message.

wordpress s3 upload success

You’re all set!

You can now automatically copy the files your users submitted to your Amazon S3 account.

WPForms is the best plugin for uploading files in WordPress. If you liked this article, you might also enjoy our article on creating multiple file uploads form.

What are you waiting for? Get started with the most powerful WordPress forms plugin today.

If you like this article, then please follow us on Facebook and Twitter for more free WordPress tutorials.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. hi
    does s3 upload form upload files directly to s3 bucket or to server then s3 bucket,
    uploading directly will save my server resources

    1. Hi Mohd,

      Great question. In order for our file upload functionality to work, files must also be uploaded to your server. This is because all links to the uploaded file (in your entry page, notification email, etc) will link to the file that’s uploaded to your server, rather than any third-party connections set up through Zapier.

      If you have any other questions, please get in touch and our team will be happy to assist! 🙂

      1. Could we use Zapier to derive the links from the S3 bucket and send that in our email notifications to the customer (not using WPForms notifications but rather some other mail option integrated to Zapier)?

      2. Hey Mark- Great question!

        If the secondary application that is integrated with Zapier has the ability to send notifications based on form submission then this can be possible.

        However, It’d be best to reach out to Zapier Support for clarification on this. In case it helps, you can contact them here.

        I hope this helps! Thanks and have a good one:)

  2. Hello,

    Useful article, thank you, I´ll try.
    If I want to set different forms for different S3 buckets , how can I do it?
    Thank you very much.

    1. Hi Sergio!
      Then you will have to create differently Zaps for different forms. With WPforms and our Zapier addon you can create as many Zaps as you need.
      I hope this helps.
      Have a good one 🙂

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.