MWD AI Assistant – Local Lead Generation

Description

MWD AI Assistant Free answers visitor questions using your own OpenAI API account, your system instructions, and approved manual answers.

  • One assistant with a floating widget and the [mwd_ai_assistant] shortcode.
  • Manual questions and answers with no paid answer-count quota.
  • Configurable colors, sizes, labels, and inherited website fonts.
  • Automatic visitor-language matching, site language, and RTL/LTR controls.
  • Recent history of up to 50 exchanges from the last seven days.
  • Encrypted API-key storage and an administrator Help & Support form.

OpenAI API usage is billed separately to your provider account. Free does not require a plugin license, expire after a trial, or unlock chat through a purchase.

Optional Pro edition

The separate Pro plugin adds website knowledge, lead collection, analytics, and additional business tools. Its plans are described on Upgrade. Paid implementations are not included in this Free download. Opening current pricing retrieves a public Freemius catalog; checkout confirms the current price and terms. If you already own Pro, install your purchased Pro download and use your existing license. Free does not download or install premium code.

On the same WordPress site, current Pro releases can migrate Free settings, encrypted credentials, manual training, and retained history while preserving existing Pro configuration. Back up before switching editions. Deactivate Free before activating Pro; Pro takes over the shared dashboard menu.

External services

OpenAI

When the assistant is enabled, an API key is configured, and a visitor sends a message, the server calls https://api.openai.com/v1/responses. It sends your configured system instructions, up to five relevant manual answers, the current visitor message, and up to twelve recent messages from that session. Common email addresses, North American phone numbers and Canadian postal codes are masked in visitor/history text before it is sent. Approved public manual-answer facts are kept intact. Your API key authenticates that server request and is not sent to the visitor’s browser.

Requests set store=false. This does not remove OpenAI’s separate abuse-monitoring retention; processing depends on your API account’s data controls. The site owner is responsible for the privacy notice, consent where required, and the provider account. A ChatGPT subscription does not include API credits.

  • API terms: https://openai.com/policies/services-agreement/
  • Privacy: https://openai.com/policies/privacy-policy/
  • API data controls: https://developers.openai.com/api/docs/guides/your-data

Freemius

Only when an administrator opens plans and current pricing, the plugin requests the public catalog from api.freemius.com. The request contains the public product ID/key, request date and plugin version. It does not include the site URL, administrator name/email, chat content, or private credentials. As with any network request, the service receives the server’s network address. Catalog results may be cached for five minutes.

Continuing to checkout opens checkout.freemius.com with the selected plan, price option, currency, site allowance, billing period, and return-navigation URL. Freemius handles information the purchaser enters there. Free contains no Freemius licensing/tracking SDK, remote updater, or activation requirement.

  • Terms: https://freemius.com/terms/
  • Privacy: https://freemius.com/privacy/

Maple Web Design support

Submitting the administrator support form deliberately sends an email to info@maplewebdesign.ca using your WordPress mail service. It contains the reply address, site URL, WordPress and plugin versions, subject, and message disclosed beside the form. Do not include API keys, passwords, license keys, or private customer data. Ordinary chat use sends no messages to Maple Web Design. Product and contact links open only when clicked.

Privacy

Review the External services and retention sections before publishing the assistant. WordPress Settings > Privacy includes suggested text from this plugin for your site’s policy. Do not request sensitive personal information through this chat. Neither session identifiers nor automatic pattern masking should be treated as proof that a conversation contains no personal data.

Source code and credits

Readable PHP, JavaScript, CSS, SVG, and Persian PO sources are included; no build step is required. Plugin code and supplied artwork are distributed under GPL-2.0-or-later. jQuery and the color picker are loaded from WordPress core, not bundled from external servers.

The public catalog client follows the Freemius public-scope API authentication protocol. Reference: https://github.com/Freemius/wordpress-sdk/tree/2.13.4 . Hosted checkout documentation: https://freemius.com/help/documentation/checkout/integration/hosted-checkout/ . No remote code is downloaded or executed.

Knowledge security

Only add customer-facing information to manual answers and business instructions. Never put confidential records or credentials in model context. Prompt-injection defenses reduce risk and do not guarantee resistance to every input. The chat model has no private database, admin or filesystem tools.

Installation

  1. Install and activate the plugin from Plugins, or upload its ZIP using Plugins > Add New > Upload Plugin.
  2. Open MWD AI Assistant in the WordPress dashboard.
  3. Enter your OpenAI API key, choose a model available to that account, and save. OpenSSL must be available to encrypt a saved key.
  4. Set the business instructions and add verified answers under Manual training.
  5. Select the display mode and turn on Enable assistant. For inline placement, use [mwd_ai_assistant] in a Shortcode block or Elementor Shortcode widget.
  6. Publish your privacy notice and test a complete conversation before enabling the assistant on your public site.

The WordPress.org folder is mwd-ai-assistant-local-lead-generation. If an older manual copy uses the folder mwd-ai-assistant, deactivate that copy before activating this package; keep it installed until the new version is verified. Settings, encrypted credentials, training and history are shared and preserved. To update an installation already using the WordPress.org folder, replace it with the newer version through WordPress. Do not uninstall it as an update step. Clear page and asset caches after updating.

FAQ

Why is the assistant unavailable?

Check Enable assistant, your saved API key, and the selected OpenAI model. After a failed provider request, the plugin’s administrator page shows guidance for connection, authentication, usage-limit, or response problems. Check OpenAI API billing and project permissions; a ChatGPT subscription is separate. Visitors receive a general error without private provider diagnostics.

How do I change or remove the API key?

Enter a replacement key and save. Leaving the field blank preserves the existing key. Disable the assistant to stop new chat and session requests, including requests from cached pages. To remove all saved plugin data, use the uninstall option described below. A key supplied through the optional MWDAIF_OPENAI_API_KEY constant in wp-config.php overrides the dashboard key; your site administrator must manage that constant. After moving to a site with different WordPress security salts, enter the key again.

How much conversation data is stored?

Active session context retains up to sixteen messages locally with the same common-identifier masking as administrator History. Each session expires seven days after creation; later messages do not extend it. Separately, administrator History stores up to 50 recent exchanges, with truncated questions/answers and a one-way hash of the session identifier. Common email addresses, North American phone numbers, and Canadian postal codes are masked in that history. This is not comprehensive anonymization.

Expired history is filtered and removed on access and by hourly WordPress cron. Expired sessions are rejected even if a cache still holds their data. Physical cleanup may be delayed by an inactive plugin, unavailable cron, or hosting backups. Configure reliable WordPress cron on low-traffic sites. Backups follow your host’s separate retention policy.

How are abusive requests limited?

Session creation and chat each allow up to 15 requests per IP fingerprint in a fixed calendar-minute window. Visitors behind the same public IP share that allowance. Counters use a keyed hash, not the raw IP, and become eligible for cleanup after one hour. Concurrent replies within the same session are serialized. These are technical safety and privacy bounds, with no paid unlock. Use your provider’s account controls and hosting protections to manage public-site usage. Requests already sent cannot be recalled by disabling or resetting the chat.

Is RTL supported?

Yes. Choose automatic direction or force RTL/LTR. The dashboard follows WordPress language direction. The widget inherits the website font and does not request Google Fonts or other external fonts.

What happens when I uninstall?

Configuration, the encrypted key, manual answers, and retained history are preserved by default for reinstalling. For removal, enable Permanently delete all Free plugin data on uninstall, save, then delete the plugin through WordPress. This removes those options and enumerated database transients on that site. Sessions held by an external object cache expire through that cache’s TTL; the plugin does not flush unrelated cached data. Cron events, technical counters, leases, and the last diagnostic category are removed independently of that preference. In Multisite, the deletion preference applies separately to each site.

If older editions left this product’s local licensing records, deleting the last Free/Pro edition clears the product-specific local connection while preserving shared account users and unrelated plugins. It does not cancel a subscription or release an activation remotely. An ordinary update preserves these records.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“MWD AI Assistant – Local Lead Generation” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.2.9

  • Load the dashboard menu icon stylesheet through the WordPress enqueue API instead of printing a style element.

1.2.8

  • Separate approved reference answers from system instructions, block common protected-data extraction prompts, and filter configured API credentials from model inputs and output.
  • Mask common visitor contact identifiers before provider transport and active-session storage; preserve approved public contact information in manual answers.
  • Existing encrypted-key storage, settings names and session lifetime remain unchanged.

1.2.7

  • Align the WordPress.org package folder, Text Domain and translation catalogs with mwd-ai-assistant-local-lead-generation.
  • Use WordPress on-demand translation loading with the bundled Persian catalog as a fallback.
  • Prevent conflicting Free classes when an older manually installed directory is still active.
  • Preserve existing settings, encrypted keys, training, history and the internal upgrade menu.

1.2.6

  • Keep private provider errors out of public chat and show safe troubleshooting guidance to administrators.
  • Validate response status and content; handle refusals and incomplete replies correctly.
  • Preserve backslashes in messages and use the selected model’s non-reasoning mode for short replies.
  • Protect concurrent session replies and history writes from overwriting each other.
  • Recover expired sessions in every interface language and prevent old requests from repopulating a reset chat.
  • Remove expiring public-page nonces and validate complete request origins and session parameters.
  • Preserve settings on partial saves and handle failed or repeated API-key sanitization safely.
  • Improve mobile sizing, labels, keyboard controls, optional browser-storage handling, and Persian translations.
  • Clarify external services, data retention, updates, and uninstall behavior.

1.2.5

  • Enforce the assistant’s enabled setting in both display modes and both public REST endpoints before storage or provider calls.
  • Add independent atomic per-minute chat/session abuse counters; remove stale counters during scheduled cleanup and uninstall.
  • Hide and remove expired history on access and add hourly, per-site cleanup; enforce a fixed seven-day session lifetime.
  • Clarify scheduling, backups, shared-IP limits and non-commercial retention in privacy documentation.
  • Restore WordPress.org View details unchanged and add Product website as a separate publisher link.
  • Remove the entire shared licensing SDK from Free; retain public live pricing and hosted Freemius checkout through a readable, narrowly scoped client. No SDK files in Pro or another plugin are edited.
  • Preserve Free settings, encrypted keys, training, valid history and the separate Pro upgrade flow.

1.2.4

  • Points product information to the Maple Web Design landing page and preserves the linked author attribution. While an edition is active, View details in this plugin’s installed-list row opens that page. Directory search and update-information dialogs remain unchanged.

1.2.3

  • Clear only this product’s local license state when the last core edition is deleted; preserve unrelated Freemius products and opt-in business-data retention.
  • Complete the first-party Persian catalog and replace stale SDK upgrade/download notices with the existing Upgrade guidance.

1.2.2

  • Rebuilt plan comparison with independent purchase choices, specific plan benefits and live published pricing.
  • Distinguished the installed Free edition from existing paid account licenses.
  • Disabled the SDK remote premium-installer action and automatic-install checkout flow in Free.

1.2.1

  • Removed all paid-feature preview menus and panels; product comparisons appear only on Upgrade.
  • Removed the commercial 20-answer quota and optional SDK trial promotion. Free chat is not license-gated.
  • Preserved existing settings, training, history and same-site Pro migration.

1.2.0

  • Historical 1.2.0 only: added paid preview menus. Removed in 1.2.1; not present in the current Free edition.
  • Documented automatic same-site migration to Pro 3.0.5 for settings, credentials, training and retained history.
  • Updated the WooCommerce preview: a separate add-on license works with any paid main plan.

1.1.4

  • Added optional, explicit data deletion during uninstall, including Multisite-aware cleanup.
  • Added a complete repository disclosure, privacy guidance, screenshots metadata, and WordPress 7.1 compatibility metadata.
  • Added OpenAI Responses API store: false to minimize provider-side application-state retention.
  • Hardened network activation for Multisite and retained the safe Free-to-Pro handoff.

1.1.3

  • Removed the floating widget’s white outline while retaining an accessible keyboard focus ring.
  • Replaced the raster launcher artwork with a crisp scalable SVG.
  • Refined the shortcode label typography and rebuilt the pricing-page presentation with a modern responsive layout.
  • Kept the Free-to-Pro handoff explicit and safe when Pro is activated.

1.1.2

  • Moved the shortcode into a prominent setup card with WordPress and Elementor instructions.
  • Added independent assistant-name, online-status, message, and launcher font-size controls.
  • Added a configurable floating-widget shadow color and true circular logo treatment.
  • Shows a masked API-key preview inside the saved credential field.
  • Modernized the Pro comparison and Freemius pricing screens.
  • Corrected Freemius boot timing, package basename registration, and admin menu icon sizing.

1.1.1

  • Connected the public product identifiers and moved the SDK to vendor/freemius.
  • Preserved the separate, fully functional WordPress.org Free codebase with no bundled Pro implementation.
  • Added the new default logo, corrected the color picker layout, and routed support to info@maplewebdesign.ca.
  • Removed em dash characters from first-party interface copy.

1.1.0

  • Added Freemius-compatible Free/Premium handoff and automatic Free deactivation when Pro is active.
  • Updated the bundled Freemius WordPress SDK to 2.13.4.
  • Added automatic and expanded multilingual conversation choices while preserving Unicode and RTL/LTR behavior.
  • Added an in-plugin Help & Support workflow.
  • Updated the shared menu slug so Free and Pro no longer create duplicate dashboard entries.

1.0.0

  • Initial WordPress.org-ready Free edition.
  • Added BYOK OpenAI chat, responsive floating/shortcode widget, RTL, manual training, and limited history.