Description
MWD AI Assistant adds a friendly chat assistant to your WordPress site. It answers visitor questions using the business instructions and approved answers you write, through your own OpenAI API account. There is no MWD account, license key or subscription to manage.
What you get for free
- One assistant, shown as a floating chat bubble, inline with the
[mwd_ai_assistant]shortcode, or both. - Business details and location: your name, phone, email and contact page, plus your location’s address, map link and weekly opening hours, which the assistant shares when visitors want to contact you, visit, order or book.
- Manual Knowledge: write approved questions and answers, with an optional public link the assistant can show.
- Business instructions that steer tone and scope, plus a language setting (match the visitor, the site language, or a fixed language).
- Full right-to-left support, automatic text direction, and a widget that inherits your site font.
- Appearance controls for colors, font sizes, width, height and position.
- Private visitor sessions: a visitor can start over or erase their own chat at any time.
- Recent History for administrators, grouped by conversation, with permanent erase.
- Safety limits you control: a daily token budget and per-visitor and per-IP message rates.
- Encrypted API key storage, WordPress privacy export and erase support, and automatic cleanup of expired conversations.
- A setup checklist, a connection test and a diagnostics page to confirm everything works.
Everything above works without payment to MWD. OpenAI bills API usage to your own account.
Optional Pro add-on
MWD AI Assistant Pro is a separate plugin that runs on top of this one. It adds website knowledge import, more AI providers, lead forms and a lead inbox, email delivery, reports, analytics, multiple assistants and white-label options. Core never contains locked Pro code, and it stays fully usable without Pro.
Privacy by design
- Your API key is encrypted on your server and never sent to the browser.
- Common email addresses, North American phone numbers and Canadian postal codes are masked in visitor messages before they are stored or sent to the AI service. Replies can include your own business contact details. This reduces exposure; it is not complete anonymization.
- Conversations expire after seven days by default (one to seven days, your choice).
- The browser keeps only a session token, never the transcript.
- No tracking, fonts or marketing calls load from third-party servers.
External services
This plugin connects to the following services only in the situations described.
OpenAI API
Used to generate chat replies. Requests go to https://api.openai.com/v1/responses only after you save an API key and enable the assistant, when a visitor sends a message, or when you click Test saved provider connection. Each request contains your business instructions, your site name and address, the business details and primary location you entered (such as phone, email, address and opening hours), up to five relevant approved answers, up to twelve recent messages of that conversation (with common contact details masked), the visitor’s message, and the definitions and results of available tools. The API key is sent as an authorization header from your server. Requests set store: false; OpenAI’s own abuse-monitoring retention may still apply. You are responsible for your OpenAI account, billing, and any notice or consent your visitors need.
- Terms of use: https://openai.com/policies/services-agreement/
- Privacy policy: https://openai.com/policies/privacy-policy/
- API data controls: https://developers.openai.com/api/docs/guides/your-data
Freemius (optional price lookup)
The Upgrade page can show current Pro add-on prices. Only when an administrator clicks View current Pro prices, the server sends one request to https://api.freemius.com/v1/plugins/38266/pricing.json using the product’s public key. No API key, conversation, email address, site account or license is sent; Freemius receives your server IP address and standard request details. Choosing an offer opens the Freemius checkout in a new tab.
- Terms of use: https://freemius.com/terms/
- Privacy policy: https://freemius.com/privacy/
Maple Web Design support email
Only when an administrator submits the Help & Support form and ticks the consent box, WordPress sends an email to info@maplewebdesign.ca containing the reply address, site URL, WordPress and plugin versions, subject and message. Ordinary chat never contacts Maple Web Design.
Installation
- Install and activate the plugin from Plugins > Add New, or upload the ZIP file.
- Open MWD AI Assistant > Setup and paste your OpenAI API key. You can create one at https://platform.openai.com/api-keys. A ChatGPT subscription does not include API credits.
- Click Test saved provider connection to confirm your key and model work.
- Write your business instructions under Assistant and add your business details, location and approved answers under Manual Knowledge.
- Turn on Enable assistant and choose Floating widget, Shortcode only, or both.
- For inline placement, add
[mwd_ai_assistant]to a Shortcode block or a page builder shortcode widget. - Review Privacy & Usage, then clear any page cache so visitors see the assistant.
Network-wide activation on multisite is not supported; activate the plugin on each site separately.
FAQ
-
Do I need an account with MWD?
-
No. You only need your own OpenAI API key. The plugin never contacts MWD during normal use.
-
How much does it cost to run?
-
The plugin is free. OpenAI charges your API account for each reply. The daily token safety limit (500,000 tokens by default) caps how much the assistant can use per day. Provider invoices are the authoritative record of your usage.
-
Check that the assistant is enabled, that a readable API key is saved, that your OpenAI account has billing and access to the selected model, and that today’s safety limit has not been reached. The Diagnostics page shows the last provider status without exposing the key.
-
How is my API key stored?
-
It is encrypted with AES-256-GCM using keys derived from your WordPress salts. Leaving the field blank keeps the saved key; Clear saved key removes it. If your salts change, enter the key again. You can also define
MWDAI_CORE_OPENAI_API_KEYin wp-config.php to manage the key outside the dashboard. -
How long are conversations kept?
-
Seven days by default, adjustable from one to seven days. Expired conversations become inaccessible immediately, and an hourly task deletes them. Deletion can be delayed while WordPress cron is disabled or the plugin is inactive, and your backups may keep older copies.
-
Does it work with page caching?
-
Yes. The widget loads its settings and a fresh session from the server, so cached pages stay correct. After changing appearance or display mode, clear your page cache.
-
Core uses the address PHP receives and does not trust forwarding headers, so visitors can share a per-IP limit behind a proxy. If you control the proxy, return the verified visitor address with the
mwdai_core_client_ipfilter, or raise the per-IP limit. -
Can the assistant take actions or submit forms?
-
Core answers questions and can show approved public links. It cannot submit forms or perform actions on its own. Extensions such as the Pro add-on can register confirmed actions, which always require the visitor to confirm first.
-
What happens when I uninstall?
-
By default all data is kept. If you tick Permanently delete Core data on uninstall under Privacy & Usage, uninstalling removes this plugin’s tables and settings on a single-site installation. On multisite, data is always kept. Other plugins, including the Pro add-on and its license, are not changed. Deactivating only stops the scheduled cleanup.
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.
ContributorsTranslate “MWD AI Assistant – Local Lead Generation” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.11.0
- New Business details and Location sections in Manual Knowledge, with weekly opening hours: the assistant always knows your contact details and shares them with visitors who want to visit, order, book or get in touch.
- The assistant no longer offers a request form this chat cannot send. It says so and points visitors to your contact details, and it uses your site name instead of placeholders.
- Setup now shows a Getting started checklist and a direct link to create an OpenAI API key.
- The floating chat keeps the same conversation while a visitor moves between pages.
- The widget sends its session token in its own header, so it works on sites that use HTTP Basic authentication, JWT or OAuth plugins, or hosts that strip the Authorization header.
- Expired login nonces in long-open tabs are refreshed automatically instead of failing.
- Network errors, timeouts and server error pages now show a clear message instead of technical text.
- Fixed the chat script failing to start on older Safari versions.
- A visitor can send a new message after an interrupted request without reloading the page.
- A reply that reaches the maximum output length is shown instead of reported as an error.
- Manual Knowledge now ranks the best matching answers in the database, ignoring common filler words.
- Shortcode-only mode loads the chat assets only on pages that show the assistant, and the page no longer makes a background request until a visitor chats.
- Added GPT-4.1 and GPT-4.1 nano model choices.
- Added the
mwdai_core_client_ipfilter for sites behind a trusted proxy. - Updated the Upgrade page for the Pro add-on and refreshed the bundled documentation.
2.10.0
- Extension API 1.9 for the Pro add-on: settings validation, conversation erase and bounded cleanup helpers.
2.0.0
- Rebuilt as an independent free Core with its own storage, one chat engine and a versioned extension API.







