Administration
Dashboard
Section titled “Dashboard”The dashboard opens when you navigate to SlideMind > Dashboard. It shows usage stats, recent activity, and links to common actions.
KPI cards
Section titled “KPI cards”Five cards display metrics for the last 30 days:
| Card | Description |
|---|---|
| Active slides | Number of published slides, with a breakdown of courses and modules |
| API calls | Total calls to the AI in the last 30 days |
| Tokens used | Total tokens consumed (prompt + completion) |
| Estimated cost | Total cost in USD, with a projected monthly cost based on the last 7 days |
| Success rate | Percentage of successful calls |
Error alert
Section titled “Error alert”If any errors occurred in the last 24 hours, a warning banner appears at the top with the error count and a link to the Analytics page.
Recent slides
Section titled “Recent slides”A table showing the 5 most recently modified slides, with direct links to edit or open in the Sandbox.
Leaderboard
Section titled “Leaderboard”The top 5 slides by API call count (last 30 days), useful for spotting which slides get the most traffic.
Quick access
Section titled “Quick access”Links to common actions: open the Sandbox, manage courses, view analytics, configure settings, manage memory, and browse templates.
Analytics
Section titled “Analytics”The Analytics page shows usage data, charts, error tracking, and a full call log.
Go to SlideMind > Analytics.
Period and filters
Section titled “Period and filters”Select a time range with the buttons (7, 14, 30, or 90 days), then narrow down with filters:
| Filter | Options |
|---|---|
| Config type | All, Courses, Modules, Slides, Sandbox |
| Specific config | Dropdown filtered by the selected type |
| Provider | All, OpenRouter, OpenAI, Anthropic, etc. |
| User | Filter by user ID or IP address |
Filters are hierarchical: selecting a course includes all its modules and slides.
Stats grid
Section titled “Stats grid”Six summary cards for the selected period and filters:
| Metric | Description |
|---|---|
| Total calls | Number of API requests |
| Successes | Successful responses |
| Errors | Failed requests |
| Total tokens | Prompt + completion tokens |
| Estimated cost | Total cost in USD |
| Avg. response time | Average response time in milliseconds |
Usage chart
Section titled “Usage chart”A dual-axis line chart showing daily trends:
- Left axis (blue line) — Number of API calls per day
- Right axis (green line) — Cost in USD per day
- X-axis — Daily labels in DD/MM format
Most used slides
Section titled “Most used slides”A table of the top 10 configurations by call count, showing the number of calls and total cost for each.
Recent errors
Section titled “Recent errors”The last 10 errors, showing the date, slide name, and error message. Useful for diagnosing issues like invalid API keys, model unavailability, or timeout errors.
Call log
Section titled “Call log”A paginated table (25 entries per page) of all API calls:
| Column | Description |
|---|---|
| Date | Timestamp of the request |
| Slide | Configuration name (linked to edit page) |
| Model | The LLM model used |
| User | WordPress user or IP address |
| Tokens | Breakdown: request tokens / response tokens |
| Cost | Estimated cost in USD |
| Response time | In milliseconds |
| Status | Success or error (error rows are expandable to show the full message) |
Filter the log by status (All, Success, Errors) using the buttons above the table. The entire log section can be collapsed.
Settings
Section titled “Settings”Go to SlideMind > Settings to configure global options. This page requires administrator privileges (manage_sm_settings capability).
API Keys tab
Section titled “API Keys tab”Manage API keys for each LLM provider. SlideMind supports multiple providers at the same time:
| Provider | Description |
|---|---|
| OpenRouter | Unified gateway to 100+ models from all major providers (OpenAI, Anthropic, Mistral, Google, Meta, etc.). Recommended. |
| Anthropic | Direct access to Claude models |
| Direct access to Gemini models | |
| Mistral | Direct access to Mistral models |
| OpenAI | Direct access to ChatGPT models |
For each provider:
- Enter the API key in the password field (masked for security).
- Click Test to verify the connection. A successful test shows your account balance or credits.
- A help link takes you to the provider’s API key generation page.
API keys are encrypted at rest using AES-256 and never leave your server. See Security & Privacy for details.
Defaults tab
Section titled “Defaults tab”Set global defaults that apply to all new slides. These can be overridden per slide.
AI model settings:
| Setting | Description |
|---|---|
| Default provider | Which LLM provider to use by default |
| Default model | The model to select by default, grouped by provider with pricing badges |
| Temperature | Creativity level, from 0 (deterministic) to 2 (creative). Slider with 0.1 increments. |
| Max tokens | Maximum response length (1 to 128,000) |
Default authoring tool:
Which authoring tool the code generator should target by default:
- Articulate Storyline
- Adobe Captivate (beta)
- Lectora / ELB Learning (beta)
- DominKnow | Claro (beta)
- iSpring Suite (beta)
Chat mode automatically uses the embeddable HTML widget regardless of this default.
Widget appearance defaults:
| Setting | Description | Default |
|---|---|---|
| Accent color | Header, buttons, and user message bubbles | #4f46e5 |
| AI bubble color | Background of AI message bubbles | Theme-dependent |
| AI text color | Text color inside AI bubbles (for contrast control) | Theme-dependent |
| Theme | Light or dark | Light |
| Border radius | Rounded corners for bubbles and inputs (0—24 px) | 12 px |
| Show header | Display the header bar in the widget | Yes |
These defaults follow a cascade: URL parameter > slide-level override > global default > hardcoded fallback. See Widget URL parameters for details.
Advanced tab
Section titled “Advanced tab”Log retention — Number of days before API call logs are automatically deleted (7 to 365 days). A daily cron job handles the cleanup.
Learner memory retention — How long to keep inactive learner memory records (GDPR/Loi 25 compliance):
| Option | Behavior |
|---|---|
| Keep forever | Keep data indefinitely |
| 30 / 90 / 180 / 365 days | Auto-purge records with no activity after this period |
Anonymous session lifetime — How long to keep memory data from anonymous sessions (learners without login). Anonymous sessions are identified by a UUID stored in the browser’s localStorage. Options: 1h, 6h, 12h, 24h (default), 48h, 72h, 168h (7 days). A daily cron job purges expired sessions.
Chat rate limit — Maximum API calls per minute, per IP, per slide. Set to 0 to disable. Prevents abuse and runaway costs.
Enable Sandbox — Toggle the Sandbox testing environment on or off.
CORS configuration — See the CORS Management section below.
Widget consent banner — Enable or disable the privacy consent overlay on the HTML Widget. When enabled, learners must acknowledge that their messages are processed by an AI before they can interact. Disable this if your site already manages consent globally (e.g. via a cookie consent plugin).
Response formatting — Two toggles to strip markdown formatting from LLM responses (both enabled by default):
| Setting | Description |
|---|---|
| Strip markdown (Q&A) | Removes markdown (bold, headings, lists, code blocks, etc.) from responses sent to authoring tools. Recommended because Storyline, Captivate, and other authoring tools display raw text — learners would see **like this** instead of formatted text. |
| Strip markdown (Chat) | Removes markdown from responses displayed in the chat widget. Disable if you plan to render HTML in the widget. |
When enabled, SlideMind applies two mechanisms: a preventive instruction appended to the system prompt asking the LLM to avoid markdown, and a server-side regex filter that strips any remaining markdown as a fallback. For structured responses (return variables), only text-type fields are stripped — number, boolean, and enum fields are left intact. The strip runs before auto-save, so learner memory stores clean text too.
SCORM identification — How SlideMind identifies learners from e-learning modules:
| Strategy | Description |
|---|---|
| Automatic | Tries email, username, numeric ID, and common meta keys in sequence |
| Match by email address | |
| WordPress username | Match by login name |
| WordPress numeric ID | Match by user ID |
| Custom meta field | Match by a specific user meta key (enter the key name) |
System information — A read-only table showing the plugin version, PHP version, WordPress version, OpenSSL extension status, and the REST API endpoint URL.
License tab
Section titled “License tab”Manage your SlideMind license to unlock paid features. Without a license, the plugin runs on the Free plan with full access to its intended scope (same-origin e-learning).
Plan badge — Shows your current plan (Free, Dialogue, Memory, Pro, or Agency) with a color-coded badge. If a license is active, a status badge (Active, Expired, or Invalid) appears next to it.
Activating a license:
- Enter your license key in the input field.
- Click Activate.
- The plan badge updates to reflect the unlocked plan, and the key is displayed in masked form.
Deactivating a license:
Click Deactivate to remove the license key and revert to the Free plan. Your existing courses, modules, custom templates, memory scopes, and other Pro data remain stored in the database and become accessible again after re-upgrading. This frees up the activation slot so the key can be used on another site.
License keys are encrypted at rest using AES-256, the same way API keys are stored.
Plans and features:
| Plan | Price (USD/yr) | What it unlocks |
|---|---|---|
| Free | $0 | Unlimited Q&A / Chat / Capture slides, unlimited memory variables (global scope), 5 native WordPress profile fields, 6 built-in prompt templates, sandbox, AI-assisted prompt generation, full JSON export, same-origin embed shortcode |
| Dialogue | $49 | Everything in Free + courses, modules, custom prompt templates, LLM comparison in the sandbox |
| Memory | $49 | Everything in Free + LMS / community profile fields (LearnDash, TutorLMS, LearnPress, LifterLMS, Sensei, BuddyPress, Ultimate Member, Profile Builder), Learner Detail page and conversation history |
| Pro | $89 | Everything in Dialogue + Memory + analytics dashboard, debug panel (tokens, cost, latency), External LMS integration (Moodle, Docebo, Cornerstone, SCORM Cloud), CORS whitelist UI, HMAC token generation, xAPI / SCORM identifier resolution, API key per course or module, Bridge Pro bundled (when Bridge plugin is installed) |
| Agency | $249 | Everything in Pro + API key per slide, API key cascade resolution, up to 5 WordPress sites, priority support |
All plans include your own LLM API key (OpenRouter recommended). SlideMind never charges per token.
Full feature matrix and comparison: see slidemind.app/pricing.
The Save settings button is hidden on the License tab — license activation and deactivation are handled via dedicated buttons with immediate feedback.
Developer override: Setting define('SM_PRO_ENABLED', true) in wp-config.php unlocks all features (equivalent to the Agency plan) without a license key. Intended for development and testing only.
Data tab
Section titled “Data tab”The Data tab mirrors the full Export & Import page. It lets you export any combination of courses, modules, slides, templates, and settings to a JSON file, then import with item-level preview and collision resolution (Skip, Duplicate, or Overwrite per item). For complete documentation, see Export & Import.
The Save settings button is hidden on the Data tab — export and import are handled via dedicated buttons.
CORS Management
Section titled “CORS Management”Cross-Origin Resource Sharing (CORS) controls which external domains can call the SlideMind API. E-learning modules are often hosted on a different domain (an LMS, a SCORM Cloud instance, or a local development environment) than your WordPress site, so CORS configuration is usually needed.
Why CORS matters
Section titled “Why CORS matters”When a learner opens an e-learning module on https://lms.example.com, the JavaScript calls the SlideMind API on https://yoursite.com. Browsers block these cross-origin requests by default. You need to whitelist the origin domain so the browser allows the request through.
Configuring allowed origins
Section titled “Configuring allowed origins”In SlideMind > Settings > Advanced, enter one domain per line in the CORS field:
https://lms.example.comhttps://staging.example.comhttps://scormcloud.com- URLs must include the protocol (
https://). - Trailing slashes are automatically stripped.
- Each URL is validated with PHP’s
FILTER_VALIDATE_URL.
CORS test mode
Section titled “CORS test mode”For local development and testing (e.g., previewing Storyline files from your hard drive), enable CORS test mode. This temporarily allows all origins for 24 hours:
- Click the Enable test mode button.
- A countdown timer shows how much time remains.
- After 24 hours, test mode automatically expires and normal CORS restrictions resume.
Warning: CORS test mode is not intended for production use. It allows any website to call your SlideMind API while active.
Common CORS errors
Section titled “Common CORS errors”| Error | Cause | Fix |
|---|---|---|
Access-Control-Allow-Origin header missing | Origin not whitelisted | Add the domain to the CORS allowed origins list |
| Blocked by browser | Trying to call from file:// protocol | Enable CORS test mode, or use a local web server |
| Works locally but not in LMS | LMS domain not whitelisted | Add the LMS domain (check the exact URL including protocol) |
Learner Data Management
Section titled “Learner Data Management”Go to SlideMind > Memory to manage learner data. This page has multiple tabs; the Learner Data tab covers administration.
For memory definitions, slide-defined variables, profile variables, and code generation features, see Learner Memory — Memory Hub.
Learner list
Section titled “Learner list”A paginated, searchable table of all learners who have stored memory data:
| Column | Description |
|---|---|
| Learner | Name and avatar (authenticated) or “Anonymous (abc12de8…)” for anonymous sessions |
| Global variables | Count of global-scope variables |
| Course variables | Count of course-scope variables |
| Module variables | Count of module-scope variables |
| Total | Total variable count |
| Last activity | Timestamp of the most recent memory update |
| Actions | View detail, WordPress profile (authenticated only), export, purge |
Use the search bar to find learners by name or email. You can also search by session ID prefix to find anonymous sessions. Pagination defaults to 20 per page (max 100).
Learner detail view
Section titled “Learner detail view”Click a learner to see all their stored memory variables:
- Filter by scope (global, course, module).
- Edit a variable value manually (inline editing).
- Delete individual variables.
- Purge all data for this learner (with confirmation dialog).
- Export all data as a JSON file.
GDPR / Loi 25 compliance
Section titled “GDPR / Loi 25 compliance”The learner data management tools support privacy compliance:
| Action | How |
|---|---|
| View data | Learner detail page shows all stored variables |
| Export data | JSON export per learner (for data portability requests) |
| Delete data | Purge all data for a specific learner |
| Auto-purge | Configure retention period in Settings > Advanced |
| Consent | Widget consent banner (Settings > Advanced) |
For more on privacy and security, see Security & Privacy.
Next steps
Section titled “Next steps”- Getting Started — Installation and first slide setup
- Core Features — Learner Integration, Sandbox, Templates, Code Generator, Wizard
- Authoring Tool Guides — Integration code for each e-learning authoring tool
- Learner Memory — Persist data across slides, modules, and courses
- Variables — Variable system, profile variables, return variables
- Import / Export — Move configurations between WordPress sites
- Security & Privacy — Proxy architecture, encryption, GDPR