=== Centrex Smart Web Form Builder ===
Author URI: https://www.centrexsoftware.com/
Plugin URI: https://www.centrexsoftware.com/wordpress-plugin/
Contributors: centrexsoftware
Tags: form builder, crm, centrex, contact form, drag and drop
Requires at least: 5.6
Tested up to: 7.0.2
Requires PHP: 7.4
Stable tag: 1.6.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The Centrex Smart Web Form Builder allows you to build forms on your WordPress website, fully integrating your WordPress website with Centrex CRM.

== Description ==

The Centrex Smart Web Form Builder allows you to build web forms on your WordPress website where all the data and docs collected via that web form builder will be fully integrated into your Centrex CRM, LOS, or Mobile App. Though any web form can be built using the Centrex Smart Web Form Builder, most Centrex customers build forms for borrowers looking for money, Brokers or ISO's looking to partner up and do business, and/or investors or syndicates looking to invest in your business finance or fintech company.

= Features =

* **Drag-and-Drop Form Builder** - Build forms visually in the WordPress admin with an easy-to-use interface
* **CRM Integration** - Form submissions are sent directly to your Centrex CRM account
* **Multiple Field Types** - Text, email, phone, date, number, textarea, dropdowns, checkboxes, radio buttons, headers, and paragraphs
* **Field Sets** - Quickly add common field combinations like name, email, phone, and full address
* **Custom CRM Field Mapping** - Map form fields to your Centrex CRM custom fields
* **URL Pre-Population** - Dynamically populate form fields from URL parameters
* **Shortcode Support** - Embed forms anywhere with `[centrex_smart_app id="123"]`
* **Gutenberg Block** - Native block editor support with form picker and direct edit link
* **WPBakery Integration** - Native WPBakery Page Builder element
* **Configurable Logging** - Debug form submissions with built-in error, info, and debug logging
* **Email Fallback** - Form data sent via email if API submission fails

= Premium Features =

Upgrade to [Centrex Smart App Builder Premium](https://www.centrexsoftware.com/wordpress-plugin/) to unlock:

* **Contact Updates** - Update an existing CRM contact from a link, with identity verification before the form is shown or submitted
* **File Uploads** - Allow users to upload documents with drag-and-drop file upload fields
* **Multi-Page Forms** - Split long forms across multiple pages with page break fields
* **Conditional Fields** - Show or hide fields based on other field values
* **Plaid Bank Linking** - Integrate Plaid for financial account verification
* **Clixsign Document Signing** - Send documents for digital signature after form submission

= Docs and Support =

If you have any questions regarding the Centrex Smart Web Form Builder you can email support@CentrexSoftware.com. You can also view the [Centrex webpage here](https://www.centrexsoftware.com/wordpress-plugin/) for the Smart App Builder to purchase the premium version of this plugin.

= We Need Your Feedback and Support =

The quality and upkeep of the Centrex Smart Web Form Builder relies heavily on good feedback from Centrex customers and users. If you have an idea or would like the dev team to make an enhancement, please email support@CentrexSoftware.com, and they will assist with your idea or requirement.

= Privacy Notices =

With the default configuration, the Centrex Smart Web Form Builder does not:

* Track users by stealth
* Write any user personal data to a database outside the Centrex CRM/LOS
* Send any data to external servers unless using the Plaid element in the premium form builder
* Use Cookies

If you have configured the Centrex Smart Web Form Builder in such a way where it is pulling financial data and/or credit data, then IP addresses and sessions are created and stored. To keep your customers' financial and credit data secure, the Centrex Smart Web Form Builder will communicate with a Centrex owned, SOC II Type II compliant Microsoft Azure server. The vendors that require a Microsoft Azure secure connection are:

* Plaid
* Meridian Link
* CLEAR

We highly recommend having a privacy policy disclaimer on your web form near the call-to-action button.

== Installation ==

1. Go to `Plugins` in the Admin menu
2. Click on the button `Add new`
3. Search for `Centrex Smart Web Form Builder` and click 'Install Now' or click on the `upload` link to upload `centrex-smart-web-form-builder.zip`
4. Click on `Activate plugin`
5. Go to the **Centrex** menu in your admin sidebar
6. Enter your Centrex API credentials on the Settings page
7. Navigate to **Form Builder** to create your first form

== Frequently Asked Questions ==

= Do I need a Centrex Software CRM Account to use this plugin? =

Yes, please go [here](https://www.centrexsoftware.com/request-a-demo/) to schedule a demo and get started with our CRM. You can still use the form builder without credentials, and submissions will be sent via email to the address configured in plugin settings.

= Is there a limit on how many fields I can add using the free version? =

No, you can add as many fields as you would like. However, if you wish to break your form into multiple pages, you will need the [premium version](https://www.centrexsoftware.com/wordpress-plugin/).

= Does the free version support uploading files to the CRM? =

No, you will need to purchase the [premium version here](https://www.centrexsoftware.com/wordpress-plugin/) to upload files directly to the CRM.

= Do I need my own Plaid Account or do I use the Centrex Plaid Account? =

We recommend using the Centrex Plaid account as we get volume discount pricing, and we are month to month when Plaid will require a long term contract if you are on your own.

= How do I embed a form on my site? =

Use the shortcode `[centrex_smart_app id="123"]` where 123 is your form's ID. You can find the ID on the Form Builder list page. You can also use the Gutenberg block or WPBakery element.

= Can I use this alongside the premium plugin? =

We recommend using only one version at a time. If both are active, you will see a notice asking you to deactivate one to avoid conflicts.

== API Calls ==

* Plaid API - This API is called when a user interacts with the Plaid Link element to pass tokens between Plaid and the Centrex CRM.
    Production: https://api-app.centrexsoftware.com
    Staging: https://api-staging.centrexsoftware.com
    Dev: https://app-gateway-centrex-dev.azurewebsites.net
    Privacy Policy: https://www.centrexsoftware.com/privacy-policy/
* Centrex API - This API is used when a front-end user submits the form to send the form data from your WordPress website directly to the CRM.
    Production: https://api.centrexsoftware.com
    Privacy Policy: https://www.centrexsoftware.com/privacy-policy/
* Custom Datasource URL (optional) - If you enter a datasource URL in a form's settings, that form's submissions are POSTed to the URL you configured instead of the Centrex API. The destination is entirely of your choosing.

No other external requests are made. The plugin contains no tracking, analytics, or usage reporting.

== Source Code for Bundled Libraries ==

This plugin bundles the following third-party libraries in minified form. Their unminified sources are available at:

* jQuery Validation Plugin v1.19.3 (MIT) - https://github.com/jquery-validation/jquery-validation
* Select2 v4.1.0-rc.0 (MIT) - https://github.com/select2/select2
* jQuery UI v1.13.0 CSS theme (MIT) - https://github.com/jquery/jquery-ui

== Changelog ==

= 1.6.3: July 27, 2026 =

Reliability update for forms that submit to a data source.

**Fixed**
* Intermittent fault that could record a single submission twice.
* A submission is now only counted as successful when the data source confirms it with a contact record.

= 1.6.2: July 20, 2026 =

Maintenance and hardening update.

**Changes**
* "Contact Updates via URL" now lives in Centrex Premium, where updating an existing contact is paired with identity verification. Forms in the free plugin always create a new contact, and existing forms are switched to create-only on update.
* Logging is off by default, log files are kept in a protected directory, and any existing log files are cleared during the update.
* When a submission cannot reach the CRM and falls back to email, the applicant is now told their information was received and is pending, rather than shown a success message.
* General security and privacy hardening across form submissions, logging, and administrative actions.

**Note:** if you relied on updating existing contacts by URL, that capability now lives in Centrex Premium.

= 1.6.0: July 1, 2026 =

Maintenance and feature update that brings the free plugin in line with the latest Premium release.

**New**
* Duplicate any field in the form builder. Hover a field and click the Duplicate button to clone it (options, width, required flag, and conditional rules included).
* SSN and EIN field types (Text subtypes) with auto-formatting masks and clean-digit submission to the CRM.
* Number and Currency field types, with dollar sign and comma formatting on Currency.
* Auto-generate a field name from its label.

**Improved**
* The builder now warns before saving a co-applicant field whose name would not map at the CRM.
* General cleanup to reduce the plugin size.
* Security hardening: CSRF nonce protection on the contact-fields endpoint, output escaping, and direct-file-access guards.

**Fixed**
* PHP 7.4 compatibility fix on the form submission path.
* Form builder reliability fixes (drag-and-drop, legacy date fields).
* Deleting the free plugin no longer removes your forms or settings when the Premium plugin is still installed (both use the same data).
* Hardened the admin form save, clone, and delete actions with stricter request validation.

= 1.5.0: March 23, 2026 =

Complete rebuild of the plugin. This is a major release that replaces the original v1.0 architecture with the same codebase that powers the Centrex Smart App Builder Premium plugin.

* New drag-and-drop form builder with modular architecture
* Undo/redo support with full history stack
* CRM field mapping with searchable dropdown
* Field sets and presets for common fields (name, email, phone, address)
* URL pre-population for hidden and visible fields
* Contact update support via URL parameters
* Form settings flyout panel with organized tabs
* Gutenberg block editor support with branded placeholder and edit link
* WPBakery Page Builder integration
* Configurable logging with three log levels
* Forms list page with clone, delete, and copy shortcode actions
* Clean data removal on plugin uninstall

= 1.0: October 21, 2021 =
* Initial release
