[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f6O4wuPuF1S8wpb2NGB0X_qxGJ83WkW1abSbH0NKXId8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":38,"analysis":112,"fingerprints":370},"forms-3rdparty-integration","Forms: 3rd-Party Integration","1.8","zaus","https:\u002F\u002Fprofiles.wordpress.org\u002Fzaus\u002F","\u003Cp>Send \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcontact-form-7\u002F\" title=\"Contact Form 7\" rel=\"ugc\">Contact Form 7\u003C\u002Fa>, \u003Ca href=\"http:\u002F\u002Fwww.gravityforms.com\u002F\" title=\"Gravity Forms\" rel=\"nofollow ugc\">Gravity Forms\u003C\u002Fa>, or \u003Ca href=\"http:\u002F\u002Fninjaforms.com\u002F\" title=\"Ninja Forms\" rel=\"nofollow ugc\">Ninja Forms\u003C\u002Fa> Submissions to a 3rd-party Service, like a CRM.  Multiple configurable services, custom field mapping.  Provides hooks and filters for pre\u002Fpost processing of results.  Allows you to send separate emails, or attach additional results to existing emails.  Comes with a couple examples of hooks for common CRMs (listrak, mailchimp, salesforce).  Check out the FAQ section for add-on plugins that extend this functionality, like sending XML\u002FSOAP posts, setting headers, and dynamic fields.\u003C\u002Fp>\n\u003Cp>The plugin essentially makes a remote request (POST) to a service URL, passing along remapped form submission values.\u003C\u002Fp>\n\u003Cp>Based on idea by Alex Hager “\u003Ca href=\"http:\u002F\u002Fwww.alexhager.at\u002Fhow-to-integrate-salesforce-in-contact-form-7\u002F\" title=\"Original Inspiration\" rel=\"nofollow ugc\">How to Integrate Salesforce in Contact Form 7\u003C\u002Fa>“.\u003C\u002Fp>\n\u003Cp>Original plugin, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcontact-form-7-3rd-party-integration\u002F\" title=\"CF7 Integration\" rel=\"ugc\">Contact Form 7: 3rdparty Integration\u003C\u002Fa> developed with the assistance of \u003Ca href=\"http:\u002F\u002Fwww.atlanticbt.com\u002F\" title=\"Atlantic BT: Custom Website and Web-application Services\" rel=\"nofollow ugc\">AtlanticBT\u003C\u002Fa>.  Current plugin sponsored by \u003Ca href=\"http:\u002F\u002Fwww.stephenpkane.com\u002F\" title=\"Website Design and Internet Marketing Services\" rel=\"nofollow ugc\">Stephen P. Kane Consulting\u003C\u002Fa>.  Please submit bugs \u002F support requests to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-integration\u002Fissues\" title=\"GitHub issue tracker\" rel=\"nofollow ugc\">GitHub issue tracker\u003C\u002Fa> in addition to the WordPress Support Forums because the Forums do not send emails.\u003C\u002Fp>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Cp>\u003Cem>Please note that this documentation is in flux, and may not be accurate for latest rewrite 1.4.0\u003C\u002Fem>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>add_action('Forms3rdPartyIntegration_service_a#', $response, $param_ref);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>hook for each service, indicated by the \u003Ccode>#\u003C\u002Fcode> – \u003Cem>this is given in the ‘Hooks’ section of each service\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>provide a function which takes \u003Ccode>$response, &$results\u003C\u002Fcode> as arguments\u003C\u002Fli>\n\u003Cli>allows you to perform further processing on the service response, and directly alter the processing results, provided as \u003Ccode>array('success'=>false, 'errors'=>false, 'attach'=>'', 'message' => '');\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cem>success\u003C\u002Fem> = \u003Ccode>true\u003C\u002Fcode> or \u003Ccode>false\u003C\u002Fcode> – change whether the service request is treated as “correct” or not\u003C\u002Fli>\n\u003Cli>\u003Cem>errors\u003C\u002Fem> = an array of error messages to return to the form\u003C\u002Fli>\n\u003Cli>\u003Cem>attach\u003C\u002Fem> = text to attach to the end of the email body\u003C\u002Fli>\n\u003Cli>\u003Cem>message\u003C\u002Fem> = the message notification shown (from CF7 ajax response) below the form\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>note that the basic “success condition” may be augmented here by post processing\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_action('Forms3rdPartyIntegration_service', $response, $param_ref, $sid);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>same as previous hook, but not tied to a specific service\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('Forms3rdPartyIntegration_service_filter_post_#, ...\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>hook for each service, indicated by the \u003Ccode>#\u003C\u002Fcode> – \u003Cem>this is given in the ‘Hooks’ section of each service\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>allows you to programmatically alter the request parameters sent to the service\u003C\u002Fli>\n\u003Cli>should return updated \u003Ccode>$post\u003C\u002Fcode> array\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('Forms3rdPartyIntegration_service_filter_post', 'YOUR_HOOK', 10, 4);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>in addition to service-specific with suffix \u003Ccode>_a#\u003C\u002Fcode>; accepts params \u003Ccode>$post\u003C\u002Fcode>, \u003Ccode>$service\u003C\u002Fcode>, \u003Ccode>$form\u003C\u002Fcode>, \u003Ccode>$sid\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('Forms3rdPartyIntegration_service_filter_args', 'YOUR_HOOK', 10, 3);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>alter the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FFunction_Reference\u002Fwp_remote_post#Parameters\" rel=\"nofollow ugc\">args array\u003C\u002Fa> sent to \u003Ccode>wp_remote_post\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>allows you to add headers or override the existing settings (timeout, body)\u003C\u002Fli>\n\u003Cli>if you return an array containing the key \u003Ccode>response_bypass\u003C\u002Fcode>, it will skip the normal POST and instead use that value as the 3rdparty response; note that it must match the format of a regular \u003Ccode>wp_remote_post\u003C\u002Fcode> response.\u003C\u002Fli>\n\u003Cli>Note: if using \u003Ccode>response_bypass\u003C\u002Fcode> you should consider including the original arguments in the callback result for debugging purposes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>add_action('Forms3rdPartyIntegration_remote_failure', 'mycf7_fail', 10, 5);\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>hook to modify the Form (CF7 or GF) object if service failure of any kind occurs — use like:\u003C\u002Fp>\n\u003Cp>function mycf7_fail(&$cf7, $debug, $service, $post, $response) {\u003Cbr \u002F>\n    $cf7->skip_mail = true; \u002F\u002F stop email from being sent\u003Cbr \u002F>\n    \u002F\u002F hijack message to notify user\u003Cbr \u002F>\n    \u002F\u002F\u002FTODO: how to modify the “mail_sent” variable so the message isn’t green?  on_sent_ok hack?\u003Cbr \u002F>\n    $cf7->messages[‘mail_sent_ok’] = ‘Could not complete mail request:** ‘ . $response[‘safe_message’];\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>needs some way to alter the \u003Ccode>mail_sent\u003C\u002Fcode> return variable in CF7 to better indicate an error – no way currently to access it directly.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_action('Forms3rdPartyIntegration_service_settings', 'YOUR_HOOK', 10, 3)\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>accepts params \u003Ccode>$eid\u003C\u002Fcode>, \u003Ccode>$P\u003C\u002Fcode>, \u003Ccode>$entity\u003C\u002Fcode> corresponding to the index of each service entity and this plugin’s namespace, and the \u003Ccode>$entity\u003C\u002Fcode> settings array\u003C\u002Fli>\n\u003Cli>allows you to add a section to each service admin settings\u003C\u002Fli>\n\u003Cli>name form fields with plugin namespace to automatically save:  \u003Ccode>$P[$eid][YOUR_CUSTOM_FIELD]\u003C\u002Fcode> $rarr; \u003Ccode>Forms3rdPartyIntegration[0][YOUR_CUSTOM_FIELD]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_action('Forms3rdPartyIntegration_service_metabox', 'YOUR_HOOK', 10, 2)\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>accepts params \u003Ccode>$P\u003C\u002Fcode>, \u003Ccode>$entity\u003C\u002Fcode> corresponding to the index of each service entity and this plugin’s namespace, and the \u003Ccode>$options\u003C\u002Fcode> settings array (representing the full plugin settings)\u003C\u002Fli>\n\u003Cli>allows you to append a metabox (or anything else) to the plugin admin settings page\u003C\u002Fli>\n\u003Cli>name form fields with plugin namespace to automatically save:  \u003Ccode>$P[YOUR_CUSTOM_FIELD]\u003C\u002Fcode> $rarr; \u003Ccode>Forms3rdPartyIntegration[YOUR_CUSTOM_FIELD]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('Forms3rdPartyIntegration_debug_message', 'YOUR_HOOK', 10, 5);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>bypass\u002Falternate debug logging\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('Forms3rdPartyIntegration_plugin_hooks', 'YOUR_HOOK', 10, 1);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>Accepts an array of contact form plugin hooks to attach F3p to, and returns that array.  Modify result to attach to additional plugin hooks, like GF edit.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('Forms3rdPartyIntegration_service_filter_url', 'YOUR_HOOK', 10, 2);\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>hook a function that takes the \u003Ccode>$service_url, $post_args\u003C\u002Fcode> and returns the endpoint \u003Ccode>$url\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>used to modify the submission url based on mappings or other information\u003C\u002Fli>\n\u003Cli>\u003Ccode>$post_args\u003C\u002Fcode> contains the \u003Ccode>body\u003C\u002Fcode> and other \u003Ccode>wp_remote_post\u003C\u002Fcode> details\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Basic examples provided for service hooks directly on plugin Admin page (collapsed box “Examples of callback hooks”).  Code samples for common CRMS included in the \u003Ccode>\u002F3rd-parties\u003C\u002Fcode> plugin folder.\u003C\u002Fp>\n\u003Ch3>Stephen P. Kane Consulting\u003C\u002Fh3>\n\u003Cp>From \u003Ca href=\"http:\u002F\u002Fwww.stephenpkane.com\u002F\" title=\"Wordpress, Online Marketing, Social Media, SEO\" rel=\"nofollow ugc\">the website\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Fhandpickedtomatoes.com\u002F\" title=\"Website Design & Internet Marketing Services\" rel=\"nofollow ugc\">Handpicked Tomatoes\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Transparent and Holistic Approach\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Transparency is good. It’s amazing how many web design sites hide who they are. There are lots of reasons, none of which are good for the customer. We don’t do that. I’m Stephen Kane, principal web craftsman at HandpickedTomatoes, and I’m an Orange County based freelancer who occasionally works with other local freelancers and agencies to deliver quality web solutions at very affordable prices.\u003Cbr \u002F>\n  We work to earn the right to be a trusted partner. One that you can turn to for professional help in strategizing, developing, executing, and maintaining your Internet presence.\u003Cbr \u002F>\n  We take a holistic view. Even if a project is small, our work should integrate into the big picture. We craft web architecture and designs that become winning websites that are easy to use and to share. We custom build social network footprints on sites like linkedin, facebook, twitter, youtube, flickr, yelp!, and google places and integrate them into your website to leverage social marketing. We help you set up and execute email campaigns, with search engine marketing, with photography, with site copy and content and anything else that you need in order to have a successful Internet presence.\u003Cbr \u002F>\n  Through this holistic approach, we work with clients to grow their sales, improve their brand recognition, and manage their online reputation.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Send contact form submissions from other plugins to multiple external services e.g. CRM.  Configurable, custom field mapping, pre\u002Fpost processing.",5000,121957,98,31,"2019-09-09T09:34:00.000Z","5.2.24","3.0","",[20,21,22,23,24],"cf7","contact-form","contact-form-7","form","gravity-forms","https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-integration","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforms-3rdparty-integration.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":27,"computed_at":37},13,5370,87,30,"2026-04-04T01:06:29.747Z",[39,61,75,88,100],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":58,"download_link":59,"security_score":60,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"cf7-cep-autofill","Autopreenchimento de endereço em formulários","1.3","fabbricaweb","https:\u002F\u002Fprofiles.wordpress.org\u002Ffabbricaweb\u002F","\u003Cp>\u003Cstrong>Autopreenchimento de endereço em formulários\u003C\u002Fstrong> permite que os campos de logradouro (rua, avenida e etc), bairro, cidade e estado (UF) sejam prenchidos automaticamente baseado no CEP informado. Ele\u003C\u002Fp>\n\u003Cp>Plugins testados até o momento:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"nofollow ugc\">Contact Form 7\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Fwpforms-lite\u002F\" rel=\"nofollow ugc\">WPForms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Felementor\u002F\" rel=\"nofollow ugc\">Elementor\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Fformidable\u002F\" rel=\"nofollow ugc\">Formidable Forms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Fninja-forms\u002F\" rel=\"nofollow ugc\">Ninja Forms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.gravityforms.com\u002F\" rel=\"nofollow ugc\">Gravity Forms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fjetformbuilder.com\u002F\" rel=\"nofollow ugc\">JetFormBuilder\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Autopreenchimento de endereço em formulários\u003C\u002Fstrong> identifica o campo que irá receber o CEP e os campos a serem preenchidos automaticamente através de \u003Cstrong>classes CSS específicas\u003C\u002Fstrong> que informam ao plugin o valor que o campo deve receber.\u003C\u002Fp>\n\u003Cp>São elas:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>cf7-cep-autofill\u003C\u002Fstrong> no campo em que o usuário deve preencher o \u003Cstrong>CEP\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>cf7-cep-autofill__rua\u003C\u002Fstrong> para receber o valor do \u003Cstrong>logradouro\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>cf7-cep-autofill__bairro\u003C\u002Fstrong> para receber o valor do \u003Cstrong>bairro\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>cf7-cep-autofill__cidade\u003C\u002Fstrong> para receber o valor da \u003Cstrong>cidade\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>cf7-cep-autofill__uf\u003C\u002Fstrong> para receber o valor do \u003Cstrong>estado\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Exemplo de uso com o plugin \u003Ca href=\"https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Fcontact-form-7\u002F\" rel=\"nofollow ugc\">Contact Form 7\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[text* cep class:cf7-cep-autofill]\n[text* logradouro class:cf7-cep-autofill__rua]\n[text* bairro class:cf7-cep-autofill__bairro]\n[text* cidade class:cf7-cep-autofill__cidade]\n[text* estado class:cf7-cep-autofill__uf]\n[select* estado class:cf7-cep-autofill__uf include_blank \"AC\" \"AL\" \"AP\" \"AM\" \"BA\" \"CE\" \"DF\" \"ES\" \"GO\" \"MA\" \"MT\" \"MS\" \"MG\" \"PA\" \"PB\" \"PR\" \"PE\" \"PI\" \"RJ\" \"RN\" \"RS\" \"RO\" \"RR\" \"SC\" \"SP\" \"SE \" \"TO\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Caso o campo da UF seja do tipo select (menu suspenso):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[select* estado class:cf7-cep-autofill__uf include_blank \"AC\" \"AL\" \"AP\" \"AM\" \"BA\" \"CE\" \"DF\" \"ES\" \"GO\" \"MA\" \"MT\" \"MS\" \"MG\" \"PA\" \"PB\" \"PR\" \"PE\" \"PI\" \"RJ\" \"RN\" \"RS\" \"RO\" \"RR\" \"SC\" \"SP\" \"SE \" \"TO\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Nos outros plugins basta informar as classes do plugin nos respectivos campos que os editores dos formulários oferecem.\u003C\u002Fp>\n\u003Ch4>Dúvidas?\u003C\u002Fh4>\n\u003Cp>Você pode esclarecer suas dúvidas criando um tópico no \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fcf7-cep-autofill\" rel=\"ugc\">fórum de ajuda do WordPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Créditos\u003C\u002Fh4>\n\u003Cp>Foram utilizados os seguintes scripts\u002Fserviços de terceiros:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fviacep.com.br\u002F\" rel=\"nofollow ugc\">ViaCEP\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Preenchimento automático de campos de endereço baseado no CEP informado.",1000,19309,100,15,"2024-05-01T16:10:00.000Z","6.1.10","4.0","5.5",[20,22,24,56,57],"ninja-forms","wpforms","https:\u002F\u002Fbr.wordpress.org\u002Fplugins\u002Fcf7-cep-autofill\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcf7-cep-autofill.1.3.zip",92,{"slug":62,"name":63,"version":64,"author":7,"author_profile":8,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":49,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":17,"requires_php":18,"tags":72,"homepage":73,"download_link":74,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"forms-3rd-party-xpost","Forms: 3rd-Party Xml Post","1.4.3","\u003Cp>Converts external submission from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fforms-3rdparty-integration\u002F\" rel=\"ugc\">Forms: 3rdparty Integration\u003C\u002Fa> plugin to an XML or JSON post; optionally can add custom headers (to allow SOAP submissions) or transform\u002Fcombine separate fields into nested values.\u003C\u002Fp>\n\u003Cp>This plugin can turn the 3rdparty mappings into XML elements, so that each form post will be the value (or attribute) of an XML element.\u003C\u002Fp>\n","Converts submission from Forms 3rdparty Integration to xml\u002Fjson, add headers, or nest fields.",200,8022,2,"2018-07-17T04:03:00.000Z","4.9.29",[20,21,22,23,24],"https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-xpost","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforms-3rd-party-xpost.zip",{"slug":76,"name":77,"version":78,"author":7,"author_profile":8,"description":79,"short_description":80,"active_installs":81,"downloaded":82,"rating":49,"num_ratings":83,"last_updated":84,"tested_up_to":85,"requires_at_least":17,"requires_php":18,"tags":86,"homepage":25,"download_link":87,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"forms-3rdparty-dynamic-fields","Forms: 3rd-Party Dynamic Fields","0.7.3","\u003Cp>Using pre-configured placeholders like \u003Ccode>##UID##\u003C\u002Fcode>, \u003Ccode>##REFERER##\u003C\u002Fcode>, or \u003Ccode>##SITEURL##\u003C\u002Fcode>, add dynamic fields to the normally map-only or static-only \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fforms-3rdparty-integration\u002F\" rel=\"ugc\">Forms: 3rdparty Integration\u003C\u002Fa> plugin.\u003C\u002Fp>\n","Using pre-configured placeholders like ##UID##, ##REFERER##, or ##SITEURL##, add dynamic fields to the normally map-only or static-only Forms: 3rdpart &hellip;",50,4000,1,"2017-05-05T09:38:00.000Z","4.5.33",[20,21,22,23,24],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforms-3rdparty-dynamic-fields.zip",{"slug":89,"name":90,"version":91,"author":7,"author_profile":8,"description":92,"short_description":93,"active_installs":36,"downloaded":94,"rating":28,"num_ratings":28,"last_updated":95,"tested_up_to":96,"requires_at_least":17,"requires_php":18,"tags":97,"homepage":98,"download_link":99,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"forms-3rdparty-migrate","Forms: 3rd-Party Migration","0.3.3","\u003Cp>To upgrade deprecated WordPress Plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcontact-form-7-3rd-party-integration\u002F\" rel=\"ugc\">CF7-3rdparty Integration\u003C\u002Fa> to the new version \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fforms-3rdparty-integration\u002F\" rel=\"ugc\">Forms 3rdparty Integration\u003C\u002Fa>, or migrate settings of either plugin between sites.\u003C\u002Fp>\n\u003Cp>From discussion at https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fhow-to-upgrade-from-old-version-to-this-one?replies=1 and more recent request https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-integration\u002Fissues\u002F17.\u003C\u002Fp>\n\u003Cp>Your mileage may vary…\u003C\u002Fp>\n\u003Col>\n\u003Cli>You should have both plugins enabled with at least one service configured and saved.  This is so you have both complete sets of options available for comparison, because you may have to add some extra properties beyond just copy\u002Fpaste.\u003C\u002Fli>\n\u003Cli>Open the “Forms 3rdparty Integration” admin page in two tabs — refresh one tab after performing the following steps, and use the other to ‘resave’ your original settings in case something goes wrong.\u003C\u002Fli>\n\u003Cli>Upload this to your plugins folder (i.e. install)\u003C\u002Fli>\n\u003Cli>Go to the Tools admin page, underneath it will be “Forms 3rdparty Migrate”\u003C\u002Fli>\n\u003Cli>Choose the “mode”, which corresponds to the currently selected plugin you want to work with.  When reviewing, will show that plugin’s settings.  When updating, will set that plugin’s settings.\u003C\u002Fli>\n\u003Cli>Choose ‘Review’ to see the currently selected plugin settings serialized to JSON, and copy them to export.  If you are on > PHP 5.4, you’ll get prettified output, otherwise…sorry.\u003C\u002Fli>\n\u003Cli>Choose ‘Raw Review’ to see the currently selected plugin settings in a ‘nicely formatted’ array.\u003C\u002Fli>\n\u003Cli>Choose ‘Test’ to see what your pasted JSON would like as a nicely formatted array (i.e. like ‘Raw Review’)\u003C\u002Fli>\n\u003Cli>Choose ‘Update’ to set the currently selected plugin from the values in the textarea.  Submitted values should be JSON.\u003C\u002Fli>\n\u003Cli>Select the ‘Convert’ option if you are migrating between CF7-3rdparty and Forms-3rdparty plugins — this will perform minor variable renaming for you.\u003C\u002Fli>\n\u003Cli>Select the ‘Merge’ option to combine settings with existing.  Unselect to overwrite.\u003C\u002Fli>\n\u003Cli>If “upgrading” from CF7 to Forms, make sure to add any additional properties present in the ‘new’ format (such as labels) are added, otherwise you might get some PHP warnings when you go back to the Forms-3rdparty admin page.  This part might not be necessary if you don’t have PHP warnings turned on.\u003C\u002Fli>\n\u003Cli>Check the integration plugin admin page to make sure your settings are all there.\u003C\u002Fli>\n\u003Cli>Try the new services.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cem>NOTE\u003C\u002Fem> Because all of the services are serialized to a single field, there is a limit to how many services you can configure at once.\u003C\u002Fp>\n","To upgrade deprecated Wordpress Plugin CF7-3rdparty Integration to the new version Forms 3rdparty Integration, or migrate settings of either plugin be &hellip;",2057,"2016-09-29T13:31:00.000Z","3.9.40",[20,21,22,23,24],"https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-migrate","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforms-3rdparty-migrate.zip",{"slug":101,"name":102,"version":103,"author":7,"author_profile":8,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":28,"num_ratings":28,"last_updated":108,"tested_up_to":71,"requires_at_least":17,"requires_php":18,"tags":109,"homepage":110,"download_link":111,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"forms-3rdparty-files","Forms: 3rd-Party File Attachments","0.5.2","\u003Cp>Exposes file upload\u002Fattachments to the regular service mapping of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fforms-3rdparty-integration\u002F\" rel=\"ugc\">Forms 3rdparty Integration\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>From discussion at https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-integration\u002Fissues\u002F40.\u003C\u002Fp>\n","Add file upload processing to Forms 3rdparty Integration.",20,2932,"2018-10-10T04:01:00.000Z",[20,21,22,23,24],"https:\u002F\u002Fgithub.com\u002Fzaus\u002Fforms-3rdparty-files","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fforms-3rdparty-files.zip",{"attackSurface":113,"codeSignals":165,"taintFlows":337,"riskAssessment":355,"analyzedAt":369},{"hooks":114,"ajaxHandlers":161,"restRoutes":162,"shortcodes":163,"cronEvents":164,"entryPointCount":28,"unprotectedCount":28},[115,121,124,130,135,139,144,147,150,155,157],{"type":116,"name":117,"callback":118,"priority":119,"file":120,"line":106},"filter","Cf73rdPartyIntegration_service_filter_post_3","listrak_subscribe_post_filter",10,"3rd-parties\\listrak\\functions.listrak.php",{"type":116,"name":122,"callback":118,"priority":119,"file":120,"line":123},"Cf73rdPartyIntegration_service_filter_post_4",29,{"type":125,"name":126,"callback":127,"priority":119,"file":128,"line":129},"action","Forms3rdpartyIntegrationIntegration_service_a5","mailchimp_newsletter_action","3rd-parties\\mailchimp\\functions.mailchimp.php",17,{"type":125,"name":131,"callback":132,"priority":119,"file":133,"line":134},"Forms3rdpartyIntegrationIntegration_service_a0","multitouch1","3rd-parties\\multitouch\\functions.multitouch.php",14,{"type":116,"name":136,"callback":137,"priority":119,"file":133,"line":138},"Forms3rdpartyIntegrationIntegration_service_filter_post_0","multitouch1_filter",16,{"type":125,"name":140,"callback":141,"priority":106,"file":142,"line":143},"admin_menu","admin_init","forms-3rdparty-integration.php",125,{"type":125,"name":145,"callback":145,"file":142,"line":146},"init",126,{"type":116,"name":148,"callback":148,"priority":119,"file":142,"line":149},"plugin_action_links",139,{"type":116,"name":151,"callback":152,"priority":119,"file":153,"line":154},"gform_confirmation","bind_confirmation","plugins\\gravityforms.php",182,{"type":116,"name":151,"callback":151,"priority":119,"file":153,"line":156},212,{"type":125,"name":141,"callback":158,"file":159,"line":160},"load_plugin","upgrade.php",8,[],[],[],[],{"dangerousFunctions":166,"sqlUsage":171,"outputEscaping":173,"fileOperations":83,"externalRequests":69,"nonceChecks":83,"capabilityChecks":28,"bundledLibraries":336},[167],{"fn":168,"file":133,"line":169,"context":170},"unserialize",27,"$data = unserialize($response);",{"prepared":28,"raw":28,"locations":172},[],{"escaped":174,"rawEcho":175,"locations":176},39,103,[177,180,182,183,185,186,188,189,190,192,194,196,198,200,202,204,206,208,209,211,213,214,215,216,218,220,222,224,225,226,228,230,231,232,234,236,237,238,239,241,242,244,246,248,249,250,252,254,255,256,258,260,261,262,264,266,268,269,270,272,274,275,277,279,281,283,284,286,287,288,289,290,292,294,295,297,298,299,300,301,303,305,306,308,309,310,311,312,314,316,317,319,320,321,322,323,324,326,328,330,331,333,335],{"file":133,"line":178,"context":179},59,"raw output",{"file":133,"line":181,"context":179},70,{"file":133,"line":181,"context":179},{"file":133,"line":184,"context":179},81,{"file":133,"line":184,"context":179},{"file":142,"line":187,"context":179},387,{"file":142,"line":187,"context":179},{"file":142,"line":187,"context":179},{"file":142,"line":191,"context":179},801,{"file":142,"line":193,"context":179},810,{"file":142,"line":195,"context":179},813,{"file":142,"line":197,"context":179},815,{"file":199,"line":123,"context":179},"plugin-ui.php",{"file":199,"line":201,"context":179},43,{"file":199,"line":203,"context":179},64,{"file":199,"line":205,"context":179},69,{"file":199,"line":207,"context":179},74,{"file":199,"line":207,"context":179},{"file":199,"line":210,"context":179},76,{"file":199,"line":212,"context":179},80,{"file":199,"line":212,"context":179},{"file":199,"line":27,"context":179},{"file":199,"line":27,"context":179},{"file":199,"line":217,"context":179},90,{"file":199,"line":219,"context":179},114,{"file":199,"line":221,"context":179},123,{"file":199,"line":223,"context":179},124,{"file":199,"line":223,"context":179},{"file":199,"line":223,"context":179},{"file":199,"line":227,"context":179},128,{"file":199,"line":229,"context":179},129,{"file":199,"line":229,"context":179},{"file":199,"line":229,"context":179},{"file":199,"line":233,"context":179},130,{"file":199,"line":235,"context":179},142,{"file":199,"line":235,"context":179},{"file":199,"line":235,"context":179},{"file":199,"line":235,"context":179},{"file":199,"line":240,"context":179},143,{"file":199,"line":240,"context":179},{"file":199,"line":243,"context":179},149,{"file":199,"line":245,"context":179},158,{"file":199,"line":247,"context":179},159,{"file":199,"line":247,"context":179},{"file":199,"line":247,"context":179},{"file":199,"line":251,"context":179},164,{"file":199,"line":253,"context":179},165,{"file":199,"line":253,"context":179},{"file":199,"line":253,"context":179},{"file":199,"line":257,"context":179},171,{"file":199,"line":259,"context":179},172,{"file":199,"line":259,"context":179},{"file":199,"line":259,"context":179},{"file":199,"line":263,"context":179},173,{"file":199,"line":265,"context":179},177,{"file":199,"line":267,"context":179},178,{"file":199,"line":267,"context":179},{"file":199,"line":267,"context":179},{"file":199,"line":271,"context":179},195,{"file":199,"line":273,"context":179},196,{"file":199,"line":67,"context":179},{"file":199,"line":276,"context":179},204,{"file":199,"line":278,"context":179},211,{"file":199,"line":280,"context":179},233,{"file":199,"line":282,"context":179},234,{"file":199,"line":282,"context":179},{"file":199,"line":285,"context":179},235,{"file":199,"line":285,"context":179},{"file":199,"line":285,"context":179},{"file":199,"line":285,"context":179},{"file":199,"line":285,"context":179},{"file":199,"line":291,"context":179},237,{"file":199,"line":293,"context":179},238,{"file":199,"line":293,"context":179},{"file":199,"line":296,"context":179},239,{"file":199,"line":296,"context":179},{"file":199,"line":296,"context":179},{"file":199,"line":296,"context":179},{"file":199,"line":296,"context":179},{"file":199,"line":302,"context":179},241,{"file":199,"line":304,"context":179},242,{"file":199,"line":304,"context":179},{"file":199,"line":307,"context":179},243,{"file":199,"line":307,"context":179},{"file":199,"line":307,"context":179},{"file":199,"line":307,"context":179},{"file":199,"line":307,"context":179},{"file":199,"line":313,"context":179},245,{"file":199,"line":315,"context":179},246,{"file":199,"line":315,"context":179},{"file":199,"line":318,"context":179},247,{"file":199,"line":318,"context":179},{"file":199,"line":318,"context":179},{"file":199,"line":318,"context":179},{"file":199,"line":318,"context":179},{"file":199,"line":318,"context":179},{"file":199,"line":325,"context":179},252,{"file":199,"line":327,"context":179},279,{"file":199,"line":329,"context":179},280,{"file":199,"line":329,"context":179},{"file":199,"line":332,"context":179},284,{"file":199,"line":334,"context":179},285,{"file":199,"line":334,"context":179},[],[338],{"entryPoint":339,"graph":340,"unsanitizedCount":28,"severity":354},"\u003Cplugin-ui> (plugin-ui.php:0)",{"nodes":341,"edges":351},[342,346],{"id":343,"type":344,"label":345,"file":199,"line":160},"n0","source","$_POST (x6)",{"id":347,"type":348,"label":349,"file":199,"line":203,"wp_function":350},"n1","sink","echo() [XSS]","echo",[352],{"from":343,"to":347,"sanitized":353},true,"low",{"summary":356,"deductions":357},"The \"forms-3rdparty-integration\" plugin, version 1.8, presents a mixed security posture.  On the positive side, it demonstrates good practices in several areas. There are no known CVEs, indicating a generally stable history.  The plugin also exclusively uses prepared statements for its SQL queries, which is excellent.  The attack surface, as measured by AJAX handlers, REST API routes, shortcodes, and cron events, is remarkably small and appears to be entirely protected.  Furthermore, the taint analysis found no unsanitized paths, suggesting a good effort in preventing direct injection vulnerabilities.\n\nHowever, several concerning signals emerge from the static analysis. The presence of the `unserialize` function without clear context or associated sanitization logic is a significant red flag. This function is notoriously dangerous when used with untrusted input, as it can lead to object injection vulnerabilities.  The low percentage of properly escaped output (27%) is also a substantial concern, as it increases the risk of Cross-Site Scripting (XSS) vulnerabilities, especially if data processed by the plugin is later displayed to users without adequate sanitization.\n\nWhile the vulnerability history is clean, this does not negate the risks identified in the code. The lack of capability checks is another weakness, potentially allowing unauthorized users to perform actions they shouldn't. The plugin's reliance on external HTTP requests also introduces potential supply chain risks if the external services are compromised or behave maliciously. In conclusion, while the plugin has a clean vulnerability history and a small, protected attack surface, the identified code signals like `unserialize` usage and poor output escaping warrant significant attention and mitigation efforts.",[358,360,362,364,367],{"reason":359,"points":50},"Dangerous function unserialize used",{"reason":361,"points":119},"Low percentage of output properly escaped",{"reason":363,"points":160},"No capability checks found",{"reason":365,"points":366},"File operations present",3,{"reason":368,"points":366},"External HTTP requests present","2026-03-16T18:08:04.295Z",{"wat":371,"direct":388},{"assetPaths":372,"generatorPatterns":379,"scriptPaths":380,"versionParams":381},[373,374,375,376,377,378],"\u002Fwp-content\u002Fplugins\u002Fforms-3rdparty-integration\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fforms-3rdparty-integration\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fforms-3rdparty-integration\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fforms-3rdparty-integration\u002Fjs\u002Fforms-3rdparty-integration-admin.js","\u002Fwp-content\u002Fplugins\u002Fforms-3rdparty-integration\u002Fjs\u002Fservice_edit.js","\u002Fwp-content\u002Fplugins\u002Fforms-3rdparty-integration\u002Fjs\u002Fforms-3rdparty-integration-service-edit.js",[],[374,375,376,377,378],[382,383,384,385,386,387],"forms-3rdparty-integration\u002Fadmin.css?ver=","forms-3rdparty-integration\u002Fadmin.js?ver=","forms-3rdparty-integration\u002Fjs\u002Fadmin.js?ver=","forms-3rdparty-integration\u002Fjs\u002Fforms-3rdparty-integration-admin.js?ver=","forms-3rdparty-integration\u002Fjs\u002Fservice_edit.js?ver=","forms-3rdparty-integration\u002Fjs\u002Fforms-3rdparty-integration-service-edit.js?ver=",{"cssClasses":389,"htmlComments":392,"htmlAttributes":398,"restEndpoints":407,"jsGlobals":408,"shortcodeOutput":411},[390,391],"f3i-service-edit","f3i-debug-log",[393,394,395,396,397],"\u003C!-- copied from forms-3rdparty-integration\u002Fupgrade.php -->","\u003C!-- include admin.css -->","\u003C!-- include admin.js -->","\u003C!-- include scripts for the service_edit.php page -->","\u003C!-- include the service edit javascript -->",[399,400,401,402,403,404,405,406],"data-service-url","data-service-id","data-service-name","data-form-id","data-mapping-source-input","data-mapping-source-type","data-mapping-target-input","data-mapping-target-type",[],[409,410],"f3i_service_edit","f3i_admin_debug",[]]