=== AFB – Auto Form Builder: Drag & Drop Contact Forms, Multi-Step Forms, Conditional Logic & AI ===
Contributors: alighasemirad
Tags: form builder, contact form, forms, conditional logic, ai form builder
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.5.0
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free drag-and-drop form builder: contact, multi-step and payment forms, calculations, conditional logic and optional AI. No code, no monthly fees.

== Description ==

**Auto Form Builder (AFB) is the free WordPress form builder that gives you what other plugins charge for.** Build contact forms, multi-step forms, surveys, file-upload forms, order and payment forms with live calculated totals, and forms with conditional logic — all with drag and drop, no code, and no monthly fees. Build a form by hand or let AI build it for you, and embed your forms on any website, WordPress or not.

There is no premium tier: the "Add-Ons" screen is simply optional free modules (Popups, Form Analytics, spam protection, Slack, User Registration, Entry Tags, Stripe Payments) you switch on in one click. Stripe Payments adds no transaction fee of its own: you pay only Stripe's standard processing fees. The only paid extras are the optional AI service, which is off by default, and a separate Google Sheets integration plugin.

[Watch the full overview video](https://www.youtube.com/watch?v=MpsZfFIvotE) · [See all features](https://autoformbuilder.com/features/) · [Support](https://autoformbuilder.com/support/)

= Why Auto Form Builder? =

[Multi-step forms](https://autoformbuilder.com/features/multi-step-forms/), [conditional logic](https://autoformbuilder.com/features/conditional-logic/), [surveys](https://autoformbuilder.com/features/surveys/), form analytics, [spam protection](https://autoformbuilder.com/features/spam-protection/), calculated totals, Stripe payments, webhooks, Slack notifications, import/export, and full visual customization — all free. Privacy-first by design: your submissions stay on your own site, and the plugin makes no external calls unless you enable a feature that needs one.

= Drag & Drop Form Builder =

The visual [drag-and-drop builder](https://autoformbuilder.com/features/drag-drop-builder/) lets you add and reorder fields, undo/redo, preview on desktop, tablet, and mobile, and copy a shortcode to embed anywhere. Start from a template (Contact, Feedback, Support, Newsletter, Event Registration), a blank canvas, or describe your form and let AI build it.

= 15+ Field Types =

Text, Textarea, Email, Phone, Number, Date, Time, Month & Year, Checkbox, Radio, Dropdown, Name, Address, File Upload, Signature, Color Picker, Calculation, an HTML content block, and Page Break (multi-step) — plus four survey fields: Tabular Survey (Likert grid), Star Rating, NPS, and Opinion Scale. Browse the full [field reference](https://autoformbuilder.com/fields/).

* **Text** — length limits, pattern validation, password mode, text transform, and hidden-field mode.
* **Email** — validation, a confirmation field, allowed domains, and use as the confirmation-email recipient.
* **Number** — min/max, step, money, percentage, or decimal display, and an optional slider.
* **Checkbox** — a single consent box or a group with minimum/maximum selections.
* **File Upload** — multiple files, drag-and-drop, type and size limits, and previews.
* **Name & Address** — separate parts with per-part required toggles and URL prefill.
* **Calculation** — a live total from other fields, with decimal places, a currency prefix or suffix, and custom separators.
* Most fields also support icons, help text, conditional logic, auto-fill, and custom CSS classes.

= Conditional Logic =

[Show or hide any field](https://autoformbuilder.com/features/conditional-logic/) based on earlier answers with AND/OR conditions. Logic can also change the success message or redirect, and reroute, change, or skip notification emails.

= Calculations =

Show live totals, quotes, scores, or fees using +, −, ×, ÷, brackets, and min, max, round, abs, ceil, and floor. The result is recalculated on your server on submit, so visitors cannot change it, and a Calculation field can set the amount of a Stripe payment.

= Multi-Step Forms =

Split long forms with Page Break fields, step titles, a progress bar, and answer-based branching that skips steps that don't apply.

= Surveys & Visual Results =

Tabular Survey (Likert grid), Star Rating, NPS (0–10), and Opinion Scale fields, with per-question charts, an automatic NPS score, and a 30-day trend.

= Signature Field =

Visitors sign with a mouse, finger, or stylus; the signature is stored securely and shown in the entry details — ideal for consent forms and agreements.

= Full Visual Customization =

Theme presets, reusable saved themes, header image, colors, fonts, layout, and field and button styling, with a live preview across devices.

= Partial Entries =

In-progress answers are saved even when nobody presses Submit, and abandoned entries are deleted after a retention period you choose (1–365 days).

= Submission Management =

An inbox with Unread, Starred, Spam, and Trash tabs, search, filters, bulk actions, printing, and CSV or JSON export. See [submission management](https://autoformbuilder.com/features/submission-management/).

= Email Notifications =

Per-form admin and confirmation emails with your own recipients, subject, and placeholders such as {submission_data}, in HTML or plain text.

= Embed on Any Website =

Every form has an [embed code for any site](https://autoformbuilder.com/features/embed-forms-anywhere/), including non-WordPress platforms and page builders such as WP Bakery, Brizy, and Elementor. The embed keeps your design, resizes itself, and is isolated from the host theme. Also available as a Gutenberg block.

= Prefill and Pass Answers On =

Prefill fields from URL parameters, and add {field} tags to a redirect URL — for example https://example.com/book?email={email} — to hand answers on to a payment link, booking page, or CRM. Answers are encoded safely and can never change which website the visitor is sent to.

= Free Add-Ons =

Switch these on under Forms → Add-Ons:

* **Stripe Payments** — take payments with Stripe Checkout using your own Stripe account. Charge a fixed price, an amount the visitor enters, or a Calculation result; payment status and refunds are tracked for you, and card details are entered on Stripe's page, never on your site. **No added transaction fee** — you pay only Stripe's standard processing fees.
* **Popup Forms** — modal, slide-in, sticky bar, full-screen, welcome mat, or floating button, triggered by delay, scroll, exit intent, or click.
* **Form Analytics** — views, submissions, and conversion rates per form, with a 30-day chart.
* **Spam Protection** — Google reCAPTCHA and Cloudflare Turnstile.
* **User Registration & Login** — create accounts from any form (never as Administrator), send a welcome email, and add a login form with the [auto_form_builder_login] shortcode.
* **Slack Notifications** — post new submissions to your Slack channels.
* **Entry Tags** — color-coded tags and quick filters to organize submissions like a lightweight CRM.

= Webhooks, Import & Export =

Send submissions to Zapier, Make, GoHighLevel, or any endpoint, with optional HMAC-SHA256 signing. Export and import forms and entries for backup or moving between sites.

= Auto Form CRM Integration =

AFB integrates natively with Auto Form CRM, a premium [WordPress CRM](https://autoformcrm.com/) with contacts, a deal pipeline, automation, email campaigns, scheduling, and live chat, so your submissions become managed leads.

= AI Features (optional) =

Two optional AI features, off by default:

* AI Assistant — build a form from a description or document, generate conditional logic, summarize submissions, draft replies, and chat with an admin assistant that can create forms.
* AI Conversation — turn any form into a friendly chat, with optional appointment booking.

These run on AIDA, our AI service at [autoformcrm.com](https://autoformcrm.com/). A free AIDA account includes trial credits; after that, AI usage needs one-time credit packs, while every non-AI feature stays free. See "External Services" for exactly what is sent.

== Installation ==

1. Go to Plugins > Add New in your WordPress admin.
2. Search for "Auto Form Builder".
3. Click Install Now, then Activate.
4. Open Auto Form Builder in your admin menu.
5. Click Create New Form to build your first form.
6. Copy the shortcode and paste it into any page or post.

== Frequently Asked Questions ==

= Is this plugin really free? =

Yes. The drag-and-drop builder and every non-AI feature — multi-step forms, conditional logic, surveys, calculations, Stripe payments, form analytics, spam protection, popups, user registration, submission management, webhooks, Slack notifications, import/export, and full visual customization — are 100% free, with nothing essential locked away. The only paid extras are the optional AI service (and only after its free trial credits) and a separate Google Sheets integration plugin.

= Do I need to know how to code? =

No. The drag-and-drop builder needs zero coding. Building, styling, and embedding are all handled through the visual interface.

= What field types are available? =

Text, Textarea, Email, Phone, Number, Date, Time, Month & Year, Checkbox, Radio, Dropdown, Name, Address, File Upload, Signature, Color Picker, Calculation, an HTML content block, Page Break (multi-step), and four survey fields: Tabular Survey (Likert grid), Star Rating, NPS, and Opinion Scale. See the full [field reference](https://autoformbuilder.com/fields/).

= Can I add conditional logic? =

Yes. Every field supports show/hide logic with AND/OR conditions, and logic can also change your confirmation message, redirect, or which email is sent.

= Can I create multi-step forms? =

Yes. Enable multi-step mode and add Page Break fields where each step starts. You get step titles, custom button labels, progress bar styles, and answer-based branching that skips or jumps steps so visitors only see what applies.

= Can I embed my form on another website? =

Yes. Every form has a ready-made embed code that works on any site, including non-WordPress platforms and page builders like WP Bakery, Brizy, and Elementor. The embed keeps your design, resizes automatically, and stays isolated from the host theme. You can also share a direct link to the form as its own page.

= Can I accept payments? =

Yes, with the free Stripe Payments add-on (off by default; enable it under Forms → Add-Ons). Connect your own Stripe account and visitors pay on Stripe Checkout after submitting. The plugin adds no transaction fee or percentage — you pay only Stripe's standard processing fees.

= Can I show my form in a popup? =

Yes, free and built in — no separate popup plugin. Display any form as a modal, slide-in, sticky bar, full-screen, welcome mat, or floating launcher, and control which pages it appears on, how it triggers, how often it shows, and what happens after submit.

= Can visitors sign my forms with an e-signature? =

Yes. Add the Signature field and visitors can sign with a mouse, finger, or stylus. The signature is stored securely and shown as an image in the entry details, on WordPress pages and embedded forms.

= Can users register and log in through my forms? =

Yes, free and built in. Pick which form creates accounts and map its fields to the account email, username, password, and name. Choose the new role, customize the welcome email, and add an independent login form (with lost password and reset) to any page via the [auto_form_builder_login] shortcode — no default WordPress login screen.

= Can I protect my forms from spam? =

Yes. Google reCAPTCHA and Cloudflare Turnstile are both included free — use either or both on any form.

= Can I manage leads from my forms in a CRM? =

Yes. Auto Form Builder integrates natively with Auto Form CRM, a premium WordPress CRM with contact management, a deal pipeline, automation, email campaigns, meeting scheduling, and live chat. Capture with Auto Form Builder, then nurture and close in Auto Form CRM. Learn more at [autoformcrm.com](https://autoformcrm.com/).

= Do the AI features cost money? =

The core builder is free and always will be, with no account required. The optional AI features run on our AIDA service: a free AIDA account comes with free trial credits, and after those are used, continued AI usage needs one-time credit packs bought on autoformcrm.com. So AI is a paid service after the free trial, while everything else stays free. Your credit balance is always visible in the plugin.

= What data is sent to external services when I use the AI features? =

Only when you actually use an AI feature, and only the content it needs: the form description or uploaded document when building a form; the submission content when you summarize, reply, or "ask across submissions," or when the admin assistant answers a question; the messages you type into the admin assistant; and — only if you enable AI Conversation on a public form — the chat messages visitors type. Requests are authenticated with your AIDA token (kept encrypted on your server) and processed by our AI provider, Anthropic. Nothing is sent unless you opt in and use the feature. See "External Services" for full details.

= Can I use the plugin without the AI features? =

Yes. Auto Form Builder is fully functional without any AI. The AI features are off by default — if you never opt in, the plugin never contacts AIDA, and every other feature works exactly as before.

= Where can I get support? =

Visit [autoformbuilder.com/support](https://autoformbuilder.com/support/) for documentation and support.

== Screenshots ==

1. Dashboard — KPI cards, 14-day activity chart, recent submissions, top forms, and module status
2. Forms list — view, edit, duplicate, and manage all forms with shortcodes
3. Create New Form — choose from pre-built templates or start with a blank canvas
4. Form Builder — drag-and-drop editor with conditional logic per field
5. Customize Tab — theme presets, header image, colors, fonts, and live mobile preview
6. Form Settings — submission behavior, success message, and email notifications
7. Submission Management — inbox-style with search, filter, and spam protection
8. Plugin Settings — general settings, import/export, webhooks, and system status
9. Add-Ons — free built-in modules: Form Analytics, reCAPTCHA, Cloudflare Turnstile
10. Help & Support — built-in quick start guide and full field reference
11. Form Analytics — views, submissions, conversion rates, and per-form performance
12. Analytics Chart — 30-day activity chart with daily breakdown and data management

== External Services ==

Auto Form Builder is privacy-first. By default the plugin does **not** contact any external service. Every service below is off by default and only runs after you actively opt in.

**AIDA — AI Assistant & AI Conversation (optional AI features, off by default)**

* Service & provider: AIDA, the AI service that powers the optional AI features, by Auto Form Builder / Auto Form CRM (https://autoformcrm.com/). Requests are processed by a third-party AI provider, Anthropic.
* When contacted: **only** after an administrator enables an AI feature, connects an AIDA account, and then uses it. Otherwise nothing is ever sent, and the core builder never contacts AIDA.
* Account & cost: the AI features need a free AIDA account (with free trial credits); continued use afterward requires one-time credit packs from autoformcrm.com. The core plugin and all non-AI features stay free and need no account. Your credit balance is shown in the plugin, and purchases always open autoformcrm.com in a new tab (no payment inside the plugin).
* Data sent (only for the action you trigger): the form description and any document you upload when building a form; the submission content when you request a summary, a suggested reply, or an "ask across submissions" answer, or when the admin assistant answers about your forms/submissions; the messages you type into the admin assistant; and, only if you enable AI Conversation on a public form, the chat messages visitors type. Your AIDA token is sent server-side only to authenticate, stored encrypted, and never exposed to the browser.
* Data NOT sent: nothing for any AI feature you do not use, no form/submission content beyond the action you trigger, and never passwords handled by WordPress core.
* Purpose: to provide AI form building, submission summaries and replies, the admin assistant, and conversational forms.
* Terms / privacy: https://autoformcrm.com/terms and https://autoformcrm.com/privacy (Auto Form CRM / AIDA); Anthropic — https://www.anthropic.com/legal/commercial-terms and https://www.anthropic.com/legal/privacy.

**Anonymous Deactivation Feedback (opt-in, one-time)**

* Service & provider: Auto Form Builder feedback endpoint, https://autoformcrm.com/api/v1/plugin-feedback, operated by Auto Form CRM (https://autoformcrm.com/).
* When contacted: **only** when an administrator clicks "Submit & Deactivate" in the optional dialog shown on deactivation. Skipping, closing, or dismissing it sends nothing.
* Data sent: the reason you selected, an optional explanation (max 1000 characters), your WordPress, PHP and plugin versions, and your site locale. The exact JSON payload is shown in the dialog before anything is sent.
* Data NOT sent: site URL, administrator name or email, user ID, IP address, or any form/submission data (the request User-Agent is neutralized so it carries no site URL).
* Purpose: to understand why users deactivate the plugin and prioritise improvements.
* Terms / privacy: https://autoformcrm.com/terms and https://autoformcrm.com/privacy

**Anonymous Usage Data (opt-in, off by default)**

* Service & provider: Auto Form Builder telemetry endpoint, https://autoformcrm.com/api/v1/plugin-telemetry, operated by Auto Form CRM (https://autoformcrm.com/).
* When contacted: **only** if you enable "Help improve Auto Form Builder by sending anonymous usage data" (in onboarding or Settings → General) — then a one-time "install" event on opt-in and an "uninstall" event on deletion. Turning it off stops all further requests.
* Data sent: a locally generated anonymous site ID (not derived from your URL), the plugin / WordPress / PHP / MySQL versions, the plugin version at install, your site locale, whether the site is multisite, days since install, approximate form and submission counts as ranges (never exact), active modules, and whether onboarding was completed. The full list is shown next to the opt-in checkbox.
* Data NOT sent: site URL, administrator name or email, user ID, IP address, or any form/submission content.
* Purpose: to measure the uninstall rate and which environments and usage levels correlate with leaving, so we can prioritise improvements.
* Terms / privacy: https://autoformcrm.com/terms and https://autoformcrm.com/privacy

**Slack Notifications (built-in, off by default)**

* Service & provider: Slack Incoming Webhooks, Slack Technologies, LLC (https://slack.com/). Only hooks.slack.com URLs are accepted; no other host is ever contacted.
* When contacted: **only** after you set a webhook URL you created in your own Slack workspace and enable it for a form — then on each submission of that form and when you click "Send Test".
* Data sent: the form title and your site name; the values a visitor submitted only if you also enable "Include answers" for that form. Passwords, CAPTCHA values, file contents, and server file paths are never sent; uploaded files appear by filename only.
* Purpose: to notify your team in Slack about new form submissions in real time.
* Terms / privacy: https://slack.com/terms-of-service and https://slack.com/trust/privacy/privacy-policy

**Stripe Payments (built-in, off by default)**

* Service & provider: Stripe payment processing, Stripe, Inc. (https://stripe.com/). The plugin contacts only https://api.stripe.com, directly from your server, using your own Stripe account's API key. No Stripe software library is bundled.
* When contacted: **only** after you enable the Stripe Payments add-on and connect a Stripe API key — then (a) when you connect, to verify the key and read your account name and country, (b) once per connection to create (and on disconnect to delete) a webhook endpoint in your Stripe account, (c) about every six hours while you view the Stripe Payments settings page, to re-verify the stored key, and, once payment flows are enabled for a form, (d) when a visitor submits that form, to create a Stripe Checkout session, (e) when the visitor returns from Stripe Checkout, to confirm the payment's outcome, (f) when Stripe notifies your site of a payment event, to read the payment's current state from Stripe, and (g) about every ten minutes through WP-Cron, only while payments are still awaiting an outcome, to check those payments with Stripe. Stripe, in turn, posts signed webhook notifications to your site; each one is signature-verified before it is processed.
* Data sent: your API key (server-side only, as the request credential; stored encrypted and never shown in the browser); your site's webhook URL and site name when creating the endpoint; and, for payment flows, the amount, currency, the product name shown on the Stripe payment page (the form title unless you set one), the addresses of your site's pages the visitor returns to after paying or cancelling, the submission and form identifiers needed to match the payment to the entry, and — only if you choose a field to pre-fill it — the payer's email address. Card details are entered on Stripe's hosted checkout page and never touch your site.
* Data NOT sent: nothing while the add-on is off or no key is connected; no form answers other than the amount and email fields you map to the payment; and never passwords handled by WordPress core.
* Fees: the plugin adds **no** application fee or percentage of any kind. Payments go directly to your own Stripe account and you pay only Stripe's own processing fees.
* Purpose: to let your forms accept payments through your own Stripe account.
* Terms / privacy: https://stripe.com/legal/ssa and https://stripe.com/privacy

== Changelog ==

= 1.5.0 =
* New: Calculation field — show a live total worked out from other fields as the visitor fills in the form, for example a price multiplied by a quantity plus a fee. Formulas can add, subtract, multiply and divide, use brackets, and use min, max, round, abs, ceil and floor. Choose the number of decimal places, a prefix or suffix such as a currency symbol, and the thousands and decimal separators. The result is calculated again on the server when the form is submitted, so visitors cannot change it. It appears formatted in notification and confirmation emails, Slack notifications and entry details, and as a plain number in CSV exports. The builder will not save formulas that refer to each other in a loop.
* New: Stripe Payments add-on (free, off by default; enable it under Forms → Add-Ons) — take payments through any form with Stripe Checkout, using your own Stripe account. The amount can be a fixed price, a number the visitor enters (with optional minimum and maximum), or the result of a Calculation field. Payment status is shown on the Submissions screen (a Payment column, a payment filter and a payment panel on each entry) and in CSV exports, and refunds are tracked automatically. Notification emails for a payment form are sent once Stripe confirms the payment, and can include {payment_amount}, {payment_currency}, {payment_status} and {payment_id}. The webhook is set up in your Stripe account for you, and test and live modes are supported. The plugin adds no fee or percentage: payments go straight to your Stripe account and you pay only Stripe's standard processing fees. See "External Services" for exactly what is sent to Stripe.
* New: Field tags in redirect URLs — add answers to the redirect address with {field} tags, for example https://example.com/book?email={email}, to pass them on to a payment link, booking page or CRM. An "Insert field" picker next to the Redirect URL box adds the tags for you. Answers are encoded safely and can never change which website the visitor is sent to. Works for the default redirect and for conditional confirmation rules.
* New: Saving a redirect URL now warns you when a tag does not match a field on the form, when it names a file upload or signature (these are never put in a URL), or when it uses a parameter name WordPress reserves on your own site, such as ?name= (use ?fullname= instead). A redirect URL that cannot be saved no longer erases the one saved before.
* Changed: Clearer wording for conditional confirmation rules. The default action is now labelled as applying when no confirmation rule matches, and each rule explains that it replaces the default action entirely.
* Changed: Deleting a form now opens a confirmation page that shows how many submissions the form has. Submissions are kept by default, or you can move them to Trash in the same step. Settings that add-ons stored for the deleted form (Form Analytics data, Google Sheets mapping, AI Conversation settings and the User Registration form choice) are removed with it.
* Changed: The success message text is no longer added to the page address after a submission; the page always shows the message saved in the form settings.
* Fixed: Uploaded file details, including the file's location on the server, no longer appear in notification and confirmation emails; files are listed by name. The duplicate File row in emails is gone, Checkbox, Radio and Drop-down answers show their option labels instead of their stored values, and signatures appear as a short note pointing to the submission details.
* Fixed: Side-by-side fields (half, third and two-thirds width) now line up along their top edge instead of shifting when one of them has help text or a taller input such as File Upload.
* Fixed: The Time field's help text no longer appears twice.
* Fixed: Opening a submission whose form was deleted no longer causes an error. Such submissions are labelled "Deleted form #ID" on the Submissions screen and in exports, and can still be exported on their own.
* Fixed: Form Analytics no longer counts views for a shortcode whose form was deleted.
* Fixed: A form set to "Redirect" with no redirect URL now shows its success message instead of sending visitors to the site's home page.
* Security: Several hardening improvements to file uploads, redirects after submission, outgoing webhooks and spam protection. Updating is recommended.

= 1.4.9 =
* Fixed: Admin notification emails set to go to more than one address could be silently dropped — a single invalid or rejected address could stop every recipient from receiving the email. Notifications are now sent as one email per recipient, so one bad or rejected address can no longer block the others. This applies to the main Notification Email and to the recipients of conditional email rules.
* New: Notification recipients are now entered as a list — one address per row with an "Add New" button — instead of a single comma-separated box, both for the main Notification Email and for each conditional email rule. Existing recipients are converted to the new list automatically when you update; nothing needs to be re-entered.
* New: Failed form emails are now recorded. The most recent failures (when, which form, admin notification or user confirmation, the recipient and the reason) are listed under Settings → System Status → Email Delivery Failures, with a button to clear the list.
* New: Saving a form now warns you when a notification address is not a valid email address (it is removed) or contained hidden or unsupported characters (the cleaned address that was saved is shown), instead of the address being dropped without notice.
* New: When a form has conditional email rules, a new per-form option controls the main Notification Email: "Only send it when no rule matches" (the default, and how earlier versions behaved) or "Always send it (unless a rule says skip)". When a rule and the main Notification Email go to the same addresses, only one email is sent.
* New: "How to Display Values" option for the Date field — Plain (for example 2024-03-25), Friendly (Mar 25, 2024) or Both. The default is Plain, which fixes the selected date appearing twice on published forms. This replaces the former "Show date preview chip" checkbox; the stored value stays YYYY-MM-DD in every mode.
* New: "Field icon (inside)" option for the Date field, matching the Text, Email, Number, Phone, URL and Drop-down fields.
* Changed: The form builder's top-bar Preview button is replaced by an Open button that opens the real published form in a new tab. If you have unsaved changes, it offers to save them first.
* Fixed: The file-upload stylesheet (modern-file-upload.css) failed to load on real installs because it was stored in a source-only folder, leaving the File Upload field unstyled. It now ships with the plugin's other form styles.
* Fixed: The optional deactivation feedback and opt-in anonymous usage data now reach their new home at Auto Form CRM. Previously these requests failed silently, and on sites that opted in, the uninstall call could add a delay of a few seconds when deleting the plugin. The data sent is unchanged; see "External Services" for the updated endpoints. A feedback submission that fails to send no longer prevents a retry for five minutes.
* Changed: Removed an unused license-check routine from the AI Conversation module. It was never called; no data was ever sent by it.

= 1.4.8 =
* New: Google Sheets is now a free built-in add-on (off by default; enable it under Forms → Add-Ons). Send form submissions straight to a Google Sheet, with per-form spreadsheet and worksheet selection and field-to-column mapping. Delivery is asynchronous and reliable — submissions are never delayed if Google is slow or unreachable, and are retried automatically — and the Google service-account credentials are encrypted at rest.
* New: Conditional confirmation and email-notification rules can now use the "Other (please specify)" text of a Checkboxes or Multiple Choice field as a condition. Fields with the "Other" option enabled offer an extra "Other (specified)" entry in the rule's field list, so rules such as "Other (specified) is not empty" or "contains France" work without adding a separate text field.
* Improved: The rule editors now warn when "Greater than" or "Less than" is used against a Checkboxes, Multiple Choice or Drop-down field whose option values are text (for example "Yes"/"No" or country codes). Such a condition can never match because the comparison is numeric; the warning explains this and suggests Equals or Contains. Nothing is blocked or changed automatically, and existing rules behave exactly as before.
* Fixed: The Phone field's "Format As You Type" broke Backspace and Delete — deleting removed only part of the number and then stalled. Deletion now removes one character cleanly in every phone format, and editing in the middle of a number works. (The US format now displays as (123) 456-7890.)
* Fixed: Required Radio, Time, and multiple-choice Tabular Survey (Matrix) fields were not caught in the browser before submitting, so the page reloaded before the error was shown. They now block submission with an inline message, like other required fields.
* Fixed: A form rejected by server-side validation no longer loses the values the visitor already entered. Every field type is now preserved on reload — including Radio and Checkbox "Other" text, Address, Matrix, Time, Date and the survey fields — and the round-trip is now reliable for visitors behind proxies or CDNs.

= 1.4.7 =
* Fixed: The form builder's unsaved-changes warning is now reliable after adding or removing a field — the leave-page prompt fires on any navigation while you have unsaved edits, instead of being silently cleared when the field count changed.
* Fixed: A Date field with no default value showed two calendar icons on the right on published forms. It now shows a single calendar icon on the left, and on the right for right-to-left sites, matching the Time and Month & Year fields.
* Fixed: The Month & Year field's "How to Display Values" format now shows on the form in every browser, including those that fall back to a text input (such as Safari on desktop). The stored value stays YYYY-MM.

= 1.4.6 =
* New: Entry Tags is now a free built-in add-on. Create color-coded tags, assign them to submissions, and filter the submissions list by one or more tags — with tag templates, usage statistics, and unused-tag cleanup. Off by default; enable it under Forms → Add-Ons. Sites that used the separate Entry Tags plugin keep all their tags: the built-in add-on switches on automatically once that plugin is deactivated, and a notice on Auto Form Builder screens reminds you it can be removed.
* New: When both Entry Tags and the AI Assistant are enabled and connected, AI summaries, drafted replies and "Ask across submissions" also see each submission's tags, and the admin chat can list your tags and answer questions like "how many submissions are tagged Urgent this week?". Nothing changes for the AI Assistant when Entry Tags is off.
* Changed: Deleting a submission (individually, in bulk, or via the Privacy data-erasure tool) now also removes its tag assignments. Developers: a new auto_form_builder_submission_deleted action fires with the submission ID.
* Fixed: A Checkboxes field with a "Minimum selections" limit could not be submitted when only "None of the above" was ticked — the browser reported "Please select at least 1 option(s)." even though an answer was given. "None of the above" now counts as a complete answer for the minimum-selections rule, in the browser and on the server.
* Fixed: After a Checkboxes field failed its minimum/maximum-selections check, editing another field and submitting again could bypass that check. Selection limits are now re-checked on every submit.
* Fixed: A Date field with "Minimum Days From Today" did not enforce the minimum in the browser on published forms, so picking an earlier date was only rejected after submit — and the form then reloaded with every other field cleared. The minimum is now applied in the browser with the same inline message as other date rules, and a form that fails server-side validation keeps all values the visitor entered (including Name subfields).
* Fixed: Leaving the form builder with unsaved edits via the "Back to Forms" button now asks for confirmation in every browser instead of relying solely on the browser's own leave-page prompt, which some browsers suppress.
* Fixed: The Month & Year field's calendar icon appeared on the right on published forms (left in the builder preview). It now sits on the left, and on the right for right-to-left sites, matching the Time field.
* Fixed: Clicking the Month & Year field on a published form could open two pickers stacked — the browser's built-in month list underneath the plugin's month grid. Only the plugin's picker opens now.
* Fixed: The Drop-down field's "Field Icon Inside" setting had no effect on published forms (the icon showed only in the builder preview). The icon now renders inside the drop-down.
* Fixed: The Month & Year field's "How to Display Values" setting was ignored on the form itself, which always showed the browser's own format (for example "March 2024"). The field now displays the selected format; the stored value stays YYYY-MM.
* Fixed: The Month & Year "03/2024" display option silently fell back to "2024-03" in emails and entry details.

= 1.4.5 =
* Fixed: Submitting a form that contains a Date field caused a fatal error ("Class Auto_Form_Builder_Date_Helper not found") on some sites. The date helper is now always loaded before submissions are processed.
* Fixed: Submitting a form that contains a Star Rating, NPS, Opinion Scale, or Tabular Survey field could cause a fatal error ("Class Auto_Form_Builder_Survey_Helper not found"). The survey helper is now always loaded before submissions are processed, and submissions fall back safely instead of failing if a helper is ever unavailable.

= 1.4.4 =
* New: UK Mobile format for the Phone field — validates UK mobile numbers in domestic (07700 900123) and international (+44 7700 900123 or 0044 7700 900123) formats, with optional format-as-you-type. Existing phone fields and other formats are unchanged.
* New: "Minimum Days From Today" option for the Date field — require the selected date to be at least a set number of days after today (e.g. 3), enforced in the browser and on the server. If a fixed First Allowed Date is also set, the later of the two applies. Existing date fields are unchanged.
* Improved: The Month & Year (calendar) and Time (clock) field icons now sit on the left, matching the inside-the-field icons for a consistent look across all fields (with right-hand placement kept for RTL sites).
* New: Inside-the-field icon support for the Drop-down field — show a built-in or uploaded icon at the start of the dropdown, matching the other fields. Dropdowns without an icon are unchanged.
* New: Auto-fill field values with conditional logic — automatically set a Text, Textarea, Number, Email, Phone, or URL field to a fixed value or copy another field's value when your conditions are met. If the visitor edits the field their input is kept, and an auto-filled value is cleared again if the conditions stop matching. Works independently of the existing Show/Hide rules, so a field can use either or both.

= 1.4.3 =
* New: Month & Year field — collect month/year with an easy custom picker (year arrows and a single month grid), or year only with a year dropdown. Works with conditional logic, entry details, admin/user email notifications, URL prefill, AI form builder defaults, and AI Conversation forms. Existing Date fields are unchanged.
* New: "Block Future Dates" option for the Month & Year field, so answers cannot be later than the current month or year — ideal for questions like "When was your business established?". Combine it with the Earliest Month/Year setting to bound both ends.
* New: Save your Customize design as a reusable theme, then apply it to your other forms with one click. Saved themes live in the Customize → Theme panel; existing forms and themes are unchanged.
* New: Label icons — add an icon next to any field label from a built-in library of 40+ icons, or upload your own PNG/JPG. Control the icon color, optional background chip, and size per field. Fields without an icon are completely unchanged.
* New: Inside-the-field icons — show an icon at the start of Text, Email, Number, Phone and URL fields, separated from the value by a divider. Choose a built-in icon or a PNG/JPG and set its color, background and size. Fields without an icon are completely unchanged.
* New: Popups — show any form in a popup without installing a second plugin. Create unlimited popups (modal, slide-in, sticky bar, full-screen, welcome mat, floating launcher), pick the pages they appear on, trigger them by time, scroll, exit intent, clicks and more, cap how often they show, and choose what happens after a successful submission. Fully keyboard accessible, loads nothing on pages without an eligible popup.
* Improved: The Popups editor now warns you about unsaved changes before you close it or leave the page, so popup edits are no longer lost by accident.

= 1.4.2 =
* Fixed: Name field with separate parts now labels each part correctly (e.g. "First Name" and "Last Name") in the submission details, email notifications, and stored entries, instead of showing "Name" twice.
* Fixed: When only First Name and/or Last Name are marked required, the required asterisk now appears next to those parts.
* Fixed: The required asterisk no longer appears on every individual radio button or checkbox option — it now shows only on the field's own label.

= 1.4.1 =
* New: URL prefill for individual Name and Address components — First, Middle, Last and Suffix, plus Company/Organization, Address Line 1 and 2, City, State/Province/Region and ZIP/Postal Code can each read their own URL parameter, so composite fields can be pre-populated from a link without workarounds.
* New: AI Assistant and AI Conversation are now active by default on fresh installs, and are enabled once on upgrade for existing sites. If you deactivate either, it stays off.
* New: "Build with AI" now always appears in the "Create a new form" dialog. When the AI Assistant is inactive it guides you to activate it, and when it is active but not yet connected it guides you to connect AIDA.
* New: Dismissible dashboard and Add-Ons prompts that walk you through activating the free AI features and then connecting AIDA, so the AI features are easy to discover.
* New: Export / Import button on the Submissions and Partial Entries screens that links straight to the CSV export and import tools.
* Fixed: URL-prefilled dropdowns (including searchable dropdowns) now fire the same change event as a manual selection, so conditional logic evaluates on page load and dependent fields show or hide correctly.

= 1.4.0 =
* New: AI Assistant (optional, off by default) — connect a free AIDA account to bring AI to your forms: build a form from a plain-English description or an uploaded document, automatic conditional logic generation, one-click submission summaries and drafted replies, "ask across your submissions", and an admin AI chat assistant that answers questions about your forms and submissions and can create new forms.
* New: AI Conversation (now built-in, optional, off by default) — turn any form into a friendly conversational form: an AI chat that collects answers naturally, with optional appointment booking via Auto Form CRM.
* New: AIDA credits — a single shared credit balance that powers both AI features, always visible in the plugin. New accounts start with free trial credits; afterward, top up with one-time credit packs purchased on autoformcrm.com in a new tab (no payment ever happens inside the plugin). See the AIDA entry in "External Services" for exactly what data is sent, when, and to whom.
* Note: The core drag-and-drop form builder and all non-AI features remain completely free and never require an account.

== Upgrade Notice ==

= 1.5.0 =
Adds a Calculation field for live totals and a free Stripe Payments add-on (no added fees) to take payments with any form. Stops uploaded-file details appearing in emails, fixes side-by-side field alignment and adds security hardening. Updating is recommended.

= 1.4.9 =
Fixes notification emails to several recipients being silently dropped: each recipient now gets their own email. Recipients use a new "Add New" list (existing ones convert automatically), and a Date field display option stops the date showing twice.

= 1.4.8 =
Google Sheets is now a free built-in add-on (off by default) — send submissions to a sheet with per-form field mapping, asynchronous and reliable, credentials encrypted at rest. Also fixes the Phone field's format-as-you-type Backspace/Delete, catches required Radio/Time/Matrix fields in the browser before submit, and stops a server-side validation error from clearing the values a visitor already entered. Rule editors can now use a field's "Other (specified)" text as a condition.

= 1.4.7 =
Fixes three issues: the form builder's unsaved-changes warning is now reliable after adding or removing a field; the Date field shows a single calendar icon on the left (right for RTL sites); and the Month & Year field's selected display format now shows on the form in every browser.

= 1.4.6 =
Entry Tags is now a free built-in add-on (off by default) and the AI Assistant can see submission tags. Also fixes Checkboxes minimum-selection, Date "Minimum Days From Today" and Month & Year display issues. If you use the separate Entry Tags plugin, deactivate it after updating; tags are kept.