{"id":371567,"date":"2026-09-21T18:37:48","date_gmt":"2026-09-21T18:37:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kavin-contact-form-builder\/"},"modified":"2026-09-21T18:37:11","modified_gmt":"2026-09-21T18:37:11","slug":"kavin-contact-form-builder","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kavin-contact-form-builder\/","author":16242157,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.1","requires":"5.6","requires_php":"7.2","requires_plugins":null,"header_name":"Kavin Contact Form Builder","header_author":"Arpan Sahdev (Kavin Studios)","header_description":"Build contact forms with a drag-to-reorder builder, store every entry, and get notified by email. Shortcode and block included.","assets_banners_color":"feb399","last_updated":"2026-09-21 18:37:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/kavinstudios.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"arpansahdev","date":"2026-09-21 18:37:11","revision":3706145}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3706145,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3706145,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3706145,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3706145,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"kavin-forms\/form":{"name":"kavin-forms\/form","title":"Kavin Form"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3706145,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3706145,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3706145,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3706145,"resolution":"4","location":"assets","locale":"","width":789,"height":1240}},"screenshots":{"1":"The form builder: field palette, live preview, and options for the selected field.","2":"Per-form settings for confirmations, notifications, spam and privacy.","3":"The entries screen with status filters, search and CSV export.","4":"A form on the front end."}},"plugin_section":[],"plugin_tags":[360,358,267,2253,601],"plugin_category":[41,42],"plugin_contributors":[276337],"plugin_business_model":[],"class_list":["post-371567","plugin","type-plugin","status-publish","hentry","plugin_tags-contact","plugin_tags-contact-form","plugin_tags-email","plugin_tags-form-builder","plugin_tags-forms","plugin_category-communication","plugin_category-contact-forms","plugin_contributors-arpansahdev","plugin_committers-arpansahdev"],"banners":{"banner":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/banner-772x250.png?rev=3706145","banner_2x":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/banner-1544x500.png?rev=3706145","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/icon-128x128.png?rev=3706145","icon_2x":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/icon-256x256.png?rev=3706145","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/screenshot-1.png?rev=3706145","caption":"The form builder: field palette, live preview, and options for the selected field."},{"src":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/screenshot-2.png?rev=3706145","caption":"Per-form settings for confirmations, notifications, spam and privacy."},{"src":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/screenshot-3.png?rev=3706145","caption":"The entries screen with status filters, search and CSV export."},{"src":"https:\/\/ps.w.org\/kavin-contact-form-builder\/assets\/screenshot-4.png?rev=3706145","caption":"A form on the front end."}],"raw_content":"<!--section=description-->\n<p>Kavin Contact Form Builder gives you a proper form builder without the bloat. Drag fields onto a live preview, click any field to edit it, and embed the finished form with a shortcode or a block.<\/p>\n\n<p>Every submission is stored in your own database, searchable from the Entries screen, and exportable as a spreadsheet you can actually read.<\/p>\n\n<h4>Build the form you need<\/h4>\n\n<ul>\n<li>Fourteen field types: single line text, paragraph text, email, phone, number, website, date, dropdown, multiple choice, checkboxes, consent checkbox, hidden field, section heading and an HTML block<\/li>\n<li>A live preview that shows the real control the moment you add it, not a placeholder<\/li>\n<li>Drag to reorder, or focus a field's drag handle and use the arrow keys<\/li>\n<li>Duplicate any field, including changes you have not saved yet<\/li>\n<li>Search the field palette<\/li>\n<\/ul>\n\n<h4>Collect and read the answers<\/h4>\n\n<ul>\n<li>Every entry stored in a dedicated table, not buried in your posts<\/li>\n<li>Filter by form and by status, and search the answers themselves<\/li>\n<li>Read, unread, spam and permanent delete, individually or in bulk<\/li>\n<li>CSV export with one row per submission and a column per field<\/li>\n<li>Formula injection is neutralised on export, so a submitted answer can never run as a spreadsheet formula<\/li>\n<\/ul>\n\n<h4>Get told about it<\/h4>\n\n<ul>\n<li>Email yourself on every submission, and optionally send the visitor a confirmation<\/li>\n<li>Smart tags for any answer, the whole form, the entry number, the date and more<\/li>\n<li>Notifications send from your own domain with the visitor in Reply-To, which is what keeps form mail out of spam<\/li>\n<li>Works with any SMTP plugin, because delivery goes through the standard WordPress mailer<\/li>\n<\/ul>\n\n<h4>Keep the spam out<\/h4>\n\n<ul>\n<li>Honeypot field that real visitors never see<\/li>\n<li>A configurable time trap that rejects submissions filled in impossibly fast<\/li>\n<li>Per-visitor rate limiting<\/li>\n<\/ul>\n\n<h4>Respect your visitors' privacy<\/h4>\n\n<ul>\n<li>Storing entries at all is optional, per form<\/li>\n<li>Storing IP addresses is optional, per form<\/li>\n<li>Automatic deletion of entries older than a number of days you choose<\/li>\n<li>Entries are wired into the WordPress privacy tools, so Export Personal Data and Erase Personal Data both cover them<\/li>\n<\/ul>\n\n<h4>Built by Kavin Studios<\/h4>\n\n<p>Made by Arpan Sahdev at <a href=\"https:\/\/kavinstudios.com\">Kavin Studios<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate it.<\/li>\n<li>In the admin menu, go to Kavin Studios, then Forms, and create your first form.<\/li>\n<li>Copy the shortcode from the form's Settings tab and paste it into any page, or add the Kavin Form block.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20form%20work%20if%20a%20visitor%20has%20javascript%20turned%20off%3F\"><h3>Does the form work if a visitor has JavaScript turned off?<\/h3><\/dt>\n<dd><p>Yes. The form posts normally and is validated on the server either way. JavaScript only adds the no-reload submission.<\/p><\/dd>\n<dt id=\"will%20the%20form%20break%20on%20a%20cached%20page%3F\"><h3>Will the form break on a cached page?<\/h3><\/dt>\n<dd><p>No. A cached page would otherwise serve everyone the same stale security token. The script fetches a fresh one before submitting, which is the usual cause of forms that quietly stop working after a caching plugin is installed.<\/p><\/dd>\n<dt id=\"where%20are%20my%20entries%20stored%3F\"><h3>Where are my entries stored?<\/h3><\/dt>\n<dd><p>In two dedicated database tables in your own WordPress install. Nothing is sent anywhere else.<\/p><\/dd>\n<dt id=\"can%20i%20stop%20storing%20entries%3F\"><h3>Can I stop storing entries?<\/h3><\/dt>\n<dd><p>Yes. Turn off \"Store submissions in the database\" in the form's Settings tab and the form will only email you.<\/p><\/dd>\n<dt id=\"why%20does%20the%20notification%20come%20from%20my%20own%20domain%20instead%20of%20the%20visitor%3F\"><h3>Why does the notification come from my own domain instead of the visitor?<\/h3><\/dt>\n<dd><p>Because putting the visitor's address in the From header makes your mail fail SPF and DKIM checks, and that is what sends form notifications to spam. Their address goes in Reply-To instead, so hitting reply still reaches them.<\/p><\/dd>\n<dt id=\"who%20can%20manage%20forms%20and%20entries%3F\"><h3>Who can manage forms and entries?<\/h3><\/dt>\n<dd><p>Administrators get everything. Editors can build forms and read entries but cannot change the plugin's site-wide settings.<\/p><\/dd>\n<dt id=\"why%20is%20the%20menu%20called%20kavin%20studios%3F\"><h3>Why is the menu called Kavin Studios?<\/h3><\/dt>\n<dd><p>Every plugin from Kavin Studios shares one menu, so installing several of them adds one entry to your admin sidebar instead of one each. With only this plugin installed, you will find it under Kavin Studios, then Forms.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<li>Form builder with a live preview, fourteen field types and drag or keyboard reordering.<\/li>\n<li>Entry storage with search, status filters, bulk actions and CSV export.<\/li>\n<li>Email notifications with smart tags, plus an optional visitor auto-reply.<\/li>\n<li>Shortcode and block embedding.<\/li>\n<li>Honeypot, time trap and per-visitor rate limiting.<\/li>\n<li>Privacy controls and integration with the WordPress personal data tools.<\/li>\n<\/ul>","raw_excerpt":"Build contact forms with a live drag-and-drop builder. Store every entry, export to CSV, and get notified by email.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/371567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=371567"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/arpansahdev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=371567"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=371567"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=371567"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=371567"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=371567"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=371567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}