EP Support
EP Support is an AI chatbot embedded in the PageMotor admin for you, the site owner. Ask it how to do something (“How do I set up Stripe in EP Booking?”) and it answers in context, with knowledge of every EP Suite plugin. Distinct from EP Assistant which is the customer-facing AI — this one is just for you.
Published by ElmsPark Studio.
Overview
Section titled “Overview”- Admin-only chat panel.
- Full EP Suite knowledge base built in — every plugin, every setting, every common pitfall.
- Aware of your site’s plugins — it can see what you have installed and tailor answers.
- Code samples for customisations.
- Debugging help — paste an error message, get a likely cause.
Think of it as: “the documentation you’re reading now, but talk-to-able.”
Requirements
Section titled “Requirements”- PageMotor 0.8.2b or later
- EP Suite base class
- An LLM provider API key (Anthropic, OpenAI, or supported alternatives)
Installation
Section titled “Installation”ep-support.zipcomes with an EP Suite licence — ElmsPark supplies it directly (see EP Suite plugins); after install it updates through your site’s Updates screen.- Upload via Plugins → Manage Plugins. Activate.
- Open Plugin Settings → EP Support.
- Add your LLM API key.
Using it
Section titled “Using it”The EP Support chat appears in the admin nav. Click to open. Type your question.
Good questions:
- “How do I set up double opt-in on EP Newsletter?”
- “What’s the difference between EP Ecommerce and EP Ecommerce Products?”
- “My booking form isn’t sending confirmation emails, what should I check?”
- “Show me how to use the LLM prompt extension hook in EP Cards.”
The AI has the knowledge base of every EP plugin and can tailor its answer. It can see which plugins you have active; it won’t recommend setup in a plugin you don’t own.
Settings
Section titled “Settings”- LLM provider and API key.
- Model — Sonnet is the default balance.
- Rate limit — queries per admin per hour.
Privacy
Section titled “Privacy”The plugin sends your questions and relevant context about your plugin setup to the LLM provider. It does NOT send:
- Customer data, order details, or any PII.
- Your database contents.
- Content of pages you’re editing.
Just: your question, what plugins you have installed, and relevant excerpts from the EP Suite knowledge base.
How it differs from EP Assistant
Section titled “How it differs from EP Assistant”| Feature | EP Support | EP Assistant |
|---|---|---|
| Audience | You (the admin / site owner) | Your customer |
| Purpose | Help you use your plugins | Help customer manage their site |
| Tools | Read-only, answers questions | Read + write tools to take actions |
| Context | Your plugin inventory | Your customer’s site setup |
| Typical question | ”How do I configure X?" | "Write a blog post about Y” |
Troubleshooting
Section titled “Troubleshooting”“Chat panel doesn’t appear”
Section titled ““Chat panel doesn’t appear””Plugin needs to be active and API key set. Check both.
“Responses are slow”
Section titled ““Responses are slow””Depends on LLM provider. Switching from Opus to Sonnet speeds things up noticeably.
“Answer is outdated compared to a recent plugin update”
Section titled ““Answer is outdated compared to a recent plugin update””The knowledge base updates with plugin releases but there’s a lag. Use the most recent plugin documentation as the source of truth; EP Support is a conversation aid.
“Answer is confidently wrong”
Section titled ““Answer is confidently wrong””LLMs hallucinate. Never act on an answer from EP Support for anything destructive without verifying in the real docs. Especially for config changes.
“I want the AI to know my specific custom setup”
Section titled ““I want the AI to know my specific custom setup””Add context in the Extra system prompt setting: “This site sells made-to-measure curtains. Prices are in GBP. Orders are handled through EP Booking for consultations, not EP Ecommerce.”
Feedback and corrections
Section titled “Feedback and corrections”For anything bigger than a quick chat question — a bug report, a feature request, or a “how do I…” that needs a real reply — open a ticket at help.elmspark.com. A real person, helped by AI, writes the reply. Usually within a few hours. Tickets don’t disappear into the void.
Changelog
Section titled “Changelog”1.1.32
Section titled “1.1.32”- Chat escalation emails now use EP Email’s sending method. When someone escalated a support chat, the email to you went through your server’s built-in mail, or through a connection that could not sign in, instead of the sending method set in EP Email. It now goes out through EP Email, using the sending method you set there (Mailgun, Brevo, SMTP and so on), and shows in EP Email’s delivery log.
1.1.31
Section titled “1.1.31”- Security: the plugin no longer contains a built-in access key for the ElmsPark AI service. The support assistant now connects with a credential issued to your own site, which it requests and renews by itself. Nothing to set up: the first time someone uses the assistant after the update, it connects automatically.
- If the assistant cannot reach ElmsPark for a moment, it now says so plainly instead of showing a generic error.
- If you run your own copy of the AI proxy and set
EP_SUPPORT_AUTH_TOKENin your config, nothing changes for you.
1.1.30
Section titled “1.1.30”- Security: the support assistant now answers only signed-in administrators. Previously the chat could be called directly by someone who was not signed in to your site. They could use the assistant without being an administrator, and by sending the request to an admin address they could get answers drawing on the list of EP plugins installed on your site, their version numbers, and the configuration notes the assistant uses to tailor its replies (for example “SMTP not configured”). Passwords, keys and customer data were never part of that information. The chat now checks that the request comes from a signed-in administrator before doing anything else.
- Does nothing while the assistant is switched off. If you have turned the chatbot off in this plugin’s settings, the chat now refuses every request rather than only hiding its button.
- If your admin session expires while the chat panel is open, the assistant now asks you to sign in again.
- No settings change is needed.
1.1.29
Section titled “1.1.29”- Fixes the chat assistant telling you EP Ecommerce Stripe and EP Ecommerce Subscriptions have no webhook secret when one is saved. 1.1.28 fixed this in the diagnostic report; this release fixes it in the chat itself. Previously, when you asked the assistant about payments, it could suggest adding a webhook signing secret you had already entered. It now reads the securely stored secret in the chat too, so it only raises the point when a secret really is missing.
- No settings change is needed.
1.1.28
Section titled “1.1.28”- Fixes the support diagnostic report wrongly saying EP Ecommerce Stripe and EP Ecommerce Subscriptions have no webhook secret configured. Both were read from a place that had already been superseded by secure, encrypted storage, so the note appeared even when a signing secret was correctly saved. It now asks each plugin for its securely stored value. The chat assistant’s own summary can still show that note; a fix for it is to follow.
- Fixes the developer-mode direct Anthropic API key sometimes not being picked up. On ElmsPark’s own EP_SUPPORT_DEV testing builds, a message sent right as the chat widget’s own AJAX request was handled could read the pre-decryption placeholder for the API key instead of the real one, falling back to production’s proxy routing. This does not affect customer sites, which do not use this setting. It now reads the securely stored value on that path.
- Settings language menu. The language menu in this plugin’s settings now lists only the languages it is actually translated into, plus English, so you can no longer pick a language that changes nothing.
- Danish. Adds a Danish translation.
- Removes a function call that PHP 8.5 reports as deprecated, so it no longer fills your error log.
1.1.27
Section titled “1.1.27”- Fixes a doubled cache-busting tag on its support-widget script and admin script. On PageMotor 0.11 and later the page asked for each file with two version tags on the end of its address (
?v=…?v=…), because the core had started adding its own tag and the plugin was still adding one too. The files loaded correctly, so nothing was visibly broken; the addresses were just malformed and every cache saw a longer key than it needed. The plugin now leaves the tag to the core on 0.11 and later, and still adds its own on older cores, where nothing else would. - No change to what these files do.
1.1.26
Section titled “1.1.26”- Fixes a crash on the chat form when an older EP plugin is installed on the same site. Sending a message returned an internal error and the message was lost. EP plugins share one common code library and whichever copy loads first is the one they all use, so a single out-of-date plugin could leave this one calling a spam check its copy did not have.
- The check now carries its own fallback, so it keeps working rather than being skipped.
1.1.25
Section titled “1.1.25”- Fixes stored keys and passwords reading as empty after a PageMotor 0.11.3 or 0.11.4 update. After the core update, every secret this plugin had encrypted at rest came back blank, so anything that needed it failed with an authentication error until the value was typed in again. Nothing was deleted: the encrypted value was still in the settings row, but PageMotor 0.11.3 moved the site secret that opens it, and this plugin was still looking in the old place. It now finds the secret in both places, so an existing value opens again without re-entry, and a value that was re-entered in the meantime keeps working and is moved back under the site secret.
- If you updated PageMotor and then re-entered a key or password, there is nothing to do. If you updated and have not re-entered it, this release restores it on the next page load.
1.1.24
Section titled “1.1.24”- Carries the suite-wide change to storing API keys encrypted, although this plugin was never exposed. Its API key field only exists on a developer install, so a normal installation has no such field and there was never anything to read. No change you will notice.