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 editor:
Which e-learning editor the code generator should target by default:
- Articulate Storyline
- Adobe Captivate (beta)
- Lectora / ELB Learning (beta)
- DominKnow | Claro (beta)
- iSpring Suite (beta)
- Universal widget (iframe)
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 e-learning editors. Recommended because Storyline, Captivate, and other editors 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.
Plan badge — Shows your current plan (Free, Personal, 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. 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 | Features |
|---|---|
| Free | Unlimited slides (no courses/modules), 5 memory variables, all LLM providers, basic sandbox, default templates |
| Personal ($39/yr) | Unlimited content, custom templates, full sandbox, return variables, AI prompt generation |
| Pro ($79/yr) | Capture mode, learner memory, profile variables, analytics, model comparison, API key per course |
| Agency ($199/yr) | Up to 5 sites, API key cascade, priority support |
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”Full backup and restore for all SlideMind data.
Export all data — Downloads a single JSON file containing all courses (with their modules and slides), custom templates, and memory definitions. API keys and learner data are never included. The file is named slidemind-backup-YYYY-MM-DD.json.
Import data — Select a previously exported backup JSON file:
- Choose the file — a preview shows the number of courses, modules, slides, templates, and memory definitions.
- Click Import data — all items are created as new entries; existing data is never overwritten.
- Built-in templates are skipped (only custom templates are imported).
- Settings included in the backup are for reference only and will not be applied.
For per-type exports (courses only, modules only, or slides only), use the Export all button in each list page. The exported files can be re-imported using the Import course(s) / Import module(s) / Import slide(s) buttons on the corresponding list page (requires Personal plan or higher). See Import / Export.
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