WordPress plugin intelligence profile

Defer Forms for Contact Form 7

The missing modern layer for Contact Form 7 — visual builder, multi-step, submissions DB, conditional logic, and more. Free.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version2.7.1
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.5 · PHP 8.0
Directory statusactive
Last directory update15 Sept 20261mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Defer Forms for Contact Form 7 version 2.7.1 as active, updated 1mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Defer Forms for Contact Form 7 turns Contact Form 7 into a modern visual form builder while keeping CF7’s reliability untouched. Drag-and-drop fields, build multi-step flows, capture submissions in a clean dashboard, and apply conditional logic — all without breaking any existing form.

Highlights

  • Visual drag-and-drop builder (React + dnd-kit)
  • Unlimited multi-step forms with progress bar
  • Submissions database with search, filter, and CSV export
  • Mark an entry replied or done, and answer it from the entry itself
  • Attachment storage — Contact Form 7 discards uploads; these are kept
  • Visual conditional logic (AND/OR rule builder)
  • Grid layout (1–4 columns, responsive)
  • Redirect after submit, to a page or a URL
  • Extra fields: star rating, country, password, dynamic text, product, quiz, character count
  • Import / export — move forms between sites as one JSON file
  • Revisions — the last ten versions of a form, with one-click rollback
  • Styling controls (colors, typography, spacing), plus a CSS class of your own per form
  • Spam protection (honeypot, time-trap, duplicate check)
  • Privacy: submissions join WordPress’s own export and erase tools
  • 20+ ready-made templates
  • Telegram, Slack and Discord: every submission posted into a chat or channel as it arrives
  • A webhook: every submission posted as JSON to an address of your own, which is how Zapier, Make and n8n reach the rest of what you use

The Features screen lists everything this plugin does, and nothing it does not.

Documentation

io/defer-forms-for-contact-form-7/ and is linked from every screen’s Help tab.

For developers

Submissions can be filtered before they are stored and hooked once they are — enough to keep a form out of the table, redact a field, or forward every entry somewhere of your own. Every hook is listed under “Hooks” below.

Defer Forms extends Contact Form 7 — never replaces it, never breaks existing forms.

Hooks

Contact Form 7’s own hooks are untouched — wpcf7_before_send_mail, wpcf7_mail_components and the rest fire exactly as they always did. These are the ones this plugin adds.

A submission passes through the first four in this order: whether to store it, what to store, where to announce it, and what it became.

apply_filters( 'deferforms_store_submission', $store, $contact_form, $status )

Return false to keep an entry out of the table entirely. The mail is still sent; nothing is written. $status is either ‘submitted’ or ‘spam’.

apply_filters( 'deferforms_submission_data', $data, $contact_form, $status )

The fields on their way into the table. Redact a value, drop a field, or add one of your own. Keys beginning with an underscore are the plugin’s own bookkeeping and are never shown as answers.

do_action( 'deferforms_notify', $entry )

One submission, described once, for sending anywhere the Notifications screen does not already reach. $entry carries entry_id, form_id, title, when, at (ISO 8601), fields and link. Submitted entries only — spam never fires this.

do_action( 'deferforms_submission_stored', $id, $data, $contact_form, $status )

The entry exists and is complete: uploads are kept and $id can be linked to. Spam fires too, with $status saying so. This is where somebody else’s code runs, so it is last.

apply_filters( 'deferforms_capability', 'manage_options' )

The capability the admin screens and the REST routes require.

apply_filters( 'deferforms_attachment_limit', $bytes )

The ceiling on kept uploads across the site. Past it, submissions and their mail arrive as normal but files are no longer copied to the server.

do_action( 'deferforms_submissions_deleted', $rows )

Entries that have just been removed, with their data, so anything mirroring them elsewhere can keep up.

External services

This plugin can forward a submission to a chat service, or to an address of your own. All four destinations are off by default: nothing is sent until you enter your own credentials under Submissions → Notifications and switch that destination on.

When a destination is switched on, each submission is posted to it at the moment the form is submitted. The message contains the form’s title, the time of the submission, every field name and the value the visitor entered, and a link back to the entry in your WordPress admin (which includes your site’s address). Submissions caught as spam are never sent.

The “Send a test message” button on the Notifications screen posts one message containing no visitor data.

org, using the bot token and chat ID you supply.

org/privacy

com.

com/trust/privacy/privacy-policy

com.

com/privacy

Webhook — this one has no fixed service behind it. The submission is posted, as JSON, to whatever address you enter in the Webhook tab, and to no other. Nothing is sent anywhere until you enter one and switch it on, and the plugin neither chooses that address nor contacts it for any other reason.

Whose service it belongs to, and what their terms and privacy policy are, is therefore yours to decide before you paste it in — commonly it is an automation service such as Zapier, Make or n8n, or a server of your own.

Source code

The admin screens are React, compiled with Vite into build/. js ). Run npm install && npm run build in the plugin folder to rebuild build/ from it.

The third-party library bundled under assets/vendor/flatpickr/ is flatpickr, MIT licensed.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • conditional logic
  • contact form 7
  • form builder
  • multi step form
  • multi step
  • submissions
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.5 · PHP 8.0
Update activity15 Sept 20261mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.