Skip to content

Administration

The dashboard opens when you navigate to SlideMind > Dashboard. It shows usage stats, recent activity, and links to common actions.

Five cards display metrics for the last 30 days:

CardDescription
Active slidesNumber of published slides, with a breakdown of courses and modules
API callsTotal calls to the AI in the last 30 days
Tokens usedTotal tokens consumed (prompt + completion)
Estimated costTotal cost in USD, with a projected monthly cost based on the last 7 days
Success ratePercentage of successful calls

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.

A table showing the 5 most recently modified slides, with direct links to edit or open in the Sandbox.

The top 5 slides by API call count (last 30 days), useful for spotting which slides get the most traffic.

Links to common actions: open the Sandbox, manage courses, view analytics, configure settings, manage memory, and browse templates.


The Analytics page shows usage data, charts, error tracking, and a full call log.

Go to SlideMind > Analytics.

Select a time range with the buttons (7, 14, 30, or 90 days), then narrow down with filters:

FilterOptions
Config typeAll, Courses, Modules, Slides, Sandbox
Specific configDropdown filtered by the selected type
ProviderAll, OpenRouter, OpenAI, Anthropic, etc.
UserFilter by user ID or IP address

Filters are hierarchical: selecting a course includes all its modules and slides.

Six summary cards for the selected period and filters:

MetricDescription
Total callsNumber of API requests
SuccessesSuccessful responses
ErrorsFailed requests
Total tokensPrompt + completion tokens
Estimated costTotal cost in USD
Avg. response timeAverage response time in milliseconds

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

A table of the top 10 configurations by call count, showing the number of calls and total cost for each.

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.

A paginated table (25 entries per page) of all API calls:

ColumnDescription
DateTimestamp of the request
SlideConfiguration name (linked to edit page)
ModelThe LLM model used
UserWordPress user or IP address
TokensBreakdown: request tokens / response tokens
CostEstimated cost in USD
Response timeIn milliseconds
StatusSuccess 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.


Go to SlideMind > Settings to configure global options. This page requires administrator privileges (manage_sm_settings capability).

Manage API keys for each LLM provider. SlideMind supports multiple providers at the same time:

ProviderDescription
OpenRouterUnified gateway to 100+ models from all major providers (OpenAI, Anthropic, Mistral, Google, Meta, etc.). Recommended.
AnthropicDirect access to Claude models
GoogleDirect access to Gemini models
MistralDirect access to Mistral models
OpenAIDirect 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.

Set global defaults that apply to all new slides. These can be overridden per slide.

AI model settings:

SettingDescription
Default providerWhich LLM provider to use by default
Default modelThe model to select by default, grouped by provider with pricing badges
TemperatureCreativity level, from 0 (deterministic) to 2 (creative). Slider with 0.1 increments.
Max tokensMaximum 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:

SettingDescriptionDefault
Accent colorHeader, buttons, and user message bubbles#4f46e5
AI bubble colorBackground of AI message bubblesTheme-dependent
AI text colorText color inside AI bubbles (for contrast control)Theme-dependent
ThemeLight or darkLight
Border radiusRounded corners for bubbles and inputs (0—24 px)12 px
Show headerDisplay the header bar in the widgetYes

These defaults follow a cascade: URL parameter > slide-level override > global default > hardcoded fallback. See Widget URL parameters for details.

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):

OptionBehavior
Keep foreverKeep data indefinitely
30 / 90 / 180 / 365 daysAuto-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):

SettingDescription
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:

StrategyDescription
AutomaticTries email, username, numeric ID, and common meta keys in sequence
EmailMatch by email address
WordPress usernameMatch by login name
WordPress numeric IDMatch by user ID
Custom meta fieldMatch 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.

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:

  1. Enter your license key in the input field.
  2. Click Activate.
  3. 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:

PlanFeatures
FreeUnlimited 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.

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:

  1. Choose the file — a preview shows the number of courses, modules, slides, templates, and memory definitions.
  2. Click Import data — all items are created as new entries; existing data is never overwritten.
  3. Built-in templates are skipped (only custom templates are imported).
  4. 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.


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.

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.

In SlideMind > Settings > Advanced, enter one domain per line in the CORS field:

https://lms.example.com
https://staging.example.com
https://scormcloud.com
  • URLs must include the protocol (https://).
  • Trailing slashes are automatically stripped.
  • Each URL is validated with PHP’s FILTER_VALIDATE_URL.

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.

ErrorCauseFix
Access-Control-Allow-Origin header missingOrigin not whitelistedAdd the domain to the CORS allowed origins list
Blocked by browserTrying to call from file:// protocolEnable CORS test mode, or use a local web server
Works locally but not in LMSLMS domain not whitelistedAdd the LMS domain (check the exact URL including protocol)

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.

A paginated, searchable table of all learners who have stored memory data:

ColumnDescription
LearnerName and avatar (authenticated) or “Anonymous (abc12de8…)” for anonymous sessions
Global variablesCount of global-scope variables
Course variablesCount of course-scope variables
Module variablesCount of module-scope variables
TotalTotal variable count
Last activityTimestamp of the most recent memory update
ActionsView 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).

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.

The learner data management tools support privacy compliance:

ActionHow
View dataLearner detail page shows all stored variables
Export dataJSON export per learner (for data portability requests)
Delete dataPurge all data for a specific learner
Auto-purgeConfigure retention period in Settings > Advanced
ConsentWidget consent banner (Settings > Advanced)

For more on privacy and security, see Security & Privacy.