Deployment Toolkit for Contact Form 7

Description

Deployment Toolkit for Contact Form 7 lets you export, import, and migrate Contact Form 7 forms using structured JSON packages or ZIP archives. It preserves form templates, mail settings, messages, and additional settings while helping streamline deployments between development, staging, and production sites.

Version 1.1 adds a Deployment Toolkit dashboard and a Form Entries experience so you can store, browse, search, print, and manage Contact Form 7 submissions from the WordPress admin.

This plugin is designed for developers, agencies, and site administrators who regularly move Contact Form 7 forms between local, staging, and live environments.

This plugin requires Contact Form 7 to be installed and activated.

📦 Import / Export

  • Export individual Contact Form 7 forms as structured JSON files.
  • Bulk export multiple forms into a ZIP archive.
  • Import individual JSON exports.
  • Import ZIP archives containing one or more Contact Form 7 form exports.
  • Automatically detects existing forms and updates them when appropriate.
  • Skips importing identical forms.
  • Displays a detailed ZIP import summary showing:
    • Imported forms
    • Updated forms
    • Skipped (identical) forms
    • Failed imports
  • Preserves:
    • Form template
    • Mail settings
    • Mail (2) settings
    • Messages
    • Additional settings
  • Uses deterministic JSON formatting for reliable deployments.

🏠 Dashboard

  • Deployment Toolkit dashboard with sidebar navigation for Dashboard, Import/Export, and Entries.
  • Dashboard overview with form and entry stats, quick actions, and helpful resources.
  • Combined Deployment Toolkit metabox on the Contact Form 7 form editor for Export and Entries.

📑 Form Entries

  • Store Contact Form 7 submissions in a custom database table.
  • Browse form entries in a standard WordPress list table.
  • Filter entries by All, Unread, Starred, Spam, and Trash.
  • Search entries, mark as read/unread, star, trash, or permanently delete.
  • View individual entry details with submitted field values and metadata.
  • Keep files uploaded through a form and open them from the entry by file name.
  • Print a clean entry PDF with form data only and a branded footer.
  • Entries column and row action on the Contact Form 7 forms list.

Deployment Toolkit for Contact Form 7 is an independent plugin and is not affiliated with or endorsed by the developers of Contact Form 7.

Screenshots

Installation

  1. Install and activate Contact Form 7.
  2. Upload the Deployment Toolkit for Contact Form 7 plugin to the /wp-content/plugins/ directory or install it through the WordPress Plugins screen.
  3. Activate the plugin.
  4. Navigate to Contact > Deployment Toolkit.
  5. Use the dashboard sidebar to open Import/Export or Entries.

FAQ

Does this plugin require Contact Form 7?

Yes. Contact Form 7 must be installed and activated before using this plugin.

What information is exported?

Each export includes:

  • Form template
  • Mail settings
  • Mail (2) settings
  • Messages
  • Additional settings
  • Export metadata

Can I export multiple forms?

Yes.

Use the Export All Forms option to generate a ZIP archive containing individual JSON exports for every Contact Form 7 form.

Can I import ZIP files?

Yes.

ZIP archives containing one or more valid Contact Form 7 JSON exports are supported.

The importer automatically processes every valid JSON file found inside the archive and displays a summary when the import is complete.

How are existing forms matched?

Forms are matched using their title.

If a form with the same title already exists:

  • Identical forms are skipped.
  • Different forms are updated.

If no matching title exists, a new form is created.

What happens if a ZIP contains invalid files?

Only valid Contact Form 7 JSON export files are processed.

Files that cannot be imported are reported in the ZIP import summary.

Will this plugin modify my existing forms automatically?

Only when an imported form matches an existing form by title and the imported content differs.

Otherwise, identical forms are skipped or new forms are created.

Where are form entries stored?

Form submissions are stored in a custom database table created by this plugin. You can browse them under Contact > Deployment Toolkit > Entries.

Which submissions are saved as entries?

By default, submissions with a status of mail sent, mail failed, or spam are stored. Demo-mode forms and submissions marked do-not-store are skipped.

Can I print an entry?

Yes. Open an entry and use Print Entry to generate a clean printable copy of the submitted form data.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Deployment Toolkit for Contact Form 7” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.0

  • Added Deployment Toolkit dashboard with Dashboard, Import/Export, and Entries navigation.
  • Added dashboard overview cards for forms, entries, quick actions, and resources.
  • Store Contact Form 7 submissions in a custom database table.
  • Added Form Entries list view with a standard WordPress list table.
  • Added status filters, search, bulk actions, trash, spam, star, and entry detail views.
  • Added storage for files uploaded through a form, listed by file name on the entry.
  • Added printable entry output with form data only and a branded footer.
  • Added combined Deployment Toolkit metabox on the Contact Form 7 form editor.
  • Added Entries column and row action on the Contact Form 7 forms list.

1.0.0

  • Initial release.
  • Export individual Contact Form 7 forms as JSON.
  • Bulk export all forms to a ZIP archive.
  • Import Contact Form 7 forms from JSON files.
  • Import Contact Form 7 forms from ZIP archives.
  • Automatic detection of existing forms.
  • Skip identical forms during import.
  • Update existing forms when changes are detected.
  • ZIP import summary with imported, updated, skipped, and failed counts.
  • Preserves form templates, mail settings, messages, and additional settings.