WP Manifestindependent plugin directory
manifest / forms / flamingo-export-plugin

Flamingo Export

Export Flamingo (Contact Form 7) inbound messages with selective field filtering by channel, default fields, or all fields. Export as CSV or JSON.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/frances109/flamingo-export-plugin/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A WordPress plugin to export Flamingo (Contact Form 7) inbound messages as CSV or JSON, with smart field handling across forms that use different field names.


Requirements

  • WordPress 5.8+
  • Flamingo plugin by Takayuki Miyoshi (the CF7 message storage plugin)
  • PHP 7.4+

Installation

  1. Upload the flamingo-export/ folder to /wp-content/plugins/
  2. Activate via Plugins → Installed Plugins
  3. Navigate to Flamingo → Export Messages in WP Admin

Features

Channel Filter

  • Export from a specific form/channel, or all channels at once

Field Modes

Default Fields (Recommended)

Exports 4 semantic columns regardless of what field names your forms use:

Column Detected field names
Name your-name, full-name, full_name, name, first-name, fname, contact-name
Email your-email, email, e-mail, email-address, contact-email
Phone phone, phone-number, tel, telephone, mobile, cell, number
Company company, company-name, organisation, organization, org, business

Also uses Flamingo's stored _from_name and _from as fallbacks.

All Fields

Exports every field from every form submission. When mixing multiple forms:

  • All unique field keys across all records become columns
  • Records from forms that don't have a particular field get a blank value
  • Best used when filtering to a single channel

Channel Fields (only available when a specific channel is selected)

Fetches all unique field keys used by that channel's submissions and presents them in a multi-select list. You choose exactly which fields become columns in the export — no blanks from other forms, no unwanted internal fields. All fields are pre-selected by default; deselect any you don't need before exporting.

Export Formats

  • CSV — UTF-8 with BOM (Excel/Google Sheets compatible)
  • JSON — Pretty-printed array of objects

Date Range & Limit

  • Optional from/to date filter
  • Optional max records limit (-1 = unlimited)

Extending Field Patterns

Add custom field name patterns via the flamingo_export_field_patterns filter:

add_filter( 'flamingo_export_field_patterns', function( $patterns ) {
    // Map "kontakt" and "ihr-name" to the "name" column
    $patterns['name'][] = '/^kontakt$/i';
    $patterns['name'][] = '/^ihr[-_]name$/i';

    // Map "telefonnummer" to "phone"
    $patterns['phone'][] = '/^telefonnummer$/i';

    return $patterns;
} );

How Flamingo Stores Data

Flamingo saves each CF7 submission as a flamingo_inbound custom post type with:

  • _from_name — sender name (post meta)
  • _from — sender email (post meta)
  • _subject — email subject (post meta)
  • _fields — serialized array of all form field key/value pairs (post meta)
  • Channel taxonomy: flamingo_inbound_channel

This plugin reads all of these to build exports.


File Structure

flamingo-export/
├── flamingo-export.php              # Plugin bootstrap
├── includes/
│   ├── class-flamingo-export-core.php       # DB queries & message parsing
│   ├── class-flamingo-export-fields.php     # Field detection & row building
│   └── class-flamingo-export-formatter.php  # CSV/JSON output & download
├── admin/
│   ├── class-flamingo-export-admin.php      # WP Admin menu & form handler
│   ├── views/
│   │   └── export-page.php                  # Admin page HTML
│   └── assets/
│       ├── admin.css                         # Admin UI styles
│       └── admin.js                          # Admin UI interactions
└── README.md

License

GPL-2.0+