Title: OZY Forms
Author: Danish Rangaiz
Published: <strong>September 5, 2026</strong>
Last modified: September 5, 2026

---

Search plugins

![](https://ps.w.org/ozy-forms/assets/banner-772x250.png?rev=3682808)

![](https://ps.w.org/ozy-forms/assets/icon-256x256.png?rev=3682808)

# OZY Forms

 By [Danish Rangaiz](https://profiles.wordpress.org/idanishrangaiz/)

[Download](https://downloads.wordpress.org/plugin/ozy-forms.1.0.9.zip)

 * [Details](https://wordpress.org/plugins/ozy-forms/#description)
 * [Reviews](https://wordpress.org/plugins/ozy-forms/#reviews)
 *  [Installation](https://wordpress.org/plugins/ozy-forms/#installation)
 * [Development](https://wordpress.org/plugins/ozy-forms/#developers)

 [Support](https://wordpress.org/support/plugin/ozy-forms/)

## Description

OZY Forms is a complete form builder for WordPress. Conditional logic, multi-step
forms, file uploads, digital signatures, calculations, payments, entry management
and integrations are all included — there is no pro tier, no addon store and no 
feature locked behind an upgrade prompt.

#### What it does

 * **Drag and drop builder** with 48 field types, from plain text through to signatures,
   repeaters, calculations and product fields.
 * **Conditional logic** with nested AND/OR groups, 15 operators and 10 actions.
   Evaluated in the browser for responsiveness and again on the server, which is
   what actually decides.
 * **Multi-step forms** with 8 progress indicator designs, per-step server validation,
   and Save & Resume.
 * **Calculations** using a spreadsheet-style formula language with 14 functions.
 * **Payments** through Stripe, PayPal, Razorpay, Square, Mollie or Authorize.Net.
   Card details are entered into the provider’s own iframe and never touch this 
   site.
 * **Built-in SMTP** for 11 providers, so a separate mail plugin is not required.
   Queued delivery, retries with backoff, and a delivery log.
 * **20 email designs** plus a template library, autoresponders and conditional 
   routing.
 * **AI features** — generate a form from a description, summarise and tag submissions,
   find themes across responses, generate email templates. On WordPress 7.0 and 
   later these run through the AI Client in core, so whichever provider you connect
   once under Settings  Connectors is the one they use. On older versions, or if
   no connector is set up, you can save your own key for OpenAI, Anthropic, Groq,
   Gemini or Mistral instead.
 * **Migration** from Gravity Forms, WPForms, Fluent Forms, Formidable, Contact 
   Form 7, Ninja Forms, Forminator and Everest Forms — read-only, with a preview
   and a full undo.
 * **30 integrations** including Zapier, Make, Mailchimp, HubSpot, Google Sheets,
   Airtable, Notion, Slack, Discord, Telegram, Twilio, Trello, Asana, ClickUp, monday.
   com, Salesforce, Zoho, Pipedrive and generic webhooks.
 * **Page builders** — Gutenberg block, Elementor, Divi, WPBakery, Beaver Builder,
   Oxygen, Bricks, Avada, Brizy, plus a shortcode and a classic widget.

#### You decide what gets stored

Most form plugins save every submission to your database and never mention it. OZY
Forms tells you what it keeps, per form, and lets you change it.

New forms store submissions, so the entry list, exports, analytics and AI insights
all work immediately. Any form can be switched to **email-only** or **metadata-only**
in its Data & Privacy tab — and before that change is applied, the plugin shows 
you exactly which features it turns off, which ones keep working, and confirms that
existing entries are untouched and the change is reversible.

Alongside that, each form controls whether IP addresses are stored at all (off, 
hashed, or full — hashed by default), whether browser and referrer details are kept,
and whether entries are deleted or anonymised automatically after a set number of
days. The plugin also contributes accurate text to your site’s privacy policy draft,
generated from how your forms are actually configured rather than a fixed claim.

#### Privacy and external services

Out of the box, OZY Forms contacts nothing. Every external service listed below 
is opt-in and requires you to supply your own credentials. There is no telemetry,
no phone-home and no tracking of any kind.

### External Services

OZY Forms contacts nothing on its own. It has no telemetry, no phone-home, no analytics
call-back and no tracking of any kind. Every service listed below is optional: it
is contacted only after you have entered your own credentials for it and switched
it on, and only for the purpose described next to it. If you configure none of them,
this plugin makes no outbound requests at all.

#### AI providers

On WordPress 7.0 and later the AI features prefer the AI Client built into WordPress.
In that case this plugin sends the request to core, and core sends it to whichever
provider you configured under Settings  Connectors; the terms and privacy policy
of that provider apply, and no credentials are stored by this plugin. The providers
below are the fallback, used only when you enable an AI feature and save your own
API key for one of them. What is sent: the prompt you type when generating a form
or an email template, and the stored field values of the entries you ask it to summarise,
tag or analyse. Sent when you press the relevant button in the admin, or on submission
if you turn on AI spam checking.

 * OpenAI – api.openai.com – [Terms](https://openai.com/policies/terms-of-use/) –
   [Privacy](https://openai.com/policies/privacy-policy/)
 * Anthropic – api.anthropic.com – [Terms](https://www.anthropic.com/legal/consumer-terms)–
   [Privacy](https://www.anthropic.com/legal/privacy)
 * Groq – api.groq.com – [Terms](https://groq.com/terms-of-use/) – [Privacy](https://groq.com/privacy-policy/)
 * Google Gemini – generativelanguage.googleapis.com – [Terms](https://developers.google.com/terms)–
   [Privacy](https://policies.google.com/privacy)
 * Mistral – api.mistral.ai – [Terms](https://mistral.ai/terms/) – [Privacy](https://mistral.ai/terms/#privacy-policy)

#### Payment gateways

Used only when a form contains a payment field and you have saved that gateway’s
keys. Card details are entered inside the provider’s own iframe or SDK and go straight
from the visitor’s browser to the provider; this site never receives them. What 
this site sends: the amount, the currency, the payment token returned by the provider,
and the billing name and email if your form collects them. Sent when a form with
a payment field is submitted.

 * Stripe – api.stripe.com – [Terms](https://stripe.com/legal/ssa) – [Privacy](https://stripe.com/privacy)
 * PayPal – api-m.paypal.com – [Terms](https://www.paypal.com/legalhub/useragreement-full)–
   [Privacy](https://www.paypal.com/legalhub/privacy-full)
 * Razorpay – api.razorpay.com – [Terms](https://razorpay.com/terms/) – [Privacy](https://razorpay.com/privacy/)
 * Square – connect.squareup.com – [Terms](https://squareup.com/legal/general/ua)–
   [Privacy](https://squareup.com/legal/general/privacy)
 * Mollie – api.mollie.com – [Terms](https://www.mollie.com/en/user-agreement) –
   [Privacy](https://www.mollie.com/en/privacy)
 * Authorize.Net – api.authorize.net – [Terms](https://www.authorize.net/about-us/terms/)–
   [Privacy](https://www.authorize.net/about-us/privacy/)

#### Email delivery (SMTP)

Used only when you switch the built-in SMTP on and pick a provider. What is sent:
the notification, autoresponder or test email your site produces, which means the
recipient addresses, the subject, the message body and any attachments you have 
configured, delivered over an authenticated SMTP connection using the credentials
you entered. Sent when the plugin sends an email.

 * Gmail / Google Workspace – smtp.gmail.com – [Terms](https://policies.google.com/terms)–
   [Privacy](https://policies.google.com/privacy)
 * Outlook / Microsoft 365 – smtp.office365.com – [Terms](https://www.microsoft.com/servicesagreement)–
   [Privacy](https://privacy.microsoft.com/privacystatement)
 * SendGrid (Twilio) – smtp.sendgrid.net – [Terms](https://www.twilio.com/legal/tos)–
   [Privacy](https://www.twilio.com/legal/privacy)
 * Mailgun – smtp.mailgun.org or smtp.eu.mailgun.org – [Terms](https://www.mailgun.com/legal/terms/)–
   [Privacy](https://www.mailgun.com/legal/privacy-policy/)
 * Amazon SES – email-smtp.REGION.amazonaws.com – [Terms](https://aws.amazon.com/service-terms/)–
   [Privacy](https://aws.amazon.com/privacy/)
 * Postmark – smtp.postmarkapp.com – [Terms](https://postmarkapp.com/terms-of-service)–
   [Privacy](https://postmarkapp.com/privacy-policy)
 * Brevo – smtp-relay.brevo.com – [Terms](https://www.brevo.com/legal/termsofuse/)–
   [Privacy](https://www.brevo.com/legal/privacypolicy/)
 * Elastic Email – smtp.elasticemail.com – [Terms](https://elasticemail.com/resources/usage-policies/terms-of-use/)–
   [Privacy](https://elasticemail.com/resources/usage-policies/privacy-policy/)
 * Mailjet – in-v3.mailjet.com – [Terms](https://www.mailjet.com/legal/terms/) –
   [Privacy](https://www.mailjet.com/legal/privacy-policy/)
 * SMTP2GO – mail.smtp2go.com – [Terms](https://www.smtp2go.com/terms/) – [Privacy](https://www.smtp2go.com/privacy/)
 * Custom SMTP – the host you enter yourself. The terms and privacy policy of that
   host’s operator apply.

#### Integrations

Used only for a service you connect with your own credentials and then enable on
a specific form. What is sent: the submitted field values you map to that service’s
fields, plus the form name and the submission time. Sent when a submission on that
form succeeds.

 * Zapier – hooks.zapier.com, at the Zap webhook URL you paste in – [Terms](https://zapier.com/legal/terms-of-service)–
   [Privacy](https://zapier.com/privacy)
 * Make – the Make webhook URL you paste in – [Terms](https://www.make.com/en/terms-and-conditions)–
   [Privacy](https://www.make.com/en/privacy-notice)
 * Mailchimp – your data centre host at api.mailchimp.com – [Terms](https://mailchimp.com/legal/terms/)–
   [Privacy](https://www.intuit.com/privacy/statement/)
 * ActiveCampaign – the account API URL you enter – [Terms](https://www.activecampaign.com/legal/terms-of-service)–
   [Privacy](https://www.activecampaign.com/legal/privacy-policy)
 * HubSpot – api.hubapi.com – [Terms](https://legal.hubspot.com/terms-of-service)–
   [Privacy](https://legal.hubspot.com/privacy-policy)
 * MailerLite – connect.mailerlite.com – [Terms](https://www.mailerlite.com/legal/terms-of-service)–
   [Privacy](https://www.mailerlite.com/legal/privacy-policy)
 * Brevo – api.brevo.com – [Terms](https://www.brevo.com/legal/termsofuse/) – [Privacy](https://www.brevo.com/legal/privacypolicy/)
 * Constant Contact – api.cc.email – [Terms](https://www.constantcontact.com/legal/terms)–
   [Privacy](https://www.constantcontact.com/legal/privacy-notice)
 * GetResponse – api.getresponse.com – [Terms](https://www.getresponse.com/legal)–
   [Privacy](https://www.getresponse.com/legal/privacy)
 * Drip – api.getdrip.com – [Terms](https://www.drip.com/terms) – [Privacy](https://www.drip.com/privacy)
 * Kit (formerly ConvertKit) – api.convertkit.com – [Terms](https://kit.com/terms)–
   [Privacy](https://kit.com/privacy)
 * Google Sheets – sheets.googleapis.com and oauth2.googleapis.com – [Terms](https://policies.google.com/terms)–
   [Privacy](https://policies.google.com/privacy)
 * Airtable – api.airtable.com – [Terms](https://www.airtable.com/company/tos) –
   [Privacy](https://www.airtable.com/company/privacy)
 * Notion – api.notion.com – [Terms](https://www.notion.com/terms) – [Privacy](https://www.notion.so/notion/Privacy-Policy-3468d120cf614d4c9014c09f6adc9091)
 * Slack – the incoming webhook URL you paste in – [Terms](https://slack.com/terms-of-service)–
   [Privacy](https://slack.com/trust/privacy/privacy-policy)
 * Discord – the webhook URL you paste in – [Terms](https://discord.com/terms) –
   [Privacy](https://discord.com/privacy)
 * Telegram – api.telegram.org – [Terms](https://telegram.org/tos) – [Privacy](https://telegram.org/privacy)
 * Twilio – api.twilio.com – [Terms](https://www.twilio.com/legal/tos) – [Privacy](https://www.twilio.com/legal/privacy)
 * MessageBird (Bird) – rest.messagebird.com – [Terms](https://www.bird.com/legal/terms)–
   [Privacy](https://www.bird.com/legal/privacy)
 * Vonage – rest.nexmo.com – [Terms](https://www.vonage.com/legal/communications-apis/terms-of-use/)–
   [Privacy](https://www.vonage.com/legal/privacy-policy/)
 * Trello – api.trello.com – [Terms](https://www.atlassian.com/legal/cloud-terms-of-service)–
   [Privacy](https://www.atlassian.com/legal/privacy-policy)
 * Asana – app.asana.com – [Terms](https://asana.com/terms) – [Privacy](https://asana.com/terms#privacy-policy)
 * ClickUp – api.clickup.com – [Terms](https://clickup.com/terms) – [Privacy](https://clickup.com/privacy)
 * monday.com – api.monday.com – [Terms](https://monday.com/l/legal/tos/) – [Privacy](https://monday.com/l/privacy/privacy-policy/)
 * Salesforce – the instance URL you enter – [Terms](https://www.salesforce.com/company/legal/agreements/)–
   [Privacy](https://www.salesforce.com/company/privacy/)
 * Zoho CRM – the API domain you enter – [Terms](https://www.zoho.com/terms.html)–
   [Privacy](https://www.zoho.com/privacy.html)
 * Pipedrive – your company subdomain at pipedrive.com – [Terms](https://www.pipedrive.com/en/terms-of-service)–
   [Privacy](https://www.pipedrive.com/en/privacy)
 * Freshsales – the Freshworks domain you enter – [Terms](https://www.freshworks.com/terms/)–
   [Privacy](https://www.freshworks.com/privacy/)
 * Webhook and Custom API – the URL you enter yourself. Nothing is sent anywhere
   else; the terms and privacy policy of whatever endpoint you point it at apply.

#### Spam protection

Used only after you save that service’s keys under OZY Forms  Settings and a form
actually uses it.

A CAPTCHA has two halves. The provider’s widget script is loaded into the visitor’s
browser from the provider’s own domain, which is how the challenge is drawn and 
is also a request that tells the provider a page was viewed. The token it produces
is then posted from this site to the provider’s verification endpoint, together 
with your secret key, when the form is submitted. Nothing else about the submission
is sent.

 * Google reCAPTCHA – script from www.google.com/recaptcha/api.js, verified at www.
   google.com/recaptcha/api/siteverify – [Terms](https://policies.google.com/terms)–
   [Privacy](https://policies.google.com/privacy)
 * hCaptcha – script from js.hcaptcha.com/1/api.js, verified at api.hcaptcha.com/
   siteverify – [Terms](https://www.hcaptcha.com/terms) – [Privacy](https://www.hcaptcha.com/privacy)
 * Cloudflare Turnstile – script from challenges.cloudflare.com/turnstile/v0/api.
   js, verified at challenges.cloudflare.com/turnstile/v0/siteverify – [Terms](https://www.cloudflare.com/website-terms/)–
   [Privacy](https://www.cloudflare.com/privacypolicy/)

Akismet is checked from this site only, with no browser-side component. What is 
sent: the submitted field values, the visitor’s IP address, user agent and referrer,
and your site address. Sent when a form is submitted, and once more when you save
the key so it can be confirmed.

 * Akismet – rest.akismet.com – [Terms](https://automattic.com/terms/) – [Privacy](https://automattic.com/privacy/)

The default anti-spam layer is a honeypot field and a local maths question. Neither
contacts anything, and a form falls back to the maths question whenever the chosen
CAPTCHA provider has no keys saved.

#### Scripts loaded into the visitor’s browser

Two features need code served by the provider rather than by this site, because 
the provider will not accept data collected any other way. They load only on a page
carrying a form that uses them.

 * Payment gateways load their card entry SDK: js.stripe.com, www.paypal.com/sdk/
   js, checkout.razorpay.com, web.squarecdn.com (sandbox.web.squarecdn.com in test
   mode) and js.authorize.net (jstest.authorize.net in test mode). The terms and
   privacy policies are the ones listed under Payment gateways above.
 * CAPTCHA providers load their widget script, listed under Spam protection above.

Nothing else in this plugin loads code from anywhere but your own site.

## Screenshots

[⌊The form builder: the field library, the canvas, and the settings panel for the
selected field.⌉⌊The form builder: the field library, the canvas, and the settings
panel for the selected field.⌉[

The form builder: the field library, the canvas, and the settings panel for the 
selected field.

[⌊The forms list, showing each form's storage mode, submission count and shortcode.⌉⌊
The forms list, showing each form's storage mode, submission count and shortcode
.⌉[

The forms list, showing each form’s storage mode, submission count and shortcode.

[⌊A multi-step form on the front end, with the numbered progress indicator.⌉⌊A multi-
step form on the front end, with the numbered progress indicator.⌉[

A multi-step form on the front end, with the numbered progress indicator.

[⌊The AI generator, where a provider is connected before describing the form you
want.⌉⌊The AI generator, where a provider is connected before describing the form
you want.⌉[

The AI generator, where a provider is connected before describing the form you want.

[⌊The entry list, filtered to one form.⌉⌊The entry list, filtered to one form.⌉[

The entry list, filtered to one form.

[⌊The Data & Privacy tab and the storage consequences dialog.⌉⌊The Data & Privacy
tab and the storage consequences dialog.⌉[

The Data & Privacy tab and the storage consequences dialog.

[⌊Email and SMTP setup with delivery diagnostics.⌉⌊Email and SMTP setup with delivery
diagnostics.⌉[

Email and SMTP setup with delivery diagnostics.

[⌊Payment gateway configuration.⌉⌊Payment gateway configuration.⌉[

Payment gateway configuration.

[⌊The migration screen detecting other form plugins.⌉⌊The migration screen detecting
other form plugins.⌉[

The migration screen detecting other form plugins.

[⌊A finished form on the front end.⌉⌊A finished form on the front end.⌉[

A finished form on the front end.

## Blocks

This plugin provides 1 block.

 *   OZY Form Place a form built with OZY Forms.

## Installation

 1. Upload the plugin to `/wp-content/plugins/ozy-forms`, or install it through Plugins
    Add New.
 2. Activate it.
 3. Go to OZY Forms  Add New, pick a template or start blank, and save.
 4. Place the form with the block, the `[ozy_form id="1"]` shortcode, or your page 
    builder’s OZY Form element.

## FAQ

### Do I need a separate SMTP plugin?

No. Email delivery for 11 providers is built in, under Email & SMTP. If you already
run WP Mail SMTP or FluentSMTP, leave OZY Forms’ SMTP switched off and your existing
setup keeps working — the plugin will even warn you if it detects a competing mail
plugin.

### Are submissions saved to my database?

By default, yes, so the entry list, exports and analytics work straight away. Every
form has a Data & Privacy tab where you can switch it to email-only or metadata-
only. Before that takes effect you are shown exactly which features stop working.

### Does anything get sent to your servers?

No. There is no telemetry and no phone-home. The only outbound requests are to services
you configure yourself, listed above.

### Can I move away later?

Yes. Tools  Export produces your forms as JSON, and a Contact Form 7 template for
the fields that format supports.

### Are card details stored on my site?

No. Card entry happens inside the payment provider’s own iframe or SDK. This plugin
only handles the resulting token and stores a transaction reference, amount, currency
and status.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“OZY Forms” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Danish Rangaiz ](https://profiles.wordpress.org/idanishrangaiz/)

[Translate “OZY Forms” into your language.](https://translate.wordpress.org/projects/wp-plugins/ozy-forms)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/ozy-forms/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/ozy-forms/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/ozy-forms/) by [RSS](https://plugins.trac.wordpress.org/log/ozy-forms/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.9

 * Fixed a crash that blanked the Entries screen. The list rendered each entry’s
   preview, which the search endpoint returns as a set of value rows, as if it were
   a string; React refused it and took the whole screen down. Any site with at least
   one stored submission hit this. The preview is now joined into a readable line.
 * Email smart tags such as {field_3} resolve again. The field lookup they read 
   was built with wp_list_pluck() and a null field, which returns a row of nulls
   rather than the fields themselves, so every tag fell through and was delivered
   as literal text. The same call broke CSV entry import, which skipped every mapped
   column.
 * Front-end submissions no longer report failure when they have in fact succeeded.
   The lookup above also emitted PHP warnings, and on a site that displays errors
   those were printed ahead of the JSON response, so the browser could not parse
   the reply and showed the validation error instead.
 * Choice, lookup and product fields no longer pass null to strlen(), deprecated
   since PHP 8.1. The same pattern was corrected in CSV import and in the conditional
   logic evaluator.
 * The Analytics screen no longer requests form_id=0 before the form list has loaded,
   which answered 404 on every visit.
 * Removed a stray `aria` prop on number settings that React warned about.

#### 1.0.8

 * Corrected four dead links in the External Services list. Constant Contact’s terms
   moved to /legal/terms, GetResponse’s terms are served from /legal, and Notion’s
   terms and privacy policy are now linked at their current addresses. Every link
   in the readme was checked with a request, not by eye.
 * The entries shortcode now passes each field value through wp_kses_post() before
   it is returned, so the value is escaped at the point of output rather than relying
   on the field type that produced it.

#### 1.0.7

 * CAPTCHA now works end to end. Site and secret keys have a place to be entered,
   under Settings  Spam protection keys; the provider’s widget script is loaded 
   on pages that render the field; and the token is verified with the provider before
   a submission is accepted. reCAPTCHA v2 and v3, hCaptcha and Cloudflare Turnstile
   are supported. Previously the field always fell back to the maths question because
   there was nowhere to save keys.
 * The site-wide CAPTCHA choice now matches the values the field understands, so
   picking a provider on the settings screen has an effect.
 * Akismet checking is implemented. The key is entered on the same screen and confirmed
   with Akismet before it is stored, and submissions are checked before they are
   stored, ahead of the AI classifier.
 * The readme now names the scripts a page loads from a payment or CAPTCHA provider,
   separately from the endpoints this site calls itself.
 * Added a Plugin URI to the plugin header.

#### 1.0.6

 * AI features now go through the AI Client in WordPress 7.0 when a connector is
   set up, so the provider and its credentials are chosen once at site level and
   shared by every plugin. Saving a key directly for OpenAI, Anthropic, Groq, Gemini
   or Mistral still works, and is what older WordPress versions use.
 * Removed the per-form custom CSS box. WordPress has its own CSS editor in the 
   Customizer and the Site Editor, and the directory no longer allows plugins to
   store arbitrary CSS.
 * A form’s generated design CSS is now enqueued through wp_add_inline_style() instead
   of being printed as a style tag next to the form.
 * The behaviour metadata a form passes to the front-end script moved from an inline
   JSON script tag to a data attribute.
 * Analytics events now carry the form nonce and are rejected without it.
 * Uploaded file names and MIME types are sanitised as they are read, before anything
   else looks at them.
 * Every REST route names its permission callback inline, so what guards each endpoint
   is readable at the point of registration.
 * The readme now lists the terms and privacy policy of every external service, 
   one by one.
 * The author URI points at ozysolutions.com.

#### 1.0.5

 * Tested against WordPress 7.1.
 * The block preview now carries the form stylesheet. WordPress 7.1 always serves
   the post editor inside an iframe, which no longer inherits front-end styles, 
   so the stylesheet is declared on the block itself.
 * The AI Generator uses the full screen. On a wide display the composer and the
   provider keys sit side by side instead of stacking in a narrow column.
 * The settings screen fills the width, laying the groups out in columns instead
   of one long strip.
 * The Email & SMTP screen puts the sending provider and the test message next to
   each other.

#### 1.0.4

 * Rebuilt the field settings panel. It now renders the settings each field type
   declares, so the colour picker, image and icon choices, rating, slider, option
   scale, signature, repeater, field group, hidden, lookup, post, chained dropdowns,
   calculation, payment, total, product, HTML, heading, section and page break fields
   all have their own controls instead of the same four generic ones.
 * Added an options editor that carries per option images, icons, prices and default
   selections, with the WordPress media library behind the image picker.
 * Added nested field editing for the repeater and field group, level and dataset
   editing for chained dropdowns, and a data source picker for hidden fields.
 * Fixed the white screen on the Email & SMTP screen. Choosing a provider tried 
   to render its setup guidance, which is a structured object, as plain text and
   took React down with it.
 * Fixed the choice list appearing on fields that have no choices, such as the option
   scale and the slider.
 * Fixed analytics reporting zero views, starts, conversion, completion and abandonment.
   Views are now recorded when a form is rendered and the page reports starts, field
   activity, submissions and errors back.
 * Added the front-end behaviour several fields were rendering markup for but never
   received: signature drawing, the slider readout, the rating readout, repeater
   rows, chained dropdown refills, searchable dropdowns, colour swatches, quantity
   steppers, the password reveal and strength meter, the character counter, input
   masks and upload drag and drop.
 * Fixed the colour picker ignoring the required rule. A native colour input always
   reports a value, so an untouched field now stays genuinely empty.
 * Added image and logo selection, alternative text, sizing and divider colour to
   the email template blocks.
 * Fixed a page break at the end of a form producing an empty final step.
 * Options, transients, tables and request keys moved from the `of_` prefix to `
   ozyf_`. `of_` is short enough to belong to something else on the same site. Stored
   data does not carry over, so deactivate and reactivate after updating.
 * Translations load through WordPress instead of load_plugin_textdomain(), which
   fired too early to be useful.
 * Every directory carries an index.php, so a server with directory listing enabled
   cannot enumerate the plugin.
 * The bundled translation template was several releases out of date and now covers
   every string.

#### 1.0.3

 * Fixed the fatal error that broke every page holding a form. Form_Renderer called
   a method that was never written, so the shortcode, the block, the widget and 
   every page builder element crashed with “There has been a critical error on this
   website”.
 * Wired the shortcode’s ajax attribute through to the renderer.
 * Removed a byte order mark from readme.txt.

#### 1.0.2

 * Replaced the blue accent throughout the admin screens with the OZY Solutions 
   palette.
 * Added the “OZY Default” colour preset and made it the default for new forms.
 * Front-end forms now start from the brand palette instead of the old blue.
 * Rebuilt the settings screen as aligned rows with an explanation under every option,
   and replaced the checkboxes with toggles.
 * Fixed the privacy, honeypot and credit-line defaults, which were shown on the
   settings screen but never applied to new forms.
 * Removed the “Analyse entries automatically” option, which had no implementation
   behind it.
 * Added a settings reference to the documentation.
 * Added AI provider key management, so Groq, Gemini, Mistral, OpenAI and Anthropic
   keys can be entered, tested and removed from the AI Generator screen.
 * Added an Email Templates screen exposing the twenty shipped templates with live
   previews.
 * Added a block based builder for custom email templates.

#### 1.0.1

 * Built the entries, templates, AI generator, analytics, email, payments, integrations,
   migration, settings and help screens.
 * Added settings, analytics, email, payment and integration REST routes, including
   credential entry for gateways, services and SMTP providers.
 * Fixed admin requests losing the ozy-forms/v1 namespace, which made every screen
   load forever.
 * Failed requests now report the reason instead of leaving a screen on “Loading”.
 * Scripts and styles are versioned by file modification time so updates are not
   served from cache.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.9**
 *  Last updated **17 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [ai forms](https://wordpress.org/plugins/tags/ai-forms/)[contact form](https://wordpress.org/plugins/tags/contact-form/)
   [form builder](https://wordpress.org/plugins/tags/form-builder/)[Multi-Step Form](https://wordpress.org/plugins/tags/multi-step-form/)
   [payment form](https://wordpress.org/plugins/tags/payment-form/)
 *  [Advanced View](https://wordpress.org/plugins/ozy-forms/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ozy-forms/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ozy-forms/reviews/)

## Contributors

 *   [ Danish Rangaiz ](https://profiles.wordpress.org/idanishrangaiz/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ozy-forms/)