Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Forms: 3rd-Party Integration

Send contact form submissions from other plugins to multiple external services e.g. CRM. Configurable, custom field mapping, pre/post processing.


  • added injection hooks for Forms: 3rdparty Inject Results -- use via $form = apply_filters(Forms3rdPartyIntegration::$instance->N('inject'), $form, $values_to_inject);


  • refactored internal methods to make them reusable externally, specifically for 'forms-3rdparty-postagain' plugin

  • added URL filter to allow customizing GET requests with post body arguments, or shortcodes
  • filter added to fplugin_base to allow multiple attachments per github #62
  • fix github #68
  • 'secret' debugging feature for error dump if logging after unable to send email: add a truthy value to post mapping with 3rdparty key _json

  • fix array value without index placeholder bug introduced in github #43
  • final bugfix to #55 (default options mode array)
  • tried to address Xpost issue #7, but not the right place for it

  • debug logging hook
  • fixed #52 - some hosting providers rejected arbitrary sender addresses
  • more options for debug mail failure logging


  • Can now map GF and Ninja Forms by field label as well as id per issue #35 (map by name)

  • quick fix for global section toggle bug


  • conditional submission hooks (see FAQ)
  • removed somewhat useless 'can-hook' setting, since I assume everybody wants success processing. Comment via github or author website contact form if you really need it.

  • Fix for longstanding (?) Firefox admin bug (issue #36) preventing field editing/input selection


  • fix form plugin checking when multiple contact form plugins used at same time


  • integration with Ninja Forms
  • refactored CF7 and GF integrations to take advantage of new FPLUGIN base (to make future integrations easier)
  • defined upgrade path

Due to the new common form extension base, the way forms are identified in the settings has been changed. Deactivating and reactivating the plugin (which happens automatically on upgrade, but not FTP or other direct file changes) should correct your existing settings.

Depending on how many services you have configured, the upgrade path may DESELECT your form selections in each service or otherwise break some configurations. If you are concerned this may affect you, please export the settings so you can reapply your selections.


  • Updated cf7 plugin to match their latest changes.
    • using new way to access properties
    • removed remaining support for all older versions of CF7 (it was just getting complicated)

Trying to add some clarity to the admin pages



  • totally removing hidden field plugin -- seems like even though it wasn't referenced, it may have caused the "invalid header" error during install
  • admin ui - js fixes (configurable section icons via data-icon; entire metabox title now toggles accordion)
  • stripslashes on submission to fix apostrophes in 'failure response' textarea


  • hook ...service_filter_args to allow altering post headers, etc
  • fix: removed more args-by-reference (for PHP 5.4 issues, see support forum requests)
  • tested with WP 3.8, CF7 3.6


  • fix: failure response attaches to 'onscreen message' for Gravity Forms
  • fix: (actually part of the next feature) failure response shows onscreen for Contact Form 7
  • customize the failure response shown onscreen -- new admin setting per service (see description)


  • protecting against unattached forms
  • Github link
  • global post filter Forms3rdPartyIntegration_service_filter_post in addition to service-specific with suffix _0; accepts params $post, $service, $form, $sid
  • admin options hook Forms3rdPartyIntegration_service_settings, ..._metabox
  • fix: gravityforms empty 'notification' field
  • fix: admin ui -- 'hooks' toggle on metabox clone, row clone fieldname
  • fix: service hooks not fired multiple times when both GF and CF7 plugins are active
  • fix: Gravityforms correctly updates $form array


  • Fixed "plugin missing valid header" caused by some PHP versions rejecting passing variable by reference (?) as reported on Forum support topics "Error on install" and "The plugin does not have a valid header", among others
  • Rewrote admin javascript to address style bug as reported on forum post "fields on mapping maintenance screen misaligned" and via direct contact. Really needed to be cleaned up anyway, I've learned more jQuery since then ;)
    • Dealt with weird issue where clicking a label also triggers its checkbox click
  • Other general ui fixes
  • More "verbose" endpoint-test script (headers, metadata as well as get/post)


  • Bugfixes
  • cleaned up admin JS using delegate binding
  • added "empty" checking for 3rdparty entries to avoid dreaded "I've deleted my mappings and can't do anything" error
  • timeout option
  • fixed CF7 form selection bug
  • conditionally load CF7 or GF only if active/present; note that this plugin must init normally to check CF7


  • Bugfixes
  • Added "Label" column for administrative notes



  • Added failure hook - if your service fails for some reason, you now have the opportunity to alter the CF7 object and prevent it from mailing.



moved "external" includes (hidden-field plugin) to later hook to avoid conflicts when plugin already called


changed filter callback to operate on entire post set, changed name


fixed weird looping problem; removed some debugging code; added default service to test file


moved filter to include dynamic and static values; icons


added configuration options, multiple services


base version, just directly submits values

Requires: 3.0 or higher
Compatible up to: 4.7.3
Last Updated: 2 weeks ago
Active Installs: 8,000+


4.9 out of 5 stars


0 of 14 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.