{"id":336400,"date":"2026-07-08T15:07:40","date_gmt":"2026-07-08T15:07:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bina-no-code-form-builder-for-contact-form-7\/"},"modified":"2026-08-02T06:26:30","modified_gmt":"2026-08-02T06:26:30","slug":"bina-cf7","status":"publish","type":"plugin","link":"https:\/\/ewe.wordpress.org\/plugins\/bina-cf7\/","author":23528204,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Bina \u2013 No Code Form Builder for Contact Form 7","header_author":"webeantech","header_description":"Turn your existing Contact Form 7 forms into a visual, no-code builder \u2014 without writing shortcodes.","assets_banners_color":"faf8f4","last_updated":"2026-08-02 06:26:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/bina-cf7\/","header_author_uri":"https:\/\/profiles.wordpress.org\/webeantech\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":208,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"webeantech","date":"2026-07-08 15:07:28"},"1.0.1":{"tag":"1.0.1","author":"webeantech","date":"2026-07-09 08:20:40"},"1.0.2":{"tag":"1.0.2","author":"webeantech","date":"2026-07-26 04:22:40"},"1.1.0":{"tag":"1.1.0","author":"webeantech","date":"2026-08-02 06:26:30"}},"upgrade_notice":{"1.1.0":"<p>Adds optional AI form generation with your own provider key, and rebuilds the Appearance panel so every control does what its name says. Your existing forms are untouched until you edit them, and nothing goes to any AI provider until you save a key.<\/p>","1.0.2":"<p>Adds optional, opt-in anonymous usage analytics and a deactivation feedback form, plus an optional, dismissible prompt inviting long-time users to leave a WordPress.org review. Nothing is sent unless you opt in; your form entries never leave your site.<\/p>","1.0.1":"<p>Import accuracy improvements and minor bug fixes.<\/p>","1.0.0":"<p>First public release of Bina, a no-code visual builder for your existing Contact Form 7 forms.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3622973,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3622973,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3622973,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3622973,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3631539,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Bina \\u2013 No Code Form Builder for Contact Form 7\",\"author\":\"webeantech\",\"description\":\"Try Bina: import a Contact Form 7 form, edit it visually with drag and drop, and preview it \\u2014 no shortcodes.\"},\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=bina-builder\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"contact-form-7\"},\"options\":{\"activate\":true},\"progress\":{\"weight\":1,\"caption\":\"Installing Contact Form 7\"}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"bina-cf7\"},\"options\":{\"activate\":true},\"ifAlreadyInstalled\":\"overwrite\",\"progress\":{\"weight\":1,\"caption\":\"Installing Bina\"}}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3622973,"resolution":"1","location":"assets","locale":"","width":1713,"height":1331},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3622973,"resolution":"2","location":"assets","locale":"","width":1711,"height":853},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3622973,"resolution":"3","location":"assets","locale":"","width":1707,"height":1009},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3622973,"resolution":"4","location":"assets","locale":"","width":1714,"height":1169},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3622973,"resolution":"5","location":"assets","locale":"","width":1717,"height":1235},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3622973,"resolution":"6","location":"assets","locale":"","width":1725,"height":1029}},"screenshots":{"1":"The visual builder: drag fields into rows and columns, with a searchable library that lists tags from your CF7 add-ons too.","2":"The forms list: every CF7 form in one place, each with a one-click Migrate to Bina.","3":"Importing an existing Contact Form 7 form into an editable draft.","4":"The field settings panel, with every CF7 option editable: label, name, placeholder, required, and the raw CF7 options.","5":"The front-end preview, showing the form as a visitor will see it.","6":"Entries. Contact Form 7 does not store submissions; Bina does, with search, read and unread states, and CSV export."}},"plugin_section":[],"plugin_tags":[5445,1152,3938,2253,187790],"plugin_category":[42],"plugin_contributors":[270613],"plugin_business_model":[],"class_list":["post-336400","plugin","type-plugin","status-publish","hentry","plugin_tags-cf7","plugin_tags-contact-form-7","plugin_tags-drag-and-drop","plugin_tags-form-builder","plugin_tags-form-entries","plugin_category-contact-forms","plugin_contributors-webeantech","plugin_committers-webeantech","plugin_support_reps-webeantech"],"banners":{"banner":"https:\/\/ps.w.org\/bina-cf7\/assets\/banner-772x250.png?rev=3622973","banner_2x":"https:\/\/ps.w.org\/bina-cf7\/assets\/banner-1544x500.png?rev=3622973","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bina-cf7\/assets\/icon-128x128.gif?rev=3622973","icon_2x":"https:\/\/ps.w.org\/bina-cf7\/assets\/icon-256x256.gif?rev=3622973","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bina-cf7\/assets\/screenshot-1.png?rev=3622973","caption":"The visual builder: drag fields into rows and columns, with a searchable library that lists tags from your CF7 add-ons too."},{"src":"https:\/\/ps.w.org\/bina-cf7\/assets\/screenshot-2.png?rev=3622973","caption":"The forms list: every CF7 form in one place, each with a one-click Migrate to Bina."},{"src":"https:\/\/ps.w.org\/bina-cf7\/assets\/screenshot-3.png?rev=3622973","caption":"Importing an existing Contact Form 7 form into an editable draft."},{"src":"https:\/\/ps.w.org\/bina-cf7\/assets\/screenshot-4.png?rev=3622973","caption":"The field settings panel, with every CF7 option editable: label, name, placeholder, required, and the raw CF7 options."},{"src":"https:\/\/ps.w.org\/bina-cf7\/assets\/screenshot-5.png?rev=3622973","caption":"The front-end preview, showing the form as a visitor will see it."},{"src":"https:\/\/ps.w.org\/bina-cf7\/assets\/screenshot-6.png?rev=3622973","caption":"Entries. Contact Form 7 does not store submissions; Bina does, with search, read and unread states, and CSV export."}],"raw_content":"<!--section=description-->\n<p>Bina turns Contact Form 7 into a visual form builder. You do not switch plugins and you do not rebuild anything.<\/p>\n\n<p>Import an existing CF7 form with one click, edit it by dragging fields around, and push it back live when you are happy. You never touch shortcode syntax or markup.<\/p>\n\n<p>Contact Form 7 does not store submissions anywhere. Bina does, in your own WordPress dashboard, where you can search them, mark them read, and export the lot to CSV.<\/p>\n\n<p>Your forms stay Contact Form 7 forms. Bina writes ordinary CF7 markup, so your mail settings, your integrations and your CF7 add-ons carry on working exactly as before.<\/p>\n\n<h4>Why Bina<\/h4>\n\n<p>CF7 still handles submission, validation and mail, so there is nothing to migrate and nothing to be locked into. Deactivate Bina whenever you like and your forms keep working as normal Contact Form 7 forms.<\/p>\n\n<p>Imports arrive as a draft. Your live form changes only when you push it, you get a preview first, and any push can be rolled back with one click for the next 24 hours.<\/p>\n\n<p>Every submission is stored in your own database rather than only emailed out.<\/p>\n\n<p>Bina sends nothing off your site unless you switch it on: anonymous usage statistics, or the AI generator with your own provider key. Your form entries and your visitors' personal data stay on your server in every case.<\/p>\n\n<p>The front end weighs under 15KB, and loads only on the forms Bina manages.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>One-click import of any existing Contact Form 7 form. Nothing changes until you push.<\/li>\n<li>A drag-and-drop builder with rows and columns you can resize, a hover toolbar for move, duplicate and delete, keyboard shortcuts, and undo\/redo.<\/li>\n<li>Entries saved in your dashboard, with read and unread states, search, and CSV export in one click.<\/li>\n<li>Every CF7 field type: text, email, textarea, dropdown, checkboxes, radio, file upload, date, number, URL, tel, hidden, acceptance, quiz. Tags from CF7 add-ons are preserved and keep working.<\/li>\n<li>Every CF7 option too. Min and max, placeholder, autocomplete, readonly, akismet, custom classes and ids all round-trip without loss.<\/li>\n<li>Edits saved as a draft, with conflict detection if somebody edited the form in the CF7 admin meanwhile, and a 24-hour rollback after every push.<\/li>\n<li>Autosave, so your work survives a crash or an accidentally closed tab.<\/li>\n<li>A front-end preview that shows the form exactly as a visitor will see it.<\/li>\n<li>Lightweight, low-specificity styling applied only to Bina-managed forms. Your other CF7 forms are never restyled, and one filter turns it off entirely.<\/li>\n<li>Per-form appearance controls for colors, spacing and fonts, with a live preview while you edit. The styling is scoped to that one form and the layout stays standard CF7.<\/li>\n<li>Optional AI generation: write \"job application with CV upload\", read what comes back, ask for changes, then create the form. It uses your own API key for OpenAI, Anthropic or Google Gemini, and does nothing at all until you add one.<\/li>\n<li>A code view, for when you want to read the CF7 markup Bina wrote.<\/li>\n<\/ul>\n\n<h4>Who is Bina for<\/h4>\n\n<p>Agencies and freelancers looking after Contact Form 7 on a lot of client sites, who would rather not hand-edit shortcodes any more.<\/p>\n\n<p>Site owners who trust CF7 but want a proper editor and somewhere to read what people sent.<\/p>\n\n<p>Anyone who has lost an enquiry because the form only ever sent an email.<\/p>\n\n<h4>Getting started<\/h4>\n\n<ol>\n<li>Install Contact Form 7 (free) and activate it. Bina builds on top of it.<\/li>\n<li>Install Bina from the Plugins screen under Add New, searching for \"Bina\", or upload the plugin ZIP. Activate it.<\/li>\n<li>Open the new Bina menu, pick any Contact Form 7 form, and click Migrate to Bina. Or start a new form from scratch.<\/li>\n<li>Edit it, preview it, then press Push to Live. Your live form does not change until you push, and you can roll any push back within 24 hours.<\/li>\n<\/ol>\n\n<h4>How Bina treats your existing forms<\/h4>\n\n<p>Pushing a form live regenerates its markup. Your fields, names, options and mail settings are kept, but the HTML around them is rebuilt in Bina's layout. Use the preview before you push, and remember the 24-hour rollback is there if something looks wrong.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>Contact Form 7 (free), installed and active.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20bina%20free%3F\"><h3>Is Bina free?<\/h3><\/dt>\n<dd><p>Yes. This version is completely free and includes the whole visual builder, one-click Contact Form 7 import, entry storage with CSV export, the front-end preview and the styling. There will always be a capable free version.<\/p><\/dd>\n<dt id=\"does%20bina%20replace%20contact%20form%207%3F\"><h3>Does Bina replace Contact Form 7?<\/h3><\/dt>\n<dd><p>No. Bina is a builder that sits on top of it. CF7 keeps handling submission, validation and mail. Deactivate Bina and your forms carry on as normal CF7 forms.<\/p><\/dd>\n<dt id=\"will%20importing%20a%20form%20break%20it%3F\"><h3>Will importing a form break it?<\/h3><\/dt>\n<dd><p>Importing does not touch your live form. It creates a draft. The live form changes when you press Push to Live, and that is when Bina regenerates the markup: fields and options are kept, custom HTML wrappers are rebuilt into Bina's layout. Preview first, and use the 24-hour rollback if anything looks wrong.<\/p><\/dd>\n<dt id=\"does%20bina%20work%20with%20my%20theme%20and%20page%20builder%3F\"><h3>Does Bina work with my theme and page builder?<\/h3><\/dt>\n<dd><p>Yes. Bina outputs standard Contact Form 7 markup, so your forms work anywhere CF7 works: shortcodes, the block editor, and builders like Elementor and Divi. Bina's optional styling is light and only touches the forms it manages.<\/p><\/dd>\n<dt id=\"does%20bina%20support%20third-party%20cf7%20field%20tags%3F\"><h3>Does Bina support third-party CF7 field tags?<\/h3><\/dt>\n<dd><p>Yes. Tags from CF7 add-ons are imported, kept intact, and written back exactly as they were on push. You can still edit their name, label, required flag and raw options in the builder.<\/p><\/dd>\n<dt id=\"will%20bina%20restyle%20my%20existing%20forms%3F\"><h3>Will Bina restyle my existing forms?<\/h3><\/dt>\n<dd><p>No. Bina's front-end styling only applies to forms Bina manages. Your other CF7 forms keep the look they have. You can also switch the styles off completely with the <code>bina_load_form_styles<\/code> filter.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20mail%20settings%3F\"><h3>What happens to my mail settings?<\/h3><\/dt>\n<dd><p>They are kept. Bina round-trips CF7's mail, mail (2) and messages settings on import and on push. You still edit them in the CF7 admin tabs you already know.<\/p><\/dd>\n<dt id=\"what%20data%20does%20bina%20send%20externally%3F\"><h3>What data does Bina send externally?<\/h3><\/dt>\n<dd><p>By default, nothing. Two optional features can send something, and only once you have switched them on:<\/p>\n\n<ol>\n<li>Anonymous, non-personal usage data (WordPress, PHP and Contact Form 7 versions, the plugin version, and which features get used), if you opt in. You can opt out again at any time.<\/li>\n<li>The AI form generator, if an administrator saves an API key for an AI provider. Only the description you type is sent, from your own server to that provider.<\/li>\n<\/ol>\n\n<p>Your form entries and your visitors' data are never sent anywhere by either feature.<\/p><\/dd>\n<dt id=\"how%20does%20the%20ai%20form%20generator%20work%3F\"><h3>How does the AI form generator work?<\/h3><\/dt>\n<dd><p>It does nothing until an administrator opens Bina, picks a provider (OpenAI, Anthropic or Google Gemini), and saves an API key from their own account. Nothing is sent before that, and deleting the key switches the feature off again.<\/p>\n\n<p>When you generate a form, your server sends the description you typed straight to the provider you chose, using your key. If you ask for changes, the working form structure goes along so the model can edit it. That is the whole of what is sent: no entries, no visitor data, no site content, and nothing passing through our servers. Your usage is billed by the provider you picked and governed by their terms. See the privacy policies for OpenAI (https:\/\/openai.com\/policies\/privacy-policy\/), Anthropic (https:\/\/www.anthropic.com\/legal\/privacy) and Google (https:\/\/policies.google.com\/privacy).<\/p>\n\n<p>Your API key is stored encrypted in your own database and is never shown again once saved. If you would rather the feature did not exist at all, define <code>BINA_DISABLE_AI<\/code> in wp-config.php and it is gone.<\/p><\/dd>\n<dt id=\"which%20third-party%20service%20powers%20the%20optional%20analytics%3F\"><h3>Which third-party service powers the optional analytics?<\/h3><\/dt>\n<dd><p>Freemius, Inc. The opt-in usage analytics and the deactivation feedback form both go through them. Data is sent only if you opt in, and only the anonymous, non-personal information described above. It never includes your form entries or your visitors' data, and nothing is sent if you skip the opt-in or opt out later. See the Freemius Terms of Service (https:\/\/freemius.com\/terms\/) and Privacy Policy (https:\/\/freemius.com\/privacy\/).<\/p><\/dd>\n<dt id=\"where%20are%20entries%20stored%2C%20and%20is%20it%20gdpr-friendly%3F\"><h3>Where are entries stored, and is it GDPR-friendly?<\/h3><\/dt>\n<dd><p>In your own WordPress database, nowhere else. Bina hooks into WordPress's privacy tools, so personal data in entries is included in the Export Personal Data and Erase Personal Data requests under Tools. You can also switch off entry storage for any form with the <code>bina_store_entry<\/code> filter.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20entries%20if%20i%20delete%20bina%3F\"><h3>What happens to my entries if I delete Bina?<\/h3><\/dt>\n<dd><p>Deactivating changes nothing: your entries stay in the database and your forms keep working as normal Contact Form 7 forms. Deleting the plugin is different. WordPress runs Bina's cleanup, which drops the entries table along with Bina's own settings and drafts. Export your entries to CSV first if you want to keep them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Describe the form you want and let your AI provider draft it. Read the preview, ask for changes, then create it. The feature stays off until an administrator saves an API key for OpenAI, Anthropic or Google Gemini. Only your description is sent; entries and visitor data are not.<\/li>\n<li>The generator asks a question or two rather than inventing details nobody gave it, and every form it produces is validated before you can create it. It asks them once, and you can skip any of them and let it decide.<\/li>\n<li>It also builds only what a form can really do. Ask for a checkout and you get the order details, not a card field that takes no card, and it will not offer you something in a question that it could not then build.<\/li>\n<li>Ask for a field by name and you get that field, with the type and options you gave.<\/li>\n<li>Appearance now does what it says. Field height resizes a field, border width and corner radius take a value per side or corner, and Fields and the Submit button have Normal, Hover and Focus tabs.<\/li>\n<li>Required fields show a * next to the label, and you can recolor it or hide it. Existing forms pick this up after the update.<\/li>\n<li>Added controls for the text beside checkboxes and radio buttons, and for the error message under an invalid field.<\/li>\n<li>Every generation shows what it cost in tokens, so nothing about the bill on your own provider account is a surprise.<\/li>\n<li>Bina asks each model for the least thinking it offers, which is several times cheaper and faster for the same form. There is a setting to hand that decision back to the model.<\/li>\n<li>When a provider refuses a request, you see its own explanation, such as \"your credit balance is too low\", instead of a status code that sends you off to check a key that was fine.<\/li>\n<li>Fixed the Label controls doing nothing on a published form, and the preview page ignoring per-form styling.<\/li>\n<li>Fixed newly generated forms claiming they had been edited outside Bina when they had not.<\/li>\n<li>The builder no longer shows other plugins' notices over the form you are working on.<\/li>\n<li>New Bina Settings screen, where you pick the AI provider, save the key, choose a model, and test the connection before you rely on it.<\/li>\n<li>Fixed generated markup carrying tags Contact Form 7 does not recognise, and acceptance now renders inline where it belongs.<\/li>\n<li>Renamed several controls in plain language, with a line of explanation where the name alone was not enough.<\/li>\n<li>Entries: CSV export now respects the search and status filter you have applied, dates show in your site's timezone, and a form you have not imported yet shows a disabled Preview with a reason instead of a broken link.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added optional, opt-in anonymous usage analytics and a deactivation feedback form (powered by Freemius). No data is sent unless you opt in; form entries never leave your site.<\/li>\n<li>Added a friendly, one-time prompt (shown after a week of use) inviting happy users to leave a WordPress.org review. Fully optional and dismissible.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved import accuracy for theme-styled and placeholder-based forms.<\/li>\n<li>Added detection for forms edited directly in Contact Form 7, with a lock and \"Edit with Bina\" shortcut in the CF7 editor.<\/li>\n<li>Minor bug fixes and interface polish.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release: visual drag-and-drop builder for Contact Form 7, one-click import, draft\/push workflow with conflict detection and 24-hour rollback, autosave with crash recovery, entry storage with search and CSV export, GDPR export\/erase integration, front-end preview, scoped form styling, and full CF7 option round-trip.<\/li>\n<\/ul>","raw_excerpt":"Keep using Contact Form 7, without writing shortcodes. A visual, no-code drag-and-drop builder for your existing CF7 forms.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=336400"}],"author":[{"embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webeantech"}],"wp:attachment":[{"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336400"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336400"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336400"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336400"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336400"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ewe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}