=== 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.1
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 and there are no paid add-ons: the "Add-Ons" screen is simply optional free modules (Popups, Form Analytics, spam protection, Slack, User Registration, Entry Tags, Google Sheets, 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 thing you can ever pay for is AIDA credits for the optional AI features, once the free trial credits are used up.

[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, Google Sheets, 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.
* **Google Sheets** — send new submissions to a Google Sheet, with a spreadsheet, worksheet and field-to-column mapping for each form. Rows are sent in the background and retried automatically if Google is slow or unavailable.

The two AI modules, AI Assistant and AI Conversation, are also on this screen; see "AI Features" below.

= 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. They are switched on by default, but they do nothing and send nothing until you connect an AIDA account, and you can switch either of them off under Forms → Add-Ons:

* 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, Google Sheets, Entry Tags, form analytics, spam protection, popups, user registration, submission management, webhooks, Slack notifications, import/export, and full visual customization — are 100% free. There is no premium version and there are no paid add-ons. The only thing you can pay for is AIDA credits for the optional AI features, and only after the free trial credits are used up.

= 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 my form calculate totals or prices? =

Yes. Add a Calculation field and write a formula that uses other fields, for example a price times a quantity plus a fee. The total updates as the visitor fills in the form and is calculated again on your server when the form is submitted, so visitors cannot change it. A Calculation field can also set the amount of a Stripe payment.

= Can I send submissions to Google Sheets? =

Yes, with the free Google Sheets add-on (off by default; enable it under Forms → Add-Ons). Connect a Google service account, choose a spreadsheet and worksheet for each form, and map fields to columns. New submissions are added in the background and retried automatically if Google is slow or unavailable.

= 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 modules are switched on by default, but the plugin never contacts AIDA until you connect an AIDA account. If you never connect one, nothing is sent, and you can switch the AI modules off under Forms → Add-Ons. Every other feature works the same either way.

= 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 ==

By default the plugin contacts no external service. Each service below is used only after you set up the feature that needs it.

**AIDA — AI Assistant & AI Conversation (optional)**

* Provider: AIDA by Auto Form CRM (https://autoformcrm.com/); requests are processed by Anthropic.
* When: **only** after an administrator connects an AIDA account, and then each time an AI feature is used. The AI modules are on by default, but nothing is sent until an account is connected. The core builder never contacts AIDA.
* Account & cost: a free AIDA account with trial credits; after that, one-time credit packs bought on autoformcrm.com in a new tab (no payment inside the plugin). All non-AI features stay free.
* Data sent (only for the action you trigger): on connect, your site address and a one-time code; the form description or document when building a form; submission content when you ask for a summary, reply or answer about submissions; messages typed into the admin assistant; and, if AI Conversation is on for a public form, the visitor's chat messages. The AIDA token is sent server-side only and stored encrypted.
* Not sent: anything for AI features you do not use, and never WordPress passwords.
* Terms / privacy: https://autoformcrm.com/terms, https://autoformcrm.com/privacy, https://www.anthropic.com/legal/commercial-terms, https://www.anthropic.com/legal/privacy

**Deactivation feedback (opt-in, one-time)**

* Provider: Auto Form CRM, https://autoformcrm.com/api/v1/plugin-feedback
* When: **only** when an administrator clicks "Submit & Deactivate" in the deactivation dialog. Skipping or closing it sends nothing.
* Data sent: the chosen reason, an optional comment (up to 1000 characters), WordPress, PHP and plugin versions, and site locale. The exact payload is shown before sending.
* Not sent: site URL, admin name or email, user ID, IP address or form data.
* Terms / privacy: https://autoformcrm.com/terms and https://autoformcrm.com/privacy

**Anonymous usage data (opt-in, off by default)**

* Provider: Auto Form CRM, https://autoformcrm.com/api/v1/plugin-telemetry
* When: **only** if you turn on "Help improve Auto Form Builder by sending anonymous usage data" (onboarding or Settings → General): one "install" event on opt-in and one "uninstall" event on deletion.
* Data sent: a random site ID, plugin, WordPress, PHP and MySQL versions, install version, locale, multisite flag, days since install, form and submission counts as ranges, active modules and onboarding status. The full list is shown next to the checkbox.
* Not sent: site URL, admin name or email, user ID, IP address or form content.
* Terms / privacy: https://autoformcrm.com/terms and https://autoformcrm.com/privacy

**Slack Notifications (off by default)**

* Provider: Slack Technologies, LLC (https://slack.com/). Only hooks.slack.com webhook URLs are accepted.
* When: **only** after you add your own Slack webhook URL and enable it for a form: on each submission of that form and on "Send Test".
* Data sent: the form title and site name, plus the submitted answers only if "Include answers" is on. Passwords, CAPTCHA values and file contents are never sent; files appear by name only.
* Terms / privacy: https://slack.com/terms-of-service and https://slack.com/trust/privacy/privacy-policy

**Stripe Payments (add-on, off by default)**

* Provider: Stripe, Inc. (https://stripe.com/). Only https://api.stripe.com is contacted, from your server, with your own Stripe API key.
* When: **only** after you enable the add-on and connect a key: to verify the key; to create or delete a webhook endpoint in your Stripe account; about every six hours while the settings page is open, to re-check the key; when a visitor submits a payment form (to create a Checkout session) and returns from it; when Stripe notifies your site of a payment event (signature-verified); and every ten minutes through WP-Cron while payments are still pending.
* Data sent: your API key (server-side only, stored encrypted); your webhook URL and site name; for payments, the amount, currency, product name, return page addresses, submission and form IDs, and the payer's email only if you map an email field. Card details are entered on Stripe's page and never touch your site.
* Fees: the plugin adds **no** fee. Payments go straight to your Stripe account; you pay only Stripe's fees.
* Terms / privacy: https://stripe.com/legal/ssa and https://stripe.com/privacy

**Google Sheets (add-on, off by default)**

* Provider: Google LLC. Your server contacts oauth2.googleapis.com, sheets.googleapis.com and www.googleapis.com using a service account you create.
* When: **only** after you enable the add-on and save the service-account credentials: when you test the connection or pick a spreadsheet or worksheet, and after each submission of a connected form (sent in the background through WP-Cron, with retries).
* Data sent: a sign-in request signed with your service-account key (the key stays on your site, encrypted); the chosen spreadsheet and worksheet; and the mapped field values with their column names. Picking a spreadsheet lists those shared with the service account.
* Not sent: fields you have not mapped.
* Terms / privacy: https://developers.google.com/terms and https://policies.google.com/privacy

**Google reCAPTCHA (add-on, off by default)**

* Provider: Google LLC (https://www.google.com/recaptcha/).
* When: **only** after you enable the add-on, enter your keys and turn it on for a form. Pages with that form load https://www.google.com/recaptcha/api.js, and your server checks each submission with https://www.google.com/recaptcha/api/siteverify.
* Data sent: Google's script collects what it needs to detect bots (such as IP address, browser details and page interaction). Your server sends your secret key and the response token. No form answers are sent.
* Terms / privacy: https://policies.google.com/terms and https://policies.google.com/privacy

**Cloudflare Turnstile (add-on, off by default)**

* Provider: Cloudflare, Inc. (https://www.cloudflare.com/).
* When: **only** after you enable the add-on, enter your keys and turn it on for a form. Pages with that form load https://challenges.cloudflare.com/turnstile/v0/api.js, and your server checks each submission with https://challenges.cloudflare.com/turnstile/v0/siteverify.
* Data sent: the Turnstile script collects what it needs to detect bots (such as IP address and browser details). Your server sends your secret key and the response token. No form answers are sent.
* Terms / privacy: https://www.cloudflare.com/website-terms/ and https://www.cloudflare.com/turnstile-privacy-policy/

**Webhooks (off by default)**

* Provider: the one endpoint you enter (for example Zapier, Make or your own server). Private and local network addresses are refused.
* When: **only** after you enter a webhook URL and turn webhooks on: after each submission and when you send a test.
* Data sent: your site address, submission time, form and submission IDs, the answers (signatures as embedded images) and the form's field settings, signed with HMAC-SHA256 if you set a secret. A test sends only the site address and time.
* Terms / privacy: those of the receiving service.

**Google Fonts (only for forms using a Google font)**

* Provider: Google LLC (https://fonts.google.com/).
* When: **only** on pages showing a form styled with one of the Google fonts offered under Customize (some theme presets use one). The default font uses your theme's font and loads nothing.
* Data sent: the browser's font request from fonts.googleapis.com, which gives Google the visitor's IP address and browser details. No form content is sent.
* Terms / privacy: https://developers.google.com/fonts/terms and https://policies.google.com/privacy

== Changelog ==

= 1.5.1 =
* Fixed: A form turned away by the server (for example a failed spam check) now reloads with the visitor's answers filled in. File uploads and signatures must be added again.
* Fixed: A dropdown with a default or restored answer now shows the chosen option instead of looking empty.
* Security: Further hardening of form styling, stored spam-protection keys and uploaded files. Updating is recommended.
* Fixed: A single checkbox no longer shows its text twice.
* Fixed: A number slider's live value now keeps its formatting after it is moved.
* Fixed: A number typed with an exponent (such as 1e3) now gives the same result in the live calculation and the saved entry.
* Changed: reCAPTCHA and Turnstile secret keys are now stored encrypted; existing keys move over automatically. If the site's security keys (salts) change, a notice asks you to re-enter the key.
* Changed: Permanently deleting a submission now also removes its files, signatures, address details, AI outputs and unsent Google Sheets rows. Trash keeps everything.
* Fixed: A rejected submission no longer leaves uploaded files or signature images behind.
* Changed: Files uploaded but never submitted are removed after seven days.
* Changed: nginx sites see a notice with a recommended rule for the uploads folder.
* Fixed: Entries now record the page and title the form was submitted from, including embedded forms.
* Fixed: The Submissions "All" tab no longer includes Spam or Trash.
* Fixed: The builder warns when the User Confirmation Email is on but no email field is selected.
* Fixed: The form block uses block API version 3, removing the editor warning on WordPress 6.9+.
* Fixed: The Customize preview now shows the Name field as configured and applies the focus colour and shadow.
* Fixed: Popup Builder's redirect notice now considers conditional confirmations.
* Changed: "Show Number Next to Slider" is on by default for new sliders.
* Changed: Calculation fields no longer show the unused Required and Placeholder settings.
* Fixed: Clearer help text for notification rule recipients and "Break out of iframe".
* Fixed: Deleting the plugin with "remove all data" now removes all add-on data, popups, logs and temporary data. Scheduled tasks are always removed.
* Fixed: Deleting the plugin while keeping data now also removes the saved AI connection. Forms and submissions are kept.

= 1.5.0 =
* New: Calculation field: live totals from other fields with + − × ÷, brackets, min, max, round, abs, ceil and floor, plus decimals, prefix/suffix and separators. Recalculated on the server and shown in emails, Slack, entries and CSV exports.
* New: Stripe Payments add-on (free, off by default): take payments with Stripe Checkout using your own account. Fixed, visitor-entered or calculated amounts; payment status, filters and refunds on the Submissions screen; payment tags in emails. No added fees.
* New: {field} tags in redirect URLs, with an "Insert field" picker. Values are safely encoded.
* New: Saving a redirect URL warns about unknown tags, file or signature fields and reserved parameter names, and no longer erases the previous URL on failure.
* Changed: Clearer wording for conditional confirmation rules.
* Changed: Deleting a form now asks for confirmation, shows its submission count and can trash its submissions. Add-on settings for that form are removed.
* Changed: The success message is no longer added to the page address.
* Fixed: Emails no longer show uploaded files' server paths or a duplicate File row, and choice fields show their labels.
* Fixed: Side-by-side fields now line up at the top.
* Fixed: The Time field's help text no longer appears twice.
* Fixed: Submissions of deleted forms open without errors and are labelled "Deleted form #ID".
* Fixed: Form Analytics no longer counts views of deleted forms.
* Fixed: "Redirect" with no URL now shows the success message.
* Security: Hardening of file uploads, redirects, webhooks and spam protection.

= 1.4.9 =
* Fixed: Notification emails to several recipients are now sent one per recipient, so one bad address no longer blocks the rest.
* New: Notification recipients are entered as a list; existing ones convert automatically.
* New: Failed emails are logged under Settings → System Status → Email Delivery Failures.
* New: Saving a form warns about invalid or cleaned notification addresses.
* New: Per-form option to always send the main notification, or only when no email rule matches.
* New: Date field "How to Display Values" option (Plain, Friendly or Both), fixing the date showing twice.
* New: Inside-the-field icon for the Date field.
* Changed: The builder's Preview button is now Open, showing the published form in a new tab.
* Fixed: The file-upload stylesheet now loads on real installs.
* Fixed: Deactivation feedback and opt-in usage data now reach Auto Form CRM without delays.
* Changed: Removed an unused license check from AI Conversation.

= 1.4.8 =
* New: Google Sheets built-in add-on (off by default) with per-form mapping, background delivery and encrypted credentials.
* New: Rules can use a field's "Other (specified)" text as a condition.
* Improved: Rule editors warn when "Greater/Less than" is used on text option values.
* Fixed: Phone field format-as-you-type now handles Backspace and Delete.
* Fixed: Required Radio, Time and Matrix fields are now checked in the browser.
* Fixed: Server-side validation errors no longer clear the visitor's answers.

= 1.4.7 =
* Fixed: The unsaved-changes warning is reliable after adding or removing fields.
* Fixed: The Date field shows one calendar icon, on the left (right for RTL).
* Fixed: The Month & Year display format shows in every browser.

= 1.4.6 =
* New: Entry Tags built-in add-on: colour-coded tags, filters, templates and statistics. Existing tags are kept.
* New: The AI Assistant can see submission tags when Entry Tags is on.
* Changed: Deleting a submission removes its tags; new auto_form_builder_submission_deleted action.
* Fixed: Checkboxes "None of the above" now satisfies minimum selections, and limits are re-checked on every submit.
* Fixed: Date "Minimum Days From Today" is enforced in the browser, and failed submissions keep all values.
* Fixed: "Back to Forms" asks before leaving unsaved edits.
* Fixed: Several Month & Year and Drop-down icon and display issues.

= 1.4.5 =
* Fixed: Fatal errors when submitting forms with Date or survey fields.

= 1.4.4 =
* New: UK Mobile phone format.
* New: Date field "Minimum Days From Today" option.
* New: Inside-the-field icons for the Drop-down field.
* New: Auto-fill field values with conditional logic.
* Improved: Month & Year and Time icons now sit on the left.

= 1.4.3 =
* New: Month & Year field with a custom picker and "Block Future Dates" option.
* New: Save a Customize design as a reusable theme.
* New: Label icons and inside-the-field icons.
* New: Popups: modal, slide-in, bar, full-screen, welcome mat and launcher, with targeting and triggers.
* Improved: The Popups editor warns about unsaved changes.

= 1.4.2 =
* Fixed: Name field parts are labelled correctly in entries and emails.
* Fixed: Required asterisks show only where required.

= 1.4.1 =
* New: URL prefill for individual Name and Address parts.
* New: AI Assistant and AI Conversation are on by default (they stay off if you turn them off).
* New: "Build with AI" is always shown in the new-form dialog, with setup guidance.
* New: Export / Import button on the Submissions screens.
* Fixed: URL-prefilled dropdowns now trigger conditional logic.

= 1.4.0 =
* New: AI Assistant (optional): build forms from a description or document, generate logic, summarise and reply to submissions, and chat about your data.
* New: AI Conversation (optional): turn any form into an AI chat.
* New: AIDA credits shared by both AI features, with free trial credits. See "External Services".
* Note: The core builder and all non-AI features stay free and need no account.

== Upgrade Notice ==

= 1.5.1 =
A form rejected by the server no longer loses what the visitor typed, and dropdowns show the restored choice. Secret keys are now stored encrypted. Updating is recommended.

= 1.5.0 =
Adds a Calculation field and a free Stripe Payments add-on, plus email and layout fixes and security hardening.

= 1.4.9 =
Notification emails to several recipients are no longer dropped, and recipients use a new list.

= 1.4.8 =
Adds the free Google Sheets add-on and fixes Phone, required-field and validation issues.

= 1.4.7 =
Fixes the unsaved-changes warning, Date icon and Month & Year display.

= 1.4.6 =
Adds the free Entry Tags add-on. If you use the separate Entry Tags plugin, deactivate it after updating; tags are kept.
