The VideoMail add-on needs to be installed and activated to see the features mentioned in this this documentation.

What is Videomail?

With this add-on recording and sending videos in WordPress finally comes true. No further coding required. Just install + configure a bit (like duration, width or enable audio etc) and that’s all. Wicked.

Get the Plugin

The Ninja Forms – Videomail extension is available at the Ninja Forms marketplace.

Setup Videomail

  1. Download Videomail from your account and install it using “Plugins” -> “Add New” -> “Upload” in your WordPress dashboard
  2. Activate Ninja Forms – Videomail on your “Plugins” page

Adding Videomail to your form

  1. First we recommend you to build a Ninja Form, the usual way, with some form fields. In this example, we will refer to the default contact form Ninja Form comes with.
  2. Open that default contact form:
  3. Click on the Plus icon to add a new form field:
  4. Click on the “Videomail” form field and drag it between the Email and Message inputs:
  5. Now click on the configure icon:
  6. Then you will see lots of configuration options:
  7. We will explain all these options in another section further below. For now, let’s focus only on the most important four: FROM, TO, SUBJECT and BODY.
    Every email needs these so that the video can be sent like an email (hence the name Videomail). Therefore we link the FROM option with the Email input (aka merge tag):
  8. For the TO field, we will pick the admin email merge tag, for the subject we type a custom text and the body will be linked to the message form field like that:
  9. That’s all. Now we want to test the form. Click on the DONE button at top:
  10. Then click on the Preview button:
  11. Now you see a preview of that form. Your browser will ask you to grant permission for the webcam. Click on the “Allow” button:
  12. Once allowed, the plugin initialises the webcam and shows a live feedback in within few seconds and you can start recording. There are also the Pause, Resume, Stop and Record again buttons. Once you have stopped recording, the video gets encoded and a preview comes up:
  13. Once you have submitted that, you can check it out under Ninja Forms > Submissions in the navigation. Move the mouse over one row and click on Edit:
  14. Now you see all its details and can play the video on the right:
  15. To reply on that videomail, you have two options: one is to click on the “View Online” link and reply there. Or the second one is to reply to the email notification the administrator gets. In a future version we will add direct reply functionality.

Common Questions

“How can I send back a confirmation videomail to the user?”

Yeah, under Emails & Actions you can configure a summary to be sent back to the user including a link to the recorded video itself like that:

“How can I include a videomail inside a Ninja Form Email?”

Likewise, under Emails & Actions too, you can notify the administrator with a Video Message in form of an Email. See this example for inspiration:

“Why are the videomails linked to”

That’s where the videos are stored. Not on your local server. This for many reasons. Here a few to mention: encoding happens on server side and is very complex because different video types for different browsers are encoded, videos would eat too much of your server’s disk space and its code is written for node.js, not for WordPress’ language PHP.

“Why do the videos expire after 3 months and how can I keep them longer?”

Money 🙂 A single video can take about 50 MB. Multiply this with a traffic of 1000 to be sent each week for example and you will need half a GB already. Hence the videomail server deletes the expired ones to free space. Over time we aim to expand disk space and to extend the life span.

To keep the videos forever, you could download them locally from the submission page, see picture of step #16.

“I am a programmer, I want to interact directly with the Videomail API”

The pleasure is mine, the source code is open source, available on GitHub here and is also an npm package, see

All Options


Label The title of that videomail form field. Could be “Video message” too. Up to you.
Label Position The position of that label
Required Field Switch to tell whether a video must be recorded before you can submit the form. Or whether it’s optional.
Site Name ID To prevent from abuse, each site using Videomail must have a Site Name ID. ninja-forms-videomail-local is the default ID which works for https://localhost, https://localhost:8080 and https://wp:8890 only.
If you intend to run your site on different URLs, you’ll need to whitelist them here
From The merge tag to fill the email FROM field (= sender). Without it, no videomail can be sent.
To Another merge tag for the email TO field (= recipient). Here too, no videomail can be sent without it.
Subject The merge tag for the email subject line. If none is given, an empty one is used for the email.
Body This is not mandatory but it’s nice to have some text in the videomail.


Limit Recording in Seconds Here you can set a limit the video length in seconds.
Enable Audio (in Beta) Yes, sound can be recorded too with this switch. Although it is rather in beta since bitrate and channels need fine-tuning. Stay tuned for improvements in future versions.


Countdown Time Set the countdown before recording starts. 3 seconds is the default. If you set to zero, then it will record asap on the press of the record button.
Video Width Configure the width in pixels to match with the layout of your site.


Debug Mode Only for programmers, for advanced use only.


Field Key Likewise, for advanced use only where you can  a