> For the complete documentation index, see [llms.txt](https://wpcloudplugins.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wpcloudplugins.gitbook.io/docs/integrations/form-plugins/contact-form-7.md).

# Contact Form 7

### **How to Add an Upload Field**

Adding an Upload Field with our plugin is quick and easy. Follow these steps:

1. **Create or Edit your Form**:\
   Go to **\[Contact] → \[Add New]** to create a new form, or open an existing one.
2. **Open the Configuration Panel**:\
   Click on the **WP Cloud Plugin** button in the editor to access the field's configuration settings.
3. **Select or Create a Module**:
   * Click on the **"Select Module"** button.
   * Use the **Module Builder** to create a new module or select an existing one that fits your needs.
4. **Apply the Module**:\
   Once the module is configured, press **"Choose"** to update and link it to the field.
5. **Insert the Upload Field**:\
   Click on the **"Insert Tag"** button to add the Upload Field to your form.
6. **Save and Done!**\
   Your Upload Field is now ready to use. Users can upload files directly through the form, and they’ll be stored in your configured cloud location.

### Video Instructions

{% embed url="<https://youtu.be/7TU1ne-K9CI>" %}

### **Dynamically Set Upload Location Based on Form Field Values**

You can customize upload folder names based on user input from your form fields. This makes it easy to organize files dynamically for each user.

**Here’s How to Set It Up:**

1. **Add a CSS Class to Your Input Field**:\
   In your form, assign the CSS class `wpcp-use-input-{***}` to the input field, replacing `{***}` with your unique identifier. For example:<br>

   ```
   [text* your-name class:wpcp-use-input-email]  
   ```
2. **Configure the Module**:
   * Go to the **Dynamic Folders** section in the module configuration.
   * Set **Personal Folder Mode** to **Auto**.
   * Use your identifier as a placeholder in the **Name Template** field. For example, if your identifier is `email`, use `%input-email%` to dynamically name the folder.

This setup allows seamless integration and ensures upload folders are uniquely named based on user-provided information.
