{"id":257394,"date":"2025-11-19T11:59:44","date_gmt":"2025-11-19T11:59:44","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kainoto-cf7-webhook\/"},"modified":"2025-11-19T11:59:30","modified_gmt":"2025-11-19T11:59:30","slug":"kainoto-webhook-for-contact-form-7","status":"publish","type":"plugin","link":"https:\/\/bs.wordpress.org\/plugins\/kainoto-webhook-for-contact-form-7\/","author":20838861,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.6","stable_tag":"1.0.6","tested":"6.8.5","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Kainoto Webhook for Contact Form 7","header_author":"Kainoto","header_description":"After form submission in Contact Form 7, sends data to a specified webhook URL without waiting for a response.","assets_banners_color":"acdbec","last_updated":"2025-11-19 11:59:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/kainoto.com","rating":0,"author_block_rating":0,"active_installs":30,"downloads":247,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"dusanvr","date":"2025-11-19 11:59:30"}},"upgrade_notice":{"1.0.3":"<p>This version includes improved URL validation and better error handling. Update recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3398926,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3398926,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1554x500.jpg":{"filename":"banner-1554x500.jpg","revision":3398926,"resolution":"1554x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3398926,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Webhook settings panel in Contact Form 7 admin","2":"URL validation in action","3":"Simple configuration interface"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1556,1152,248032,597,15439],"plugin_category":[],"plugin_contributors":[248824],"plugin_business_model":[],"class_list":["post-257394","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-contact-form-7","plugin_tags-form-data","plugin_tags-integration","plugin_tags-webhook","plugin_contributors-dusanvr","plugin_committers-dusanvr"],"banners":{"banner":"https:\/\/ps.w.org\/kainoto-webhook-for-contact-form-7\/assets\/banner-772x250.jpg?rev=3398926","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kainoto-webhook-for-contact-form-7\/assets\/icon-128x128.jpg?rev=3398926","icon_2x":"https:\/\/ps.w.org\/kainoto-webhook-for-contact-form-7\/assets\/icon-256x256.jpg?rev=3398926","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Kainoto Webhook for Contact Form 7 is a lightweight WordPress plugin that extends Contact Form 7 functionality by sending form submission data to specified webhook URLs. The plugin operates asynchronously, ensuring your website's performance isn't affected by external API response times.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Asynchronous Processing<\/strong>: Sends webhook data without waiting for response, maintaining optimal site performance<\/li>\n<li><strong>Easy Configuration<\/strong>: Simple webhook URL setup directly in Contact Form 7 admin panel<\/li>\n<li><strong>JSON Format<\/strong>: Sends form data in clean JSON format for easy processing<\/li>\n<li><strong>URL Validation<\/strong>: Built-in validation ensures only proper URLs are accepted<\/li>\n<li><strong>No Response Dependency<\/strong>: Fire-and-forget approach prevents external service issues from affecting your forms<\/li>\n<li><strong>Lightweight<\/strong>: Minimal code footprint with no unnecessary bloat<\/li>\n<\/ul>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li>CRM integrations<\/li>\n<li>Email marketing services<\/li>\n<li>Custom analytics tracking<\/li>\n<li>Third-party notification systems<\/li>\n<li>API-based workflow automation<\/li>\n<li>Real-time data synchronization<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Edit any Contact Form 7 form<\/li>\n<li>Navigate to the new \"Webhook\" tab<\/li>\n<li>Enter your webhook URL<\/li>\n<li>Save the form<\/li>\n<\/ol>\n\n<p>That's it! Now every form submission will automatically send the data to your specified webhook URL in JSON format.<\/p>\n\n<h4>Technical Details<\/h4>\n\n<ul>\n<li>Hooks into Contact Form 7's submission process after validation but before email sending<\/li>\n<li>Sends POST requests with JSON payload containing all form field data<\/li>\n<li>Uses WordPress HTTP API for reliable delivery<\/li>\n<li>15-second timeout with non-blocking execution<\/li>\n<li>Sanitizes and validates all webhook URLs<\/li>\n<\/ul>\n\n<h3>Developer Information<\/h3>\n\n<h4>Hooks and Filters<\/h4>\n\n<p>The plugin provides several hooks for developers:<\/p>\n\n<ul>\n<li><code>wpcf7_editor_panels<\/code> - Adds the webhook panel to CF7 admin<\/li>\n<li><code>wpcf7_save_contact_form<\/code> - Saves webhook settings<\/li>\n<li><code>wpcf7_submit<\/code> - Sends webhook data after form submission<\/li>\n<\/ul>\n\n<h4>Code Example<\/h4>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>\/\/ Example webhook endpoint (PHP)\n$json = file_get_contents('php:\/\/input');\n$data = json_decode($json, true);<\/p>\n\n<p>\/\/ Process form data\nforeach($data as $field =&gt; $value) {\n    \/\/ Handle each form field\n    error_log(\"Field: $field, Value: $value\");\n}\n    `<\/p>\n\n<h4>Support<\/h4>\n\n<p>For technical support, feature requests, or bug reports, please visit: https:\/\/kainoto.com<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin does not collect, store, or transmit any personal data beyond what is explicitly submitted through Contact Form 7. All data handling is controlled by your webhook endpoint configuration.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Go to Plugins &gt; Add New<\/li>\n<li>Search for \"Kainoto Webhook for Contact Form 7\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Upload it to your <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Extract the files<\/li>\n<li>Activate the plugin through the WordPress admin Plugins menu<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.0 or higher<\/li>\n<li>Contact Form 7 plugin installed and activated<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20plugin%20slow%20down%20my%20website%3F'><h3>Does this plugin slow down my website?<\/h3><\/dt>\n<dd><p>No! The plugin uses asynchronous (non-blocking) requests, meaning it doesn't wait for the webhook response. Your forms submit normally while the webhook data is sent in the background.<\/p><\/dd>\n<dt id='what%20data%20format%20is%20sent%20to%20the%20webhook%3F'><h3>What data format is sent to the webhook?<\/h3><\/dt>\n<dd><p>All form field data is sent as JSON in the request body. The Content-Type header is set to \"application\/json; charset=UTF-8\".<\/p><\/dd>\n<dt id='what%20happens%20if%20my%20webhook%20url%20is%20down%3F'><h3>What happens if my webhook URL is down?<\/h3><\/dt>\n<dd><p>Nothing happens to your form functionality. Since the plugin doesn't wait for responses, webhook failures won't affect your Contact Form 7 submissions or user experience.<\/p><\/dd>\n<dt id='can%20i%20use%20multiple%20webhook%20urls%20per%20form%3F'><h3>Can I use multiple webhook URLs per form?<\/h3><\/dt>\n<dd><p>Currently, each form supports one webhook URL. If you need multiple endpoints, consider using a webhook relay service or setting up your webhook to forward data to multiple destinations.<\/p><\/dd>\n<dt id='is%20the%20webhook%20data%20secure%3F'><h3>Is the webhook data secure?<\/h3><\/dt>\n<dd><p>The plugin sends data exactly as submitted through your contact form. Ensure your webhook endpoint uses HTTPS and implements proper security measures on your end.<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20data%20sent%20to%20the%20webhook%3F'><h3>Can I customize the data sent to the webhook?<\/h3><\/dt>\n<dd><p>The plugin sends all form field data as submitted. For custom data manipulation, you can modify the webhook endpoint to process the received JSON data as needed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Improved URL validation with real-time feedback<\/li>\n<li>Enhanced admin interface styling<\/li>\n<li>Added proper error handling for invalid URLs<\/li>\n<li>Updated documentation and code comments<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added URL validation<\/li>\n<li>Improved error handling<\/li>\n<li>Fixed admin notice display<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Initial bug fixes<\/li>\n<li>Improved code documentation<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Basic webhook functionality<\/li>\n<li>Contact Form 7 integration<\/li>\n<\/ul>","raw_excerpt":"Send Contact Form 7 submissions to webhook URLs without waiting for response. Perfect for integrations with external services.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/257394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=257394"}],"author":[{"embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dusanvr"}],"wp:attachment":[{"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=257394"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=257394"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=257394"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=257394"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=257394"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bs.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=257394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}