Engage Forms


Engage Forms lets you create a variety of forms using a simple, intuitive drag and drop form builder. With no coding required you can display forms on your website via a simple shortcode. Submissions can be stored and managed in WordPress, or set up to be emailed to one or more accounts.

Out of the box features

  • Intuitive drag and drop form builder
  • Field validation and settings
  • Fight spam with built-in Askimet integration and honeypot spam trap
  • Basic styling and layout options
  • Responsive forms (optimised for mobile, tablet and desktop)
  • Display forms via shortcode
  • Store and export submitted messages
  • Email one or more accounts when a form is submitted
  • Created HTML or plain text autoresponders to users submitting messages
  • Export and import forms
  • MailChimp and Stripe integrations

This is the first stable version of Engage and we hope you enjoy using it. We will be continuing to add new features so please let us know if there is something you would to see in a future release.


  • Intuitive drag and drop form builder
  • Field validation and display settings
  • Flexible form settings
  • Form actions give you complete control of submissions
  • Send plain text or HTML emails to a user inputted email address
  • Send admin emails to notify users of new submissions
  • Easy form mamangement
  • View stored messages with search and filter options
  • Add-ons to extend core functionality
  • An example front end form, nice!


  1. Upload the plugin to /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen.
  2. Activate the plugin through the Plugins screen.
  3. Access Engage via the admin screen to start building your forms.


Installation Instructions
  1. Upload the plugin to /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen.
  2. Activate the plugin through the Plugins screen.
  3. Access Engage via the admin screen to start building your forms.
What browsers do Engage support?

The admin side of Engage has been tested to work on IE9+, Chrome, Firefox, Opera and Safari.
The front end side of Engage (what your users will see) has been tested to work on IE8+, Chrome, Firefox, Opera and Safari.

How can I style a form?

Engage comes with 2 built in styles out of the box. A light and dark theme. If neither of these settings work for you, there are two options.

  • Expand on the Engage CSS and tweak the style to suite your needs.
  • Disable the Engage CSS and start from scratch.
How many fields are possible?

There are no limits to the number of fields you are able to add to a single form.

Why is there no CAPTCHA field?

Engage integrates with Akismet for spam protection. All you need to do is activate Akismet and spam will be caught.

What happens to spam submission?

If you are storing messages within Engage, any messages will be marked as spam and can be viewed by including spam messages on the messages page.

Can a single form be placed on multiple pages?

Yes! Forms are added to pages by the use of shortcodes. Each form has thier own shortcode which is shown on the forms list page.

Can forms be added by any other means other than shortcodes?

A widget and ACF field are planned, but currently the only other way is to use the WordPress function do_shortcode().

Can I add custom form fields?

Custom fields cannot be added without developing a plugin specifically for the job. Development guides will be introduced at a later date.

Is there a widget to add a form?

Currently there is no widget for Engage.

Where can I get support?

Please use the support forums.


Read all 1 review

Contributors & Developers

“Engage Forms” is open source software. The following people have contributed to this plugin.


Translate “Engage Forms” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Updated email action To field to support comma separated email addresses
  • Added message ID query var to page redirection


  • Fixed issue where max-width style was present without a max-width set
  • Fixed issue where help text spans were present when empty


  • Fixed issue not replacing {_FORM_REF} on emails.


  • Updated Mailchimp API to version 3
  • Fixed field label and email tag are cleared when duplicating fields


  • Fixed backwards compatibility issue with email tags when updating from <= 1.2 to 1.4
  • Fixed issue where Akismet linked fields were not showing as saved
  • Refactored form import code removing the use of wp_handle_upload
  • Updated front end submit button HTML to allow for greater CSS customisation


  • Added new tools page.
  • Added form export feature.
  • Added debugging export option.
  • Added form import feature.
  • Added Javascript and CSS versioning.
  • Added CSS grid to form columns.
  • Added field size and alignment to Stripe Payment field.
  • Updated Stripe item styling.
  • Added option to set global email from name and per email from name.
  • Email tags rebuilt from the ground up.
  • Added field to edit email reference tag on field settings.


  • Fixed issue causing https only admin to redirect to http and rejecting the submission.


  • Added options page for exporting messages.
  • Added date range to message export options page.
  • Added submission date to exported message CSV.


  • Backwards compatibility fix for multi select fields.
  • Message export checkbox fields fix.


  • PHP 5.5 and below compatibility method return fix.


  • Fields now align with their labels.
  • Messages are always stored in the database.
  • Honeypot spam trap added to all forms.
  • Added option to use post types as dropdown, checkbox and radio buttons options.
  • Added required fields option for radio buttons and dropdown.
  • Added required range option for checkboxes.
  • Added message export on a per form basis.
  • Global email from address added.
  • Change the from address on customer emails using the global if none is set.
  • Stripe checks validity of API keys.
  • Stripe fields now available for emails.
  • Field ids are now static for consistancy.


  • Added file upload field and options.
  • Admin form builder UI revised.
  • Fixed bug where options on duplicated (select, checkbox and radio button) fields were not deletable.
  • Option added to disable Akismet on a per form basis.
  • Fixed issue with success message appearing on all instances if the same form is on a page multiple times.
  • Fixed bulk actions on the form list footer.
  • Fixed bug causing some fields not being escaped on emails.
  • Fixed customer emails not able to be set as HTML emails.
  • Fixed issue causing unique reference not being set if either prefix or start index are not set.
  • Fixed multiple Stripe forms on a single page validating all Stripe fields.
  • Removed new lines being replaced with
    on HTML emails.
  • Fixed issue causing Akismet not preventing emails for spam submissions.
  • Added nonce fields and checks.
  • Stripe items and reference numbers added to Stripe description on payment submission.


  • Fixed error that prevented filtering of stored messages by form name
  • Added check on mailchimp to prevent error when no engage fields are assigned to MailChimp fields
  • Fixed bug where fields weren’t using correct sanitisation


  • Fixed CSS issue preventing forms aligning centrally


  • Fixed issue causing fields with no settings to be removed when saved


  • Front end enqueue scripts set to footer


  • Fixed missing files error


  • Set storing messages as default
  • Styled stripe field settings
  • Changed any instances of mailchimp to MailChimp
  • Removed the ID from the URL when being redirected to another page or custom URL
  • Removed jQuery UI from the front end
  • Removed the ordering of emails as it was deemed unnecessary
  • Removed from address on the customer email. Will always be from noreply@site-url
  • Removed the $_FORM_REF label from the email actions when the form reference is not being used
  • Fixed deleting forms via the text delete link in the forms list
  • Fixed an error causing the undo field not to function when deleteing a restored field
  • Fixed inconsistancies on HTML formatting
  • Fixed broken status setting on message view
  • Fixed undefined variable errors
  • Fixed error causing the customer email address validation error to be triggered
  • Added additional CSS rules
  • Added an error box on email actions when the email content is blank
  • Added email prefil button to email actions
  • Added ability to set dynamic email subjects
  • Added stripslashes to multiple outputs
  • Added conditions to the field settings for stripe fields. Shows errors depending on which API keys have been set
  • Added better validation on the form builder
  • Added ability to add dropdown/radio/checkbox options with enter/return
  • Added not spam link to spam flagged messages
  • Added delete confirmation when deleting messages
  • Added success/fail message on message view form
  • Added in hidden fields with the content for page id, page name, user id, user name and custom content
  • Added conditions to hide duplicate buttons on necessary fields
  • Added currency (USD & GBP) options to stripe
  • Auto replace labels within the email templates when a label is changed
  • Added .engage-form class to all engage css classes to allow multiple forms on a page with mixed form css settings.


  • Removed body CSS style


  • Fixed static function errors on PHP 5.4+
  • Fixed delete text not deleting forms on form list
  • Admin UI tweaks
  • Error message added to warn that blank emails won’t be sent
  • WordPress 4.4 compatibility tweaks
  • Other misc missing isset check fixes


  • Release build.